Additional information in MAINT MEMO
MAINT MEMO tells you how to re-build the CP and CMS nucleus... if you already know how to use the update system. Some reference to more information about how that works would be appreciated. Maybe it is also possible to add some skeleton files to start with, where you just need to add some lines, with helpful comments guiding you.
I wanted to practice the nucleus building procedure, without any local changes, and already step 2 failed (vmfmac dmklcl dmklcl) because *** DMKLCL EXEC NOT FOUND ***. I have no idea what to substitute to just build the system as-is. Because I found a DMKHRC EXEC I tried vmfmac dmhrcl dmkhrc, and it did something seemingly without errors, but who knows, maybe I just destroyed my system.
I sure hope I don't have to repeat step 3 by hand for every source file!
I've been puzzling a bit, and found HELP UPDATE and HELP UPDATE (MORE quite enlightening.
I hacked a bit on VMFASM EXEC so that it calls EE instead of ASSEMBLE.
Is there a way to generate some update records automatically from "before edit" and "after edit" versions?
*** PTF V10333 HAS BEEN APPLIED 11/21/79
*** PTF V10334 HAS BEEN APPLIED 11/21/79
*** PTF Y7249DMS HAS BEEN APPLIED 9/6/77
*** PTF X5522DMS HAS BEEN APPLIED 10/14/76
*** PTF W2426DMS HAS BEEN APPLIED 9/23/74
*** PTF W1101DMS HAS BEEN APPLIED 4/25/74
*** PTF P3050DMS HAS BEEN APPLIED 7/18/72
**********************************************************************
* N O T E : VMFASM EXEC PROCEDURE WILL NOT CREATE A TEXT DECK ON THE
* USERS A-DISK ACCORDING TO THE UPDATE LEVEL IDENTIFIER IF
* IF THE SOURCE IS ON A R/W MINIDISK OTHER THAT A.
**********************************************************************
&CONTROL OFF
&NAME = &1
&UPNM = $&1
&CNTL = &2
-STSYS STATE &NAME ASSEMBLE *
&IF &RETCODE EQ 0 &GOTO -STCTL
&TYPE *** &NAME ASSEMBLE NOT FOUND ***
&EXIT 1
-STCTL STATE &CNTL CNTRL *
&IF &RETCODE EQ 0 &GOTO -FUPD
&TYPE *** &CNTL CNTRL NOT FOUND ***
&EXIT 2
-FUPD &STACK LIFO HT
ERASE &NAME UPDATES
CP SPOOL PRT CONT
&STACK LIFO RT
UPDATE &NAME ASSEMBLE * &CNTL CNTRL * ( CTL STK PRINT
&ANAME = &UPNM
&IF &RETCODE EQ 40 &ANAME = &NAME
&IF &RETCODE GT 12 &IF &RETCODE NE 40 &GOTO -UPDERR
&IF &READFLAG EQ CONSOLE &GOTO -EXIT
&READ ARGS
&TEXT = &2
&IF &TEXT NE TEXT &TEXT = TXT&TEXT
&READ ARGS
&ARGS &2 &3 &4 &5 &6 &7 &8 &9
&I = 1
&LOOP 2 &I GT &INDEX
VMFDATE &&I MACLIB * &NAME UPDATES A1
&I = &I + 1
GLOBAL MACLIB &1 &2 &3 &4 &5 &6 &7 &8
* &IF &OPT NE YES &GOTO -ASMP
&TYPE EDITING &NAME ASSEMBLE A
&GOTO -DTF
-ASMP &TYPE EDITING2 &NAME ASSEMBLE
-DTF VMFDATE &NAME ASSEMBLE * &NAME UPDATES A1
*
* FOLLOWING LINE CHANGED BY APAR VM07249 TO COPY THE CNTRL
* FILE FROM ANY DISK.
*
COPY &CNTL CNTRL * &NAME &CNTL A1 (REPL
&STACK LIFO / / 1
COPY &0 EXEC * &NAME &CNTL A (APPE SPE NOPR FOR 10
COPY &NAME UPDATES A &NAME &CNTL A1 (APPE
PRINT &NAME &CNTL A1
ERASE &NAME &CNTL A1
COPY &ANAME ASSEMBLE A = BAKEMBLE =
EE &ANAME ASSEMBLE
&GLOBAL0 = &RETCODE
* TODO: automatically generate some update statements from
* the differences, and put them in some sensible place.
-EXIT
CP SPOOL PRT NOCONT
CP CL PRT
&EXIT &GLOBAL0
DMKHRC is correct, so you're not destroying anything - that's the right thing to do.
The doc mentions making any local changes to your system with xxxLCL control files, but you don't really need to make those if you're not really changing anything. If you wanna rebuild the nucleus to learn the process, or make very minor changes (like timezone in DMKSYS or something), just rebuild everything with the DMKHRC (or DMSHRC for CMS) control files and you're fine.
That said, I'm a proponent of a little more hand-holdy (no offense intended) documentation for VMCE than I would be for most things; VM/370 is not a user-friendly OS for the new sysfrog, and it's drawing interest from curious parties instead of the more usual community of old timers that know things because they've always been that way. I don't know if there's more new user friendly MAINT docs anywhere or not; I can't say I've looked for them, but if there's nothing out there we should have something. And by "have something" I mean "I don't really have time to do it, but I'll probably end up drafting something because I'm a masochist".
http://www.leeandmelindavarian.com/Melinda/tutorial.pdf "What mother never told you about VM service" would be a nice link to add somewhere here, and some other documents about VM at http://www.leeandmelindavarian.com/Melinda/ . It (chapter 1 of it) helped me to make more sense of the various files. Together with a small overview of the relevant concrete names being used in this case, I think that goes a long way in the direction I was thinking about (this is an alter ego of Rhialto :)
I will post a draft document here for review on the VMCE specific procedures to build and maintain the CP, CMS, and RSCS components of VM/370.
Look at XCOMPARE HELPCMD and XCOMPARE HELPCMD2 for documentation on a tool which will create update records for you to place in LCLnnnnn files which are then pointed to within your filename AUXLCL. If you need pointers, ask, as I am currently working on making some local mods to DMKSYS, to update the time of day, and the host name. Relatively safe changes to make.
The manuals at http://www.bitsavers.org/pdf/ibm/370/VM_370/ can provide you with some backgound.
MAINT MEMO for CP step 2 says to skip running VMFMAC DMKLCL DMKLCL if you have no changes to apply (which were written by you). CP macros are found in 2 or 3 macro libraries. DMKMAC MACLIB contains macros as distributed by IBM, DMKHRC contains only the macros modified by the Community Edition, and DMKLCL contains macros modified by you (if any). DMKMAC EXEC contains a list of IBM macros. DMKHRC EXEC contains the names of macros added or modified by the Community Edition. DMKLCL EXEC contains a list of macros modified or added by you.
If you want to run VMFASM on the assembler files that have no updates supplied by you, that's fine, but I recommend that you erase the resulting TEXT files to avoid confusion. The correct text files for CP are already on the MAINT 194 and 094.
Oh, another thing I just think of for the next version: now that there is "alternate nucleus" support: have some space for such an alternate nucleus. Or two.
Please open a new issue for the Alternate Nucleus Space request and supply the required documentation on how to setup and use it if possible. I need issues with a single discrete request, or this becomes unmanageable.
On Wed, Nov 17, 2021, 3:22 PM Rhialto The M. @.***> wrote:
Oh, another thing I just think of for the next version: now that there is "alternate nucleus" support: have some space for such an alternate nucleus. Or two.
— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/s390guy/vm370/issues/48#issuecomment-971955686, or unsubscribe https://github.com/notifications/unsubscribe-auth/ARUFCBNYHZVZXCASQBRN76DUMQFHPANCNFSM5H3HXADA . Triage notifications on the go with GitHub Mobile for iOS https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Android https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.
Done! Thanks!