% VAX-11 Librarian V04-00+æؐؐ235 SDMENU ؐ1 SDMENUGThe SDMENU utility has been designed to allow for the easy constructionGof software kits in VMSINSTAL format. Since these kits may be built onHany DEC media, the SDMENU utility allows you to specify which device youwant to use to build your kit.+The SDMENU procedure is invoked as follows:8$ @SD$DIR:SDMENU [device or utility] [option,...] [root]2 DEVICEEThe P1 parameter is used to define the default device as shown in theFmain window of the SDMENU utilit y. This device must be either a validDtape drive or directory. A logical may be used to point to the tapedrive or directory.4The default is MSA0: for all Vaxes except MicroVaxs.'The default is MUA0: for all MicroVaxs. 3 devices@The SDMENU will support any tape drive that runs on a VAX. This/includes the TU58 cartridge and the TK50 tapes.ASmaller disk such as the 8" and 5 1/4" floppies may also be used.=Simply enter the appropriate device in then CD option and the'SDMENU will ta ke the appropriate steps.=The CSA0: console device may be used (in the case of 11/780s)?but this is not recommended since it will be needed in the case=of a re-boot. If you do decide to use the CSA0: console, the@SDMENU will make sure to remount the boot floppy properly beforeexiting.2 DIRSCThe SDMENU directory structure is designed to control the kits such@that two kits can never be named the same. We also use the sub-@directory name to designate the kit name when invoking SPKITBL D.:The other directories that are in the SD$DIR standard are:B------------------------------------------------------------------>SD$ROOT:[ALPHA] Used for pre-release kits before release to BETA test.ASD$ROOT:[BETA] Used for pre-release kits pending the approval& of the 1st Article.BSD$ROOT:[FIRST] Used for kits that are ready for First Article.B------------------------------------------------------------------;SD$ROOT:[INTERNAL] Used for kits distributed in-house only.B------------------------------------------------------------------@SD$ROOT:[INSPECT] Used to keep the 1st Article listings for the IT option.@SD$ROOT:[HISTORY] Used to keep all old SDMENU.LOG files just in8 case we want to track down a problem.?SD$ROOT:[LOG] Used for log files if SDMENU is run in BATCHB and DEBUG mode (i.e the SDMENU$DEBUG logical is defined).ASD$ROOT:[COM] Use d to save the com files is SDMENU is run in( BATCH and DEBUG mode.B------------------------------------------------------------------@Other than these directories, all other sub-directories are usedFfor kits. These directories have (S:RWED,O:RWED,G:R,W:R) protections.9The files in the kits should have [001,004] ownership and'(S:RWED,O:RWE,G:RWE,W:RWE) protections.2 INTROIThe SDMENU utility is used by both Manufacturing and Development to build2kits for installation us ing the utility VMSINSTAL.Ho VMSINSTAL is a standard utility, supported by Digital, that resides on? every Vax/VMS operating system. It is located in SYS$UPDATE.Ho If the SDMENU utility has been set up properly, any user on the systemG should be able to run SDMENU by simply typing SDMENU at the $ prompt.Io The main prompt is used to enter a variety of commands designed to helpD you build kits on any device you want and from any root directory.Go Use this help facility to learn ab out the various features of SDMENU.2 KITSHEach kit consists of a clearly defined number of files that will installIon the customer system. These files should never be customized since theIcustomer will get confused that one kit IGES014 is different from anotherGkit IGES014. Much care should be taken to define the product such thatoptions as such do not occur.DOptions can be marketed as separate kits or installed as an optionalFsavesets (understanding that the customer can either cho ose to installthe option or not).EEach kit has its own sub-directory in the SD$DIR directory. The sub-Bdirectory name is the kit name. Therefore IGES014 will reside in DUA0:[SD.IGES014] for example.GWe have settled on the protection scheme (S:RWED,O:RWE,G:RWE,W:RWE) forDall files in the kit directories. This protection scheme may be setEmanually or through the use of a DEFAULT_PROTECTION ACL on the SD$DIRFdirectory. We like the later scheme since SPKITBLD will strip off all%ACLs before moving the files to tape. 2 LOGFILEEThe SDMENU logfile will record every transaction made from the SDMENUutility.GYou may list this file from the SDMENU display by typing LL at the mainprompt.The recorded fields include:-Day-Month-Year (Time stamp for the log entry)-Hour-Minute (Time stamp for the log entry)'Function (Depends on the command)/Device (The target distribution device)/Root (The source root - kit location)Kit Name (If  appropriate)!Username (Process Username).PID (Process Identification Number)1UIC (Recorded during Login and Logout),Elapsed Time (Recorded in minutes:seconds)%Terminal (Terminal Device name)DThis log file is very useful to monitor which kits were built, when,Hand by whom. The file also will record all commands given from the mainHmenu including any help commands given at the prompts. This information9is used by the designers to help tune the SDMENU  utility. 2 LOGICALSIThe logicals involved with the SDMENU help it perform its necessary tasks-transparent to the user. These logicals are: SD$DIR - SDMENU Directory4SD$ROOT - Software Distribution Root Directory)SD$PRINT_IP - Inspection Report Printer"SD$PRINT_TAPE - Tape Label Printer#SD$PRINT_TK50 - TK-50 Label Printer<SD$MAIL - SDMENU error reporting VMS MAIL distributionASD$NODES - List of nodes for the SDINSPECT file distribution%SDMENU$VERIFY - Runs  SDMENU in verify>SDMENU$DEBUG - Saves the LOG and COM files when in BATCH mode3 SD$DIRIThe SD$DIR logical will point to the directory that contains the softwareEdistribution kits. This logical must be defined as a SYSTEM logical.!$ DEFINE SD$DIR /SYSTEM DUA0:[SD] 3 SD$ROOTHThe SD$ROOT logical is used like the SYS$SYSROOT logical to point to theGroot directory of the SD$DIR directory. Using this root logical allowsDthe SDMENU utility to find kits easily. You will notice that in t heGbackup listing of the kits, the SD$ROOT logical is stripped off leaving?a very clean listing. This logical must be defined as follows:<$ DEFINE SD$ROOT /SYSTEM /TRANS=(CONEAL,TERMINAL) DUA0:[SD.]?Note: If this logical is not defined and a privileged user runs@ SDMENU, then logical SD$DIR will be defined as the default> directory. If the user does not have SYSNAM, the SDMENU$ will issue an error and abort. 3 SD$PRINT_IPHThe SD$PRINT_IP logical is used to specify whi ch printer is used for theHIP (Inspection to Printer) report. If this logical is not assigned, theGSYS$PRINT printer is used. This logical does not have to be defined asa system logical."$ DEFINE SD$PRINT_IP /SYSTEM LPA0:3 SD$PRINT_TAPEDThe SD$PRINT_TAPE logical is used to specify which printer should beHused for the formatted label. If the SD$PRINT_TAPE logical is assigned,Athe SDMENU will output a nicely formatted label if you use the PLoption.DThe labels are copied to the printer device (using a terminal deviceDworks just fine). If the printer is busy (printing another label?),!SDMENU will loop and keep trying.;The labels must have the standard McDonnell Douglas format.$$ DEFINE SD$PRINT_TAPE /SYSTEM TTA4:3 SD$PRINT_TK50DThe SD$PRINT_TK50 logical is used to specify which printer should beFused for a formatted label. If the SD$PRINT_TK50 logical is assigned,Athe SDMENU will output a nicely formatted label if you use the PLoption.DThe labels are copied to the printer device (using a terminal deviceDworks just fine). If the printer is busy (printing another label?),!SDMENU will loop and keep trying.;The labels must have the standard McDonnell Douglas format.$$ DEFINE SD$PRINT_TK50 /SYSTEM TTA4: 3 SD$MAILEThe SD$MAIL logical is used to define the mail distribution for errorreports from the IF option.DIf this logical is assigned, it must be a SYSTEM logical that points$to a distribution list for VMS MAIL.*$ DEFINE /SYSTEM  SD$MAIL "SYSTEM,SD_COORD"DIf an error occurs during the comparison phase of the IF option, the4differences file will be mailed to the distribution.CNOTE1: DO NOT use remote usernames. Use the FORWARD option in MAILC instead. In the case of an error, SDMENU will send the MAIL? to the local accounts instead of the FORWARDING address.ANOTE2: If SD$MAIL is not defined, the SYSTEM account will receive the distribution. 3 SD$NODESBThe SD$NODES logical is used to define the nodes that will receive*the inspection file from then BI function.$ DEFINE SD$NODES "SYSA,SYSB"@NOTE: If this logical is not defined, the host node will be sent@ the file. If the host node does not have DECnet or DECnet1 is not active, the file will not be copied.3 SDMENU$VERIFY@The SDMENU$VERIFY logical is used to set the SDMENU utility into>a "SET VERIFY" condition to debug problems. Otherwise, verifyis specifically turned off.$ DEFINE SDMENU$VERIFY "1"3 SDMENU$DEBUGAThe SDMENU$DEBUG logical is used to capture the LOG and COM filesCused when SDMENU is run in BATCH mode. If this logical is defined,@the kit.COM file is stored in SD$ROOT:[COM] and the kit.LOG fileis stored in SD$ROOT:[LOG].$ DEFINE SDMENU$DEBUG "1"2 OPTIONJThe P2 parameter is used for options which are entered as a list separatedDby commas. If this parameter is ommitted, and you want to enter theJdefault root directory, you may enter a blank "" and then specify the ro ot directory.;E - Expert mode; Don't display the options in the main menu4B - Submit Batch mode (kit build is submitted batch)7The default is no options (i.e. display the options andenter interactive mode).2 ROOTGThe P3 parameter is used to define the root directory. This value MUSTHbe specified as either RELEASED, ALPHA, BETA, FIRST, INTERNAL, or LOGIN.HIf you specify LOGIN, the SDMENU utility will look in your own SYS$LOGINJdirectory for kits. If you specify RELEASED, the SDMENU utility will lookBin the SD$DIR (system logical) [.RELEASED] sub-directory for kits.The default is RELEASED. 2 SAVESETSBMost simple kits will be built into one saveset. This saveset may>be created on tape, disk, or floppy. The saveset name must be3the product name with a .A extension. For example: IGES014.ACFor more complicated installations, additional savesets may be usedAwith extensions starting with .B and alphabetically incrementing. 3 examples;The UGII V3.2 kit consiste d of two products built into four:savesets. When this type of installation is required, the8SDMENU utility must be modified to handle the exception.8The UGII V3.2 installation had the following savesets...%TMOD010.A (Terminal Modules kit V1.0)#UGII032.A (Unigraphics II kit V3.2)<UGII032.B (User Function files V3.2) called by UGII V3.2 kit5UGII032.C (UNIPIX files V3.2) called by UGII V3.2 kit2 SYMBOLFThe SDMENU utility may be invoked in a variety of ways. If you simplyrun the utility by the command:$ @SD$DIR:SDMENUEThe SDMENU utility will use pre-defined defaults for the distributionGdevice (MSA0: or MUA0:) and source directory (SD$ROOT). The label will?display (or print) and the backup will be performed with a /LOG qualifier.5A symbol may be defined to run the SDMENU as follows:$ SDMENU :== @SD$DIR:SDMENUDP1 parameters can be used in the symbol to define the default deviceand root directory settings. 3 parameters*P1 - Device name (i.e. MTA0: or  SYS$LOGIN)(P2 - Options B - Submit kit build BATCH E - Expert mode>P3 - Root directory (RELEASED,ALPHA,BETA,FIRST,INTERNAL,LOGIN)9Therefore, the SDMENU symbol could be defined as follows:,$ SDMENU :== @SD$DIR:SDMENU MUA0: E RELEASEDFThe P1 paramters will only affect the default settings when the SDMENUFis run. The P1 and P3 settings may be changed while within the SDMENU>utility. The P2 options cannot be changed until the symbol is re-defined. 3 examples ETo u!se any of the following examples, define the SDMENU symbol eitherEin the system wide login (pointed to by SYS$SYLOGIN) or in individualLOGIN.COM files.#$ SDMENU :== @SD$DIR:SDMENU MSA0: B((Kits are built on MSA0: is batch mode.)($ SDMENU :== @SD$DIR:SDMENU SYS$LOGIN BEB(Kits are built in your login directory in batch mode. The SDMENU8 display will not show the command portion of the menu.) .$ SDMENU :== @SD$DIR:SDMENU SYS$LOGIN "" LOGIN7(Kits are to be built in your login di "rectory from your, sys$login kits instead of the system kits.) 2 UTILITYBThe SDMENU.COM command file may be invoked directly to use some ofBthe built in functions. To use these functions, you will probably*want to define some symbols as show below:($ SDINSPECT :== @SD$DIR:SDMENU SDINSPECT'$ SPKITBLD :== @SD$DIR:SDMENU SPKITBLD2 BIFThe BI option will be available to those users with SETPRIV privilege.EThis option will build an inspection file and allow you to distributeCthe file amo#ng several nodes in the network (edit the SDINSPECT.COMGfile if necessary). The file SD$DIR:SDINSPECT.COM is used. The promptwill appear as follows:* What kit [Main Menu]:2 CBDChange the mode to BATCH. Kits will be submitted to the batch queueBto aid in cutting multiple tapes from a single terminal. The mode0will display after the time in the main display.2 CD,The CD option is entered at the main prompt:.* Which kit would you like to build [EXIT]: CDDNotice that the defaul $t entry is in []. Therefore, if you press theC key, the SDMENU utility will exit and you will be returnedto the $ prompt.=By typing CD, you will be prompted for a distribution device.* Distribution device [MSA0:]:GAs you can see, the default is in brackets. Therefore, to select MSA0:Has your new distribution device, press or enter another choice.EThe distribution device is then allocated such that no other user can@use that device while you are working with it.% If the device isCalready allocated, you will be warned and allowed to choose anotherdevice. 3 parametersFThe distribution device may be any tape drive or disk device. You mayFalso select a directory. This entry can be either the absolute device or a logical.HFor example the following are acceptable responses (given you have thesedevices on your system):(* Distribution device [MSA0:]: SYS$LOGIN$* Distribution device [MSA0:]: DUA1:+* Distribution device [MSA0:]: HSC000$DUA0:-* &Distribution device [MSA0:]: DJA1:[TESTKIT]$* Distribution device [MSA0:]: MSA0:$* Distribution device [MSA0:]: UGMT0 3 CONSOLEFThe CSA1 console may be used as a distribution device. If the consoleFis not connected and you do not have the privs to do a SYSGEN connect,the kit build will fail.ATo make the CSA1: device available, enter the following commands: $ MCR SYSGENSYSGEN> CONNECT CONSOLE3 FLOPPYGThe SDMENU utility may be used to build kits on 8" floppy. Just selectGthe co 'rrect device from the CD option. The SPKITBLD will automaticallybuild the kit correctly. 3 SYS$LOGINGChoosing SYS$LOGIN from the CD prompt allows you to build a kit in yourEown SYS$LOGIN directory. The kit will be named for example IGES014.A#and will be a REAL saveset on disk.EThis saveset can be used to install the kit in the same way that kitsAare used from tape. When you invoke VMSINSTAL and it asks for a %distribution device, enter SYS$LOGIN.BThis is also a great method fo(r testing the kit building procedurewithout juggling tapes.2 CEAThis option will change your mode to Expert. In the Expert mode,:the main SDMENU display will NOT show the SDMENU commands.>In the expert mode, the SDMENU does NOT show any log messages.?If you enter CE while in Expert mode, the mode will revert backto Interactive.2 CSEThe CS option allows you to change where the SDMENU utility looks forHkits. If you enter RELEASED, the SDMENU utility will show only RELEASEDFkits ). If you enter BETA, the SDMENU utility will show only UNRELEASEDFor BETA release kits. All kits pending First Article approval will beDlocated in the FIRST section. Kits that may be distributed IN-HOUSE)only are located in the INTERNAL section.<To accept the default, press the key at the prompt:(* Enter the Source Directory [RELEASED]:I o Enter RELEASED to look in the RELEASED Software Distribution directory for kits.B o Enter ALPHA to look in the ALPHA directory for *unreleased kits.@ o Enter BETA to look in the BETA directory for unreleased kits.D o Enter FIRST to look in the FIRST directory for kits pending First Article approval.H o Enter INTERNAL to look in the INTERNAL directory for unreleased kits.@ o Enter LOGIN to look in your own SYS$LOGIN directory for kits.D o Enter any valid directory specification to look in that directory for kits.2 EXBThe EX option is identical to the EXIT command. This command will5cleanup your SDMENU en+vironment and exit the utility.2 HEGThe HE command invokes the VAX/VMS HELP Facility to display informationGabout a SDMENU command or topic. In response to the "SDMENU Subtopic?"prompt, you can:B o Type the name of the command or topic for which you need help.E o Type a question mark (?) to redisplay the most recently requested text.? o Type a asterisk (*) to display all help under the catagory.= o Press the RETURN key one or more times to exit from HELP.JYou can ,abbreviate any topic name, although ambiguous abbreviations resultin all matches being displayed.2 ITEThe IT option allows you to inspect a tape to the 1st Article listing3which is stored in the SD$ROOT:[INSPECT] directory.BAfter mounting the tape to be inspected on the distribution device?and placing the device on-line, enter the IF option at the mainprompt.?The tape will be read and you will then be prompted for the kitname (for example):(* What kit are you inspecting [IGE-S014]:CThis question is needed to determine which of the SD$ROOT:[INSPECT]Blistings to use to compare this tape. If any difference is found,Dan error will be reported. This error is also mailed to the SD$MAIL)distribution if this logical is assigned.3 error0In case of an error, please check that you have:a. Marked the tape correctly?,b. Enter the correct kit name at the prompt?AIf the tape is marked correctly and the kit name has been entered@correctly, this is a SERIOUS error . that must be reported at onceBto your supervisor. If the SD$ROOT:[INSPECT] file does not exist,=it should be created by the individual responsible for addingproducts to this distribution.2 LBCList the SDMENU$BATCH queue. All kits that are submitted from thisBprocedure will be submitted into the SDMENU$BATCH queue. Look for'the kitname in the batch queue listing.2 LKCThe LK option will list all of the available kits in your specifiedFsource directory. This option will examine all /of the sub-directories?of the source directory and display the kit name portion of the4directory only if the last three digits are numbers.2 LLGThe LL option will either type the SD$DIR:SDMENU.LOG file or search the@file for any occurance of a string. This log file records everyFtransaction made from the SDMENU utility. For more information on the(log file look under HELP SDMENU LOGFILE.CFor example, to search for every IGES kit, simply enter IGES at theEprompt. To search for a speci0fic kit entry, enter the full kit name.?Type EXIT to go back to the main menu or ALL to type all of theDlog entries. If you enter the keyword TODAY, all of today's entireswill be listed.3 fieldsThe recorded fields include:-Day-Month-Year (Time stamp for the log entry)-Hour-Minute (Time stamp for the log entry)'Function (Depends on the command)/Device (The target distribution device)/Root (The source root - kit location)Kit Name (If appropria 1te)!Username (Process Username).PID (Process Identification Number)1UIC (Recorded during Login and Logout),Elapsed Time (Recorded in minutes:seconds)%Terminal (Terminal Device name)2 LOBThe LO option will cleanup your SDMENU environment and LOG you outof the system.2 LPGThe LP option allows you to backup/list a tape and print the listing onEthe SD$PRINT_IP device (or on SYS$PRINT if the SD$PRINT_IP locigal isHnot defined). The SDMENU utility wi2ll continue to list the tape throughall of its savesets.2 MA3The MA optin will startup the Vax/VMS MAIL utility.2 PH5The PH option will startup the Vax/VMS Phone utility.2 PLCThe PL option allows you print a label for any kit supported by the@SDMENU utility. Simply enter the kit name at the prompt and the.label will print to your SDMENU label printer.@NOTE: If your current device is a TK-50, the SDMENU will attempt$ to print on the TK-50 printer.2 SPEThe SPawn command will take you to DCL efficiently to execute any DCL?command. To return to the SDMENU utility, simply LOGOUT of theSPAWN'd process.ww