soyMAIL 2.1.0 requires JavaScript
soyMAIL @ wasd.vsm.com.au
       info-WASD Mailing List 2022 

Sun 12:08:42 Message "2022 / 0068" opened.  MIME.  7 kbytes.    JavaScript

Subject:[Info-WASD] WASD distribution -- DCL and MMS0068 / 0000
From:Mark.Daniel@wasd.vsm.com.au
Reply-to:info-wasd@vsm.com.au
Date:Wed, 14 Dec 2022 22:13:03 +1030  [14-DEC-2022 22:13]
To:info-WASD@vsm.com.au

TL;DR  Available WASD stretches back to a distribution originally placed on
the FREEWAREV30 CD 1996.  It was always designed to allow installation on
systems lacking C compilers or other tools, and so was strung together using
DCL procedures.  A quarter century later it is still built and installed
using DCL.  Now, courtesy Mark Berryman, there is an MMS build option.

The item for this month covers WASD distribution.

Some of the detail stretches back to the days of the initial Freeware CDs
(project created by The Wizard -- aka. Stephen Hoffman), for WASD (then named
HFRD) the year 1998 specifically.  From the [HTTPD]FREEWARE_README.TXT

|HFRD Hypertext Services, SOFTWARE, VMS WWW Server and CGI applications
|The "HFRD VMS Hypertext Services" package is a GNU General Public Licensed
|collection of World Wide Web oriented software for supporting hypertext within
|a VMS environment.
|
|It includes a basic, multi-threaded HTTP server, for both AXP and VAX
|platforms, and DEC TCP/IP Services and TGV Multinet IP networking.  It
|features integrated pre-processed HTML (Server Side Includes) and image-
|mapping, and a versatile VMS directory listing capability.  It includes CGI
|applications providing extensive access to VMS oriented information, including
|HELP and TEXT libraries, and to Bookreader-format shelves and books.
|
|The [.$_READ_1ST] directory contains HTML, PostScript, Bookreader and plain-
|text versions of a brief introduction and overview of the package, and how to
|try it out.
|
|The [.DOCS.HTD] directory contains a similar range of document formats, with a
|more extensive technical overview of the package.
|
|The [.DOCS.HFRDHYP] directory contains the same, with an overview of Hypertext
|facilities available using the package.

https://www.theberrymans.com/decus/freewarev30/httpd/

While a quarter century on, it still serves as a reasonable overview.

At that stage (1997) there were also V6.n .EXEs in the distribution (and
C-RTL updates to do).  Definitely no SSL :-)  As time went by, with varying
VMS versions and C-RTLs, and varying Alpha CPUs, it all got a bit beyond just
juggling.

Should WASD stop shipping .EXEs it would still need to meet the distribution
objective of not requiring a C compiler.  POLYCENTER Software Installation
Utility (PCSI) was not available for earlier VAX VMS versions then still
supported by WASD.  The code was baselined for VMS V6.0 (the version in use
as WASD was in gestation).  This ensured a local LINK would be forward
compatible into V7.n and vice-versa, and so object modules were to be
included.

At the time it appeared on the nascent World-Wide web (courtesy VSM's site
and Jeremy Begg) it was still delivering .EXEs as on successive Freeware CDs.
WASD 5.0 was the last to supply .EXEs, with v5.1 (1998) supplying only object
code (VAX and Alpha) glued together with an INSTALL.COM procedure.

By the time v6.1 shipped (1999), WASD had morphed into three archives, the
full distribution from which those with the means could compile and link
their own, plus an archive each for VAX and Alpha object modules.  (Why
install object code for an architecture your site didn't support?)  Then IA64
reared its ugly head.  And after v9.0 (2004) Itanium object code archives
began to be included, initially courtesy of the late Tom Linden and Kednos,
and later much closer to home with VSM.

During these periods the DCL procedures expanded in both number and
capability, automating much of the build and installation of the server
proper, as well as the bundled scripts and applications.  WASD supports
multi-architecture clusters for both builds and run-times as a single
installation.  This is thanks, in part, to original in-house mixed VAX and
Alpha clusters and an early requirement to make each individual node behave
much like any other regardless of underlying platform.

In line with OpenSSL, WASD v10.1 (2011) baselined for VMS V7.0 ("Dragged
kicking and screaming into the mid-1990s!").  Any V6.n platform was probably
not being progressed further, and privacy-on-the-wire was a necessity of
online life.

Bottom line; DCL procedures provide flexibility for the building,
installation and update of WASD sofware.  Perfect?  Hardly!  Workable? 
Certainly!  (Especially when you've been working in and around the one set
for decades :-)

However, there are other, better ways.  Better?  I hear you murmur!

Build tools such as MMS help avoid the overlooked, and streamlines
development.

  "MMS automates and simplifies the building of software systems.
   It can build simple programs consisting of one or more source files,
   or complex programs consisting of many source files, message files,
   and documentation files.

  "With MMS, you can specify exactly how a software system is to be
   built and rebuilt. You do this by using a description file in which
   you describe the components of the system and the file dependencies
   used to build and rebuild the system. A file dependency occurs when
   one or more files are needed to build another file. For example, the
   existence of an executable file depends on an object file.

  "MMS can also rebuild systems quickly when parts of the system change.
   MMS keeps track of source and include files. If any of the files in a
   software system change or are missing, MMS can determine which files
   are affected by the changed or missing files, then rebuild the
   affected portions of the system by using the sources for the changed
   or missing files. MMS does not rebuild portions of the system that
   have not changed, thus saving both processing time and storage space.

https://docs.vmssoftware.com/vsi-decset-for-openvms-guide-to-the-module-management-system/

Mark Berryman has created one that can build the entire WASD distribution
from scratch, with or without archived object files (i.e. without a C
compiler).  Suitable only for ODS-5.  Not MMK compatible.
Can be used to cross-compile X86 on IA64.

It will be available with the WASD v12.1 release.

I may even start to use it myself -- if I can break the habits of the last
three decades.

In the meantime, the DCL procedures will continue for those who do not have
access to MMS, or who are used to the look and feel of home-spun yarn.

This item is one of a collection at https://wasd.vsm.com.au/other/#occasional

  ¤¤¤       
  ¤¤¤