Can you explain some more regarding the this process and how to set it up.

Here's the high-level version:


1)      Create a PRODUCTS userid and  create a reasonably large minidisk at a 
known address (I use 31A for historical reasons - it was used in VM/IPF as the 
shared tools disk).  You could attach this disk to MAINT, but if you create it 
as a separate id, it's a) easy to determine what it's for, and b) doesn't get 
tied up in merging the MAINT userids when you get a new release of VM.

2)      Modify the SYSPROF EXEC to LINK PRODUCTS 31A 31A RR and modify the 
default PROFILE EXEC you give users to access the 31A as a local filemode (I 
use L for local). The important part is that it be BEFORE the S disk in access 
order so that you can intercept system commands if you choose to do so. You're 
also going to put a VMLINK NAMES file here to identify your products by a name. 
This allows you to add dependencies if a product depends on other products to 
work (eg, QMF needs GDDM, so you want both accessed if you access QMF).

Once this is in place, then when you install a product:


1)      Create a userid that is representative of the product (or use the 
numeric IBM nnnnnnnnn ID that most IBM products now use).

2)      Copy all the user-accessible bits of the product to a single minidisk 
(config files, executables, and help files) attached to that userid. You want a 
different minidisk than VMSES uses for maintaining the product to let you stage 
maintenance. This does have a performance impact, but it's fairly small for 
reasonable numbers of CMS users. I usually start with virtual addresses above 
1000, since IBM and others usually don't go that high.

3)      Update VMLINK NAMES with an entry that points to the minidisk from step 
2 for a  name. Example: the FORTRAN entry in VMLINK NAMES might point to 
VSFORT2 1000 for release 10.0.0 today. I get maintenance for the compiler. I 
copy VSFORT2 1000 to VSFORT2 1001 and apply maintenance to the compiler. I copy 
the maintained files from the SES maintenance disk to VSFORT2 1002. I then 
update VMLINK NAMES so that FORTRAN now points to VSFORT2 1001.

4)      Create a SETUP EXEC on PRODUCTS 31A that takes an argument of a name.  
SETUP tests for <name> EXEC in the search order. If not found, it reports "no 
such product". If <name> EXEC exists, you run it. <name> EXEC  tests whether 
the product is already accessed (VMLINK name (QUERY), and if not, does a VMLINK 
<name> with the right parms to get it where you want it to be, and does any 
additional processing like adding TXTLIB or LOADLIBs to search list, etc. All 
the <name> EXEC files go on PRODUCTS 31A.

You then teach users to issue SETUP <name> when they want a specific product 
(example: SETUP FORTRAN gets you the VS Fortran compiler and adds VSFORTLIB to 
the GLOBAL LOADLIB and VSFORT2LIB to the TXTLIB list). That way you can change 
anything about how the product is deployed w/o having to deal with rewriting 
execs or retraining users more than once.  From an administrator perspective, 
it lets you add or update products easily (if you use the trick of renaming the 
existing NAMES file and exec to filemode 0 and copy the new one into place as 
filemode 2, you don't even have to worry about users reaccessing the disk 
because they get a stable version for the lifetime of a minidisk access), and 
you have clear update barriers for transitions.

For IBM products that insist on being rude and dumping stuff on 19E, you can 
still copy the files from the 19E to the product minidisk and treat them in the 
same way, and on upgrade, they're still there if you just trash the old 19E and 
start with the new one from the new release of z/VM.

-- db




Reply via email to