Installation Instructions - adesutherland/CMS-370-GCCLIB GitHub Wiki

Installation Instructions

Installation Options

  1. Use the docker image created by the VM/370 Docker Project which place images on here on dockerhub. This provides a "throw away" image of VM/370 based on the 6-Pack Version 1.3 Beta 3 distribution.

  2. Use the DASD images provided in the release zip files in the VM/370 Docker Project. It is possible to just replace the 6th DASD file with your own - taking your CMSSUER and files with you.

  3. Use the binary tape or VMARC archive provided in GCCLIB.zip for each release by this project. See Binary Section below. This is the recommended approach for CMS users who want to use the tool on their VM/370 system without the need to build from source.

  4. Use the source tape or VMARC archive provided in GCCLIB.zip for each release by this project. See Source Section below. This is an extract of the source code taken just before the build scripts are run on VM/370. This is the recommended approach for CMS users who want to use the tool on their VM/370 system and wish to build from source.

  5. Use the source code archive (zip or tar.gz) for each release by this project. See Source Section below. This archive is an extract of the git source tree taken as part of the release process. File names will need converting to CMS format (e.g. build.exec to BUILD EXEC) and the files need moving to CMS. I use my YATA tool designed for this purpose, especially as part of automation. Also see HercControl which may support your automation needs. There is no particular benefit to this approach over option 4.

  6. Download the dynamically generated source code for any branch (especially develop where you can get the latest stable development version). The green button on the right allows you to download source code archive (zip). See Source Section below. File names will need converting to CMS format (e.g. build.exec to BUILD EXEC) and the files need moving to CMS. I use my YATA tool designed for this purpose, especially as part of automation. Also see HercControl which may support your automation needs. This route allows early access to development code. However I do intend to create releases often - the target is fortnightly.

Binary

Note: This script cmsinstall.sh automates this process. It is a Linux shell script and uses HercControl but it is quite readable and should be considered the definitive process. Make sure you look at the file in the correct branch as it does change.

These instructions assume the use of the CMS tape. However these instructions detail where the different files need to be installed and therefore can be modified for different sources (e.g. a VMARCH or mini-disk).

The binary tape contains files that need to placed in different disks as follows.

C Header Files and MACLIB to GCCCMS 202 Disk

  • Attach tape via the Hercules console

devinit 480 gcclibbin.aws

  • Logon to GCCCMS
  • Attach tape

attach 480 to gcccms as 181

  • Access disk

access 202 h

  • Erase old files and read new ones from tape
erase * h h
erase * maclib h
tape load * h h
tape rew
tape load * maclib h
detach 181
rename * * h = = h1
release h

Help files to MAINT 19D

  • Attach tape via the Hercules console

devinit 480 gcclibbin.aws

  • Logon to MAINT
  • Attach tape

attach 480 to maint as 181

  • Access disk

access 19D z

  • Read files from tape
tape load * memo z
tape rew
tape load * helpcmd z
tape rew
tape load * helpcmd2 z
tape rew
release z

Load Programs to MAINT 190

access 190 z
tape load * maclib z
tape rew
tape load * txtlib z
tape rew
tape load * text z
tape rew
tape load sysprof exec z
tape rew
release z

Done with tape

detach 181

Regenerate System

define storage 16m
ipl 190
access ( noprof
access 093 b
access 193 c
cmsxgen f00000 cmsseg
ipl 190
savesys cms
{enter}
logoff

Source

Note: This script cmsbuild.sh automates this process. It is a Linux shell script and uses HercControl but it is quite readable and should be considered the definitive process. Make sure you look at the file in the correct branch as it does change.

The build is done by BUILD EXEC this assumes that

  • the source files have been placed on the F disk and that binaries are to be put on the E drive.
  • The script uses YATA over the punch to transfer the source files, the other alternative is to use the CMS Source Tape or VMARC file, or other tools that you may have.
  • After the build the E drive contains the same contents as the binary tape.
  • The scripts do the build on the CMSUSER CMS VM.

The build incantation is:

build
rename * * e = = e2
cleanup

After the build you can install by following a version of the instructions above, remembering the the binaries are on the E drive.