I wrote DCL (DCL - Digital Command Language - shell for OpenVMS) highlighter for GeSHi. You can download it here: dcl.php.txt. To install it, find your GeSHi installation directory and copy the file into /geshi subdirectory where all the other languages are stored. Of course, rename it to dcl.php (strip the .txt extension).
A few examples:
$! This is an example of a DCL script $! $ on warning then gosub ERROR_HANDLER $! $ say :== write sys$output $! $ msg = P1 $ count = P2 $! $ loop_begin: $ say "''count': This script says: ''msg'" $ count = count - 1 $ if count .ge. 0 then goto loop_begin $! $ define/user/group LOGICAL "Some Value" $! $ say f$trnlnm(sys$login) $! $ sql UPDATE emploees SET salary = salary * 1,1 WHERE age > 110; quit $! $ open/read/error=INPUT_FILE_ERROR dbd_movedb_input 'input_file' $!
$! © Copyright 1976, 2007 Hewlett-Packard Development Company, L.P. $set = "set" $set symbol /scope=(nolocal,noglobal) $on control_y then continue $on warning then continue $goto after_logical_doc $DECK $! ------------------------------------------------------------------ $! $! The following logical names are used to control this procedure. $! $! LOGICAL NAME VALUE EFFECT $! -------------------------- ------------ --------------------------- $! I64VMS$PCSI_INSTALL_VERIFY "NO" or blank SET NOVERIFY in general $! "YES" or other SET VERIFY in general $! $! The "install_verify" logical allows verify to be turned on for $! everything other than message initialization and display. $! $! I64VMS$PCSI_MESSAGE_VERIFY "NO" or blank SET NOVERIFY for message $! initialization and display $! "INIT" SET VERIFY for message $! initialization and NOVERIFY $! for message display $! "DISPLAY" SET NOVERIFY for message $! initialization and VERIFY $! for message display $! "BOTH" or other SET VERIFY for message $! initialization and display $! $! The "message_verify" logical allows verify to be turned $! on "in general" by the "install_verify" logical, but to be turned $! off for message initialization and/or message display. $! $! Message initialization will output several thousand lines if $! verify is on, so verify probably shouldn't be turned on unless $! necessary to debug message initialization. $! $! Each message display (see symbol "saylong") will display an extra $! 100 lines or so in addition to the actual message, if verify is on, $! so verify probably shouldn't be turned on unless necessary to debug $! message display. $! $! $! I64VMS$PCSI_LOG_TRACE "NO" or blank install w/ /NOLOG $! "LOG" install w/ /LOG $! "TRACE" install w/ /NOLOG/TRACE $! "BOTH" or other install w/ /LOG/TRACE $! $! /LOG causes PCSI to output a message for each file operation it $! performs. $! /TRACE causes PCSI to output the text of each DCL command it sends $! to a subprocess for execution. /TRACE is useful for displaying $! commands from non-interactive EXECUTE statements (and well as $! commands used to define logical names for the subprocess), but $! it provides no tracing output for the execution of interactive $! EXECUTE statements. $! $! I64VMS$PCSI_EXECUTE_VERIFY "NO" or blank SET NOVERIFY for EXECUTE procs $! "YES or other SET VERIFY for EXECUTE procs $! $! The "execute_verify" logical allows verify to be turned on or off $! for procedures executed by Product Definition Language "EXECUTE" $! statements in the OpenVMS Product Definition File. $! $! NOTE: I64VMS$PCSI_EXECUTE_VERIFY is implemented in the $! SYS$UPDATE:I64VMS$PCSI_EX_*_*.COM procedures which are invoked by $! EXECUTE statements in the OpenVMS Product Definition File. $! $! $! PCSI$OTHER_PRODUCTS Dev and Dir for kits for "other products" $! $! This is used to locate the "other products" that are available for $! installation, including those (MOTIF,DECnet-Plus,DECnet Phase IV,UCX) $! which can be installed as part of the OpenVMS Platform installation. $! $! If PCSI$OTHER_PRODUCTS is defined, we use it $! otherwise we use SYS$SYSDEVICE:[KITS.*] $! $! ------------------------------------------------------------------ $EOD $after_logical_doc: $sav_ver = f$environment("VERIFY_PROCEDURE") $vermode = f$edit(f$trnlnm("I64VMS$PCSI_INSTALL_VERIFY"),"UPCASE") $if vermode .eqs. "" .or. vermode .eqs. "NO" $then $install_verify = "set noverify" $else $install_verify = "set verify" $endif $install_verify $scratch_defined = 0 $saved_privs = f$getjpi("","procpriv") $say = "write sys$output" $sayblank = "write sys$output ""''blankline'""" $saylong = "@SYS$SYSTEM:I64VMS$PCSI_INSTALL_MESSAGES.COM" $sa_message = f$environment("MESSAGE") $set message /facility /identification /severity /text $target_modified = 0 $init_preserve = "" $on control_y then goto y_exit $on warning then goto err_exit $set control = (T,Y) $logmode = f$edit(f$trnlnm("I64VMS$PCSI_LOG_TRACE"),"UPCASE") $if logmode .eqs. "" .or. logmode .eqs. "NO" $then $logmode = "NOLOG" $else $if logmode .eqs. "LOG" $then $logmode = "LOG" $else $if logmode .eqs. "TRACE" $then $logmode = "NOLOG/TRACE" $else $logmode = "LOG/TRACE" $endif $endif $endif $msgvermode = f$edit(f$trnlnm("I64VMS$PCSI_MESSAGE_VERIFY"),"UPCASE") $if msgvermode .eqs. "" .or. msgvermode .eqs. "NO" $then $msginit_verify = "set noverify" $msgdisp_verify = "set noverify" $else $if msgvermode .eqs. "INIT" $then $msginit_verify = "set verify" $msgdisp_verify = "set noverify" $else $if msgvermode .eqs. "DISPLAY" $then $msginit_verify = "set noverify" $msgdisp_verify = "set verify" $else $msginit_verify = "set verify" $msgdisp_verify = "set verify" $endif $endif $endif $default_target_label = "I64SYS" $temp_help = "SYS$SCRATCH:I64VMS$PCSI_TEMP_HELP.TEMP" $pid = f$getjpi("","PID") $pcf_option = "" $msginit_verify $if f$search("SYS$SYSTEM:I64VMS$PCSI_INSTALL_MESSAGES.COM") .eqs. "" $then $type sys$input $DECK ************************************************************ * * * SYS$SYSTEM:I64VMS$PCSI_INSTALL_MESSAGES.COM not found * * * * This disk or CDrom is bad. * * Please use another disk or CDrom to Install or to * * Upgrade OpenVMS AXP. * * * ************************************************************ $EOD $goto 0_exit $else $close /error=020_message_open I64VMS$messages $020_message_open: $open /read I64VMS$messages - SYS$SYSTEM:I64VMS$PCSI_INSTALL_MESSAGES.COM $020_message_read: $read /error=err_exit /end=020_message_end I64VMS$messages inpt $inpt = f$edit(inpt,"TRIM,COLLAPSE,UPCASE") $if f$extract(0,9,inpt) .nes. "$!MESSAGE" then goto 020_message_read $inpt = inpt - "$!MESSAGE" $'inpt' $goto 020_message_read $020_message_end: $close I64VMS$messages $endif $install_verify $if f$getsyi("arch_name") .nes. "IA64" $then $msgdisp_verify $saylong "notvmsaxp" $install_verify $goto 0_exit $endif $if f$getsyi("STARTUP_P1") .nes. "INST" $then $msgdisp_verify $saylong "notdistcd" $install_verify $goto 0_exit $endif $req_privs = "CMKRNL,SYSPRV,VOLPRO,BYPASS,LOG_IO,OPER" $saved_privs = f$setprv(req_privs) $if .not. f$privilege(req_privs) $then $msgdisp_verify $saylong "insfprivs" $install_verify $say " ''req_privs'" $sayblank $goto 0_exit $endif $directory /size /output=nl: SYS$SYSDEVICE:[VMS$COMMON...] $prod_ver_file = f$search - ("SYS$SYSDEVICE:[VMS$COMMON]HP-I64VMS-VMS-*-2.PCSI$DESCRIPTION") $if f$locate("V0105",prod_ver_file) .lt. f$length(prod_ver_file) then - prod_ver_file = f$search - ("SYS$SYSDEVICE:[VMS$COMMON]HP-I64VMS-VMS-*-2.PCSI$DESCRIPTION") $if prod_ver_file .eqs. "" $then $if f$search - ("SYS$SYSDEVICE:[SYS0]HP-I64VMS-VMS-*-2.PCSI$DESCRIPTION") .gts. "" $then $msgdisp_verify $saylong "prodinsys0" $install_verify $else $msgdisp_verify $saylong "prodnotfound" $install_verify $endif $goto 0_exit $endif $prod_ver_name = - prod_ver_file - "SYS$SYSDEVICE:[VMS$COMMON]HP-I64VMS-VMS-" - - "-2.PCSI$DESCRIPTION" $prod_ver_name = f$element(0,";",prod_ver_name) $prod_ver_work = f$element(3,"-",prod_ver_file) $prod_ver_vis = f$extract(0,1,prod_ver_work) $if f$extract(1,1,prod_ver_work) .nes. "0" then - prod_ver_vis = prod_ver_vis + f$extract(1,1,prod_ver_work) $prod_ver_vis = prod_ver_vis + f$extract(2,1,prod_ver_work) $prod_ver_vis = prod_ver_vis + "." $if f$extract(3,1,prod_ver_work) .nes. "0" then - prod_ver_vis = prod_ver_vis + f$extract(3,1,prod_ver_work) $prod_ver_vis = prod_ver_vis + f$extract(4,1,prod_ver_work) $prod_ver_work = f$element(4,"-",prod_ver_file) $if prod_ver_work .nes. "" then - prod_ver_vis = prod_ver_vis + "-" + prod_ver_work $part_ver_vis = prod_ver_vis $prod_plat_file = f$element("0","-",prod_ver_file) + "-" + - f$element("1","-",prod_ver_file) + "-" + - "OPEN" + f$element("2","-",prod_ver_file) + "-" + - f$element("3","-",prod_ver_file) + "-" + - f$element("4","-",prod_ver_file) + "-5" $prod_plat_help = prod_plat_file + ".PCSI$TLB" $prod_plat_help = f$search(prod_plat_help) $prod_plat_file = prod_plat_file + ".PCSI$DESCRIPTION" $prod_plat_file = f$search(prod_plat_file) $if f$trnlnm("PCSI$OTHER_PRODUCTS") .eqs. "" $then $other_prods = "SYS$SYSDEVICE:[KITS.*]" $else $other_prods = - "SYS$SYSDEVICE:[KITS.*]," + f$trnlnm("PCSI$OTHER_PRODUCTS") $endif $030_check_mem: $if f$search("SYS$UPDATE:I64VMS$PCSI_CHECK_MEM.COM") .eqs. "" - then goto 040_start $msgdisp_verify $on warning then continue $@SYS$UPDATE:I64VMS$PCSI_CHECK_MEM.COM "''prod_ver_vis'" $mem$chk = $severity $on warning then goto err_exit $install_verify $if mem$chk .eq. 1 then goto 040_start $if mem$chk .eq. 0 $then $030_below_min: $read /error=030_below_min sys$output in$ - /prompt = "''wanttocont'" $if in$ .eqs. "" then in$ = yesvalue $msgdisp_verify $saylong "checkyesorno" "''in$'" $ans = $status $install_verify $if ans .eq. backansw then goto y_exit $if ans .eq. helpansw then goto 030_check_mem $if ans .eq. noansw then goto terminate_exit $if ans .ne. yesansw $then $say "''yesorno'" $goto 030_below_min $endif $endif $if mem$chk .eq. 2 $then $030_below_rec: $read /error=030_below_rec sys$output in$ - /prompt = "''wanttocontno'" $if in$ .eqs. "" then in$ = novalue $msgdisp_verify $saylong "checkyesorno" "''in$'" $ans = $status $install_verify $if ans .eq. backansw then goto y_exit $if ans .eq. helpansw then goto 030_check_mem $if ans .eq. noansw then goto terminate_exit $if ans .ne. yesansw $then $say "''yesorno'" $goto 030_below_rec $endif $endif $040_start: $set noon $define/nolog/user pcsi$source 'other_prods' $define/user sys$output nl: $define/user sys$error nl: $product find * /kit=type=patch $sav_status = $status $set on $if sav_status .eq. 1 $then $msgdisp_verify $saylong "patchpresent" $install_verify $define/nolog/user pcsi$source 'other_prods' $product find * /kit=type=patch $msgdisp_verify $saylong "patchconsult" $install_verify $read sys$output /error=040_return inpt /prompt = "''returncont'" $040_return: $else $if sav_status .ne. %X0652A043 $then $msgdisp_verify $saylong "proderror" "PRODUCT FIND" "040_START" - "''f$string(sav_status)'" $set noon $set verify $define/nolog/user pcsi$source 'other_prods' $product find * /kit=type=patch $sho sym $status $install_verify $set on $040_ask: $sayblank $read /error=040_ask sys$output in$ - /prompt = "''wanttoterm'" $if in$ .eqs. "" then in$ = yesvalue $msgdisp_verify $saylong "checkyesorno" "''in$'" $ans = $status $install_verify $if ans .eq. backansw then goto y_exit $if ans .eq. helpansw then goto 040_start $if ans .eq. yesansw then goto terminate_exit $if ans .ne. noansw $then $say "''yesorno'" $goto 040_ask $endif $endif $endif $msgdisp_verify $saylong "introdefaults" $install_verify $045_start: $msgdisp_verify $saylong "initpreserv" $install_verify $050_gettype: $sayblank $read /error=050_gettype /end=err_exit sys$output in$ - /prompt = "''initpreserv'" $if in$ .eqs. "" then in$ = presvalue $msgdisp_verify $saylong "Checkinitpreserv" "''in$'" $ans = $status $install_verify $if ans .eq. backansw then goto y_exit $if ans .eq. helpansw then goto 045_start $if ans .eq. yesansw $then $init_preserve = "I" $else $if ans .eq. noansw $then $init_preserve = "P" $else $say "''invresponse'" $goto 050_gettype $endif $endif $060_target: $close /error= 060_other_open I64VMS$plattmp $060_other_open: $close /error=060_pcf_open I64VMS$pcfout $060_pcf_open: $if scratch_defined $then $on control_y then continue $deassign/job sys$scratch $scratch_defined = 0 $on control_y then goto y_exit $endif $if f$trnlnm("PCSI$MAIN","LNM$JOB") .gts. "" then deassign/job PCSI$MAIN $if f$trnlnm("PCSI$SHR","LNM$JOB") .gts. "" then deassign/job PCSI$SHR $set command SYS$UPDATE:PCSI.CLD $tar$pcsi_cld := SYS$UPDATE:PCSI.CLD $pcsi$usenew = 0 $pcsi$keepnew = 0 $msgdisp_verify $saylong "targetdisk" $install_verify $060_target_b: $If f$type(target_disk) .nes. "" .and. target_modified .gt. 0 $then $msgdisp_verify $saylong "mayneedtorestoreprior" "''target_disk'" $install_verify $if target_modified .eq. 1 $then $msgdisp_verify $saylong "shouldbeable" "''install_upgrade'" $install_verify $else $msgdisp_verify $saylong "recommendrestore" "''install_upgrade'" $install_verify $endif $endif $If f$type(target_disk) .nes. "" then delete/symbol target_disk $target_modifed = 0 $if f$trnlnm("I64VMS$pcsi_target_default") .eqs. "" $then $target_default = "" $else $target_default = "[''f$trnlnm("I64VMS$pcsi_target_default")'] " $endif $sayblank $read /error=060_target_b sys$output inpt - /prompt = "''targetdisk'" $if inpt .eqs. "" then - inpt = f$trnlnm("I64VMS$pcsi_target_default") $target_disk = f$edit(inpt,"TRIM,UPCASE") $if target_disk .eqs. backvalue then goto 050_gettype $if target_disk .eqs. helpvalue $then $sho device d $sayblank $goto 060_target_b $endif $if target_disk .eqs. "" $then $say "''tarisblank'" $goto 060_target_b $endif $If f$length(target_disk) .gt. 128 $then $msgdisp_verify $saylong "tarnotval" $install_verify $goto 060_target_b $endif $if ( (f$locate("!",target_disk) .lt. f$length(target_disk) ) - .or. (f$locate("/",target_disk) .lt. f$length(target_disk) ) ) $then $msgdisp_verify $saylong "tarnotval" $install_verify $goto 060_target_b $endif $if f$locate(" ",target_disk) .lt. f$length(target_disk) $then $msgdisp_verify $saylong "tarnotval" $install_verify $goto 060_target_b $endif $if f$trnlnm("''target_disk'") .gts. "" $then $show log 'target_disk' $target_disk = f$trnlnm("''target_disk'") $endif $if target_disk .eqs. target_disk - ":" then - target_disk := 'target_disk': $if f$locate(":",target_disk) .lt. f$length(target_disk)-1 $then $msgdisp_verify $saylong "tarnotval" $install_verify $goto 060_target_b $endif $if .not. f$getdvi(target_disk,"exists") $then $target_no_colon = target_disk - ":" $mcr sysman io autoconfigure /select=('target_no_colon') $if .not. f$getdvi(target_disk,"exists") $then $msgdisp_verify $saylong "tarnotexist" $install_verify $goto 060_target_b $endif $endif $if f$getdvi(target_disk,"devclass") .ne. 1 $then $msgdisp_verify $saylong "tarnotdisk" $install_verify $goto 060_target_b $endif $if f$getdvi(target_disk,"devnam") .eqs. f$getdvi("SYS$SYSDEVICE","devnam") $then $msgdisp_verify $saylong "tarissys" $install_verify $goto 060_target_b $endif $if f$getdvi(target_disk,"MNT") then dismount/nounload 'target_disk' $if f$getdvi(target_disk,"swl") $then $msgdisp_verify $saylong "tarwrtlck" $install_verify $goto 060_target_b $endif $define/job/nolog I64VMS$pcsi_target_default "''target_disk'" $if inpt .eqs. "" $then $if f$trnlnm("I64VMS$pcsi_target_default") .nes. "" - then deassign/job I64VMS$pcsi_target_default $else $define/job/nolog I64VMS$pcsi_target_default "''inpt'" $endif $define /nolog pcsi$sysdevice 'target_disk' $define /nolog pcsi$destination 'target_disk'[VMS$COMMON] $on control_y then continue $define /nolog /job sys$scratch 'target_disk'[000000] $scratch_defined = 1 $on control_y then goto y_exit $070_mount: $close /error=070_m_1 I64VMS$plattmp $delete SYS$SCRATCH:I64VMS$PLAT.TMP;* $070_m_1: $close /error=070_m_2 I64VMS$pcfout $delete SYS$SCRATCH:VMS$DEF'pid'.PCF;* $070_m_2: $if init_preserve .eqs. "I" $then $root_name = "SYS0" $define/nolog pcsi$specific 'target_disk'[SYS0.] $if .not. f$getdvi(target_disk,"MNT") $then $set noon $define /nolog /user sys$output nl: $define /nolog /user sys$error nl: $mount /noassist /over=id 'target_disk' $sav_status = $status $set on $if .not. sav_status $then $set noon $define /nolog /user sys$output nl: $define /nolog /user sys$error nl: $mount /noassist /foreign 'target_disk' $sav_status = $status $set on $if .not. sav_status $then $say f$message(sav_status) $goto 060_target_b $else $target_label = "" $goto 070_mount_c $endif $endif $endif $target_label = f$getdvi(target_disk,"VOLNAM") $if target_label .gts. " " $then $if f$search("DISK$''target_label':[000000]000000.DIR") .eqs. "" $then $msgdisp_verify $saylong "tardisklab" $saylong "tarlabbad" $install_verify $goto 070_mount_c $else $msgdisp_verify $saylong "tardisklab" $install_verify $endif $else $msgdisp_verify $saylong "tarnolab" $install_verify $goto 070_mount_c $endif $070_mount_a: $sayblank $read /error=070_mount_a sys$output in$ - /prompt = "''keepthislab'" $if in$ .eqs. "" then in$ = yesvalue $msgdisp_verify $saylong "checkyesorno" "''in$'" $ans = $status $install_verify $if ans .eq. backansw then goto 060_target_b $if ans .eq. helpansw then goto 070_mount $if ans .eq. yesansw then goto 070_mount_c2 $if ans .eq. noansw then goto 070_mount_c $say "''yesorno'" $goto 070_mount_a $070_mount_c: $sayblank $read /error=070_mount_c sys$output inpt - /prompt = "''entervollab'" $inpt = f$edit(inpt,"TRIM,UPCASE") $if inpt .eqs. backvalue then goto 070_mount_a $if inpt .eqs. helpvalue then goto 070_mount $if inpt .eqs. "" then inpt = default_target_label $if inpt .eqs. target_label $then $say "''samelabel'" $goto 070_mount_a $endif $vol_ln = f$length(inpt) $if vol_ln .gt. 12 $then $say "''namexc12'" $goto 070_mount_c $endif $val_chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789$_-" $num_chars = f$length(val_chars) $chr_no = 0 $070_mount_c1: $if f$locate(f$extract(chr_no,1,inpt),val_chars) .ge. num_chars $then $say "''labelinvchr'" $goto 070_mount_c $endif $chr_no = chr_no + 1 $if chr_no .lt. vol_ln then goto 070_mount_c1 $if f$trnlnm("DISK$''inpt'") .nes. "" $then $msgdisp_verify $saylong "otherdisklab" $install_verify $show log DISK$'inpt' $goto 070_mount_c $endif $target_label = inpt $070_mount_c2: $msgdisp_verify $if "I64" .eqs. "I64" $then $saylong "odsinitw" $else $saylong "odsinit" $endif $install_verify $070_mount_c3: $sayblank $read /error=070_mount_c3 sys$output in$ - /prompt = "''ods2or5'" $ods_level = f$edit(in$,"TRIM,UPCASE") - "ODS" - "-" $if ods_level .eqs. helpvalue $then $msgdisp_verify $saylong "odsinfo" $if "I64" .eqs. "I64" $then $saylong "odsinfow" $endif $install_verify $goto 070_mount_c3 $endif $if ods_level .eqs. backvalue then goto 070_mount $if ( (ods_level .nes. "2") .and. (ods_level .nes. "5") ) $then $msgdisp_verify $say "''invresponse'" $install_verify $goto 070_mount_c2 $endif $if ods_level .eqs. "5" $then $msgdisp_verify $if "I64" .eqs. "I64" $then $saylong "hardlinksiw" $else $saylong "hardlinksi" $endif $install_verify $070_mount_c4: $read /error=070_mount_c4 sys$output in$ - /prompt = "''enabhard'" $msgdisp_verify $saylong "checkyesorno" "''in$'" $ans = $status $install_verify $if ans .eq. backansw then goto 070_mount_c3 $if ans .eq. helpansw $then $saylong "hardlinksinfo" $goto 070_mount_c4 $endif $if ans .eq. yesansw $then $ods_vol = "/VOLUME=HARDLINKS" $goto 070_mount_c5 $endif $if ans .eq. noansw $then $ods_vol = "" $goto 070_mount_c5 $endif $say "''yesorno'" $goto 070_mount_c4 $else $ods_vol = "" $endif $070_mount_c5: $msgdisp_verify $saylong "choosetoinstal" "''ods_level'" $install_verify $070_mount_e: $sayblank $read /error=070_mount_e sys$output in$ - /prompt = "''isthisok'" $msgdisp_verify $saylong "checkyesorno" "''in$'" $ans = $status $install_verify $if ans .eq. backansw then goto 070_mount_c2 $if ans .eq. helpansw then goto 070_mount $if ans .eq. noansw then goto 070_mount $if ans .ne. yesansw $then $say "''yesorno'" $goto 070_mount_e $endif $say "''initandmnt'" $if f$getdvi(target_disk,"MNT") then dismount/nounload 'target_disk' $target_modified = 2 $define /nolog /user sys$output nl: $define /nolog /user sys$error nl: $set noon $initialize /system /limit /headers=150000 /structure='ods_level' - 'ods_vol' 'target_disk' 'target_label' $if .not. $status $then $msgdisp_verify $saylong "proderror" "INITIALIZE /SYSTEM" "070_MOUNT_E" - "''sav_status'" $set noon $set verify $initialize /system /limit /headers=150000 /structure='ods_level' - 'ods_vol' 'target_disk' 'target_label' $install_verify $msgdisp_verify $sayblank $read /error=070_filesinspec_c sys$output in$ - /prompt = "''wanttoterm'" $if in$ .eqs. "" then in$ = yesvalue $saylong "checkyesorno" "''in$'" $ans = $status $install_verify $if ans .eq. backansw then goto 070_mount_c2 $if ans .eq. helpansw then goto 070_mount_e $if ans .eq. yesansw then goto terminate_exit $if ans .ne. noansw $then $say "''yesorno'" $goto 070_mount_e $endif $endif $set noon $define /nolog /user sys$output nl: $define /nolog /user sys$error nl: $mount /noassist 'target_disk' 'target_label' $sav_status = $status $set on $if .not. sav_status $then $say f$message(sav_status) $goto 060_target_b $endif $if ( "I64" .nes. "I64" ) then goto after_diag_partn $If f$trnlnm("AXPVMS$PCSI_SKIP_DIAG_PARTN") then goto after_diag_partn $if f$search("''target_disk'[VMS$COMMON]SYSMAINT.DIR") .eqs. "" - then create /dir 'target_disk'[VMS$COMMON.SYSMAINT] $if f$search("''target_disk'[VMS$COMMON.SYSMAINT]SYS$DIAGNOSTICS.SYS") - .nes. "" then goto after_diag_partn $define /nolog /user DIAG$FILE - "''target_disk'[VMS$COMMON.SYSMAINT]SYS$DIAGNOSTICS.SYS" $define /nolog /user SYS$OUTPUT nl: $run SYS$SYSTEM:EFI$CP $DECK init /create /size=600000 /contiguous /device_alias=xyz: DIAG$FILE DIAGNOSTICS $EOD $set file/nomove - 'target_disk'[VMS$COMMON.SYSMAINT]SYS$DIAGNOSTICS.SYS $AFTER_DIAG_PARTN: $install_upgrade = "I" $same_version = 0 $update_npag_bap_max_pa = 0 $else $if f$getdvi(target_disk,"MNT") then dismount 'target_disk' $set noon $define /nolog /user sys$output nl: $define /nolog /user sys$error nl: $mount /noassist /over=id 'target_disk' $sav_status = $status $set on $if .not. sav_status $then $say f$message(sav_status) $goto 060_target $endif $target_label = f$getdvi(target_disk,"VOLNAM") $if f$getdvi(target_disk,"swl") $then $dismount 'target_disk' $define sys$output nl: $define sys$error nl: $pipe mount /noassist /over=id 'target_disk' <PIPE> - search sys$input "%MOUNT-W-VOLSHDWMEM" /out=nl: $sav_status = $status $deassign sys$output $deassign sys$error $if sav_status .eqs. "%X10000001" $then $msgdisp_verify $saylong "tarshadow" $install_verify $goto 060_target $endif $msgdisp_verify $saylong "tarwrtlck" $install_verify $goto 060_target $endif $if f$search("''target_disk'[SYSE.SYSEXE]STANDALON.EXE") .eqs. "" - then goto 070_filesinspec_0 $set file /prot=s:rwed 'target_disk'[SYSE]*.DIR;* $set file /remove 'target_disk'[SYSE]SYSCOMMON.DIR;* $if f$search("''target_disk'[SYSE.SYSEXE]*.*") .nes. "" then - delete 'target_disk'[SYSE.SYSEXE]*.*;* $if f$search("''target_disk'[SYSE.SYS$LDR]*.*") .nes. "" then - delete 'target_disk'[SYSE.SYS$LDR]*.*;* $if f$search("''target_disk'[SYSE.SYSLIB]*.*") .nes. "" then - delete 'target_disk'[SYSE.SYSLIB]*.*;* $if f$search("''target_disk'[SYSE]SYSEXE.DIR") .nes. "" then - delete 'target_disk'[SYSE]SYSEXE.DIR;* $if f$search("''target_disk'[SYSE]SYS$LDR.DIR") .nes. "" then - delete 'target_disk'[SYSE]SYS$LDR.DIR;* $If F$search("''Target_disk'[SYSE]SYSLIB.DIR") .nes. "" then - delete 'target_disk'[SYSE]SYSLIB.DIR;* $if f$search("''target_disk'[000000]SYSE.DIR") .nes. "" $then $set file /prot=s:rwed 'target_disk'[000000]SYSE.DIR;* $delete 'target_disk'[000000]SYSE.DIR;* $endif $070_filesinspec_0: $spec_found = 0 $spec_count = 25 $070_filesinspec_a: $spec_file = f$search("''target_disk'[SYS*.SYS*]*.EXE;*",1) $if spec_file .eqs. "" then goto 070_filesinspec_b $v1 = f$locate(".",spec_file) + 1 $v2 = f$locate(";",spec_file) - v1 $xfile = "SYS$SYSDEVICE:[VMS$COMMON." + f$extract(v1,v2,spec_file) $kit_file = f$search("''xfile'",2) $if ( (f$locate("_MON.EXE",spec_file) .lt. f$length(spec_file) ) - .and. ( kit_file .eqs. "" ) ) $then $xfile = xfile - "_MON" $kit_file = f$search("''xfile'",2) $endif $if kit_file .nes. "" $then $if spec_found .eq. 0 $then $msgdisp_verify $saylong "filesinspec" $install_verify $spec_found = 1 $endif $if spec_count .gt. 19 $then $sayblank $read sys$output /error=070_returna inpt - /prompt = "''returnfile'" $070_returna: $say "''sysinspec'" $spec_count = 0 $endif $spec_count = spec_count + 1 $say " ''spec_file'" $endif $goto 070_filesinspec_a $070_filesinspec_b: $spec_file = f$search("''target_disk'[SYS*.SYS*]*.COM",1) $if spec_file .eqs. "" then goto 070_filesinspec_c $if f$locate("I64VMS$PCSI_EX_REM_PROCESSOR.COM",spec_file) - .lt. f$length(spec_file) then goto 070_filesinspec_b $v1 = f$locate(".",spec_file) + 1 $v2 = f$locate(";",spec_file) - v1 $xfile = "SYS$SYSDEVICE:[VMS$COMMON." + f$extract(v1,v2,spec_file) $kit_file = f$search("''xfile'",2) $if kit_file .nes. "" $then $xfile = "[" + xfile - "SYS$SYSDEVICE:[VMS$COMMON." $define/user sys$output nl: $define/user sys$error nl: $search 'prod_ver_file' "''xfile'"," write " /match=and $if $status .ne. 1 $then $if spec_found .eq. 0 $then $msgdisp_verify $saylong "filesinspec" $install_verify $spec_found = 1 $endif $if spec_count .gt. 20 $then $sayblank $read sys$output /error=070_returnb inpt - /prompt = "''returnfile'" $070_returnb: $say "''sysinspec'" $spec_count = 0 $endif $spec_count = spec_count + 1 $say " ''spec_file'" $endif $endif $goto 070_filesinspec_b $070_filesinspec_c: $if spec_found .ne. 0 $then $sayblank $read /error=070_filesinspec_c sys$output in$ - /prompt = "''wanttoterm'" $if in$ .eqs. "" then in$ = yesvalue $msgdisp_verify $saylong "checkyesorno" "''in$'" $ans = $status $install_verify $if ans .eq. backansw then goto 060_target_b $if ans .eq. helpansw then goto 070_filesinspec_0 $if ans .eq. yesansw then goto terminate_exit $if ans .ne. noansw $then $say "''yesorno'" $goto 070_filesinspec_c $endif $endif $070_monexefiles_0: $monexe_found = 0 $MONEXE_count = 25 $070_monexefiles_a: $monexe_file = f$search("''target_disk'[VMS$COMMON.SYS*]*_MON.EXE;*",1) $if monexe_file .eqs. "" then goto 070_monexefiles_b $v1 = f$locate(".",monexe_file) + 1 $v2 = f$locate(";",monexe_file) - v1 $xfile = "SYS$SYSDEVICE:[VMS$COMMON." + f$extract(v1,v2,monexe_file) $kit_file = f$search("''xfile'",2) $if kit_file .nes. "" then goto 070_monexefiles_a $xfile = xfile - "_MON" $kit_file = f$search("''xfile'",2) $if kit_file .eqs. "" then goto 070_monexefiles_a $if monexe_found .eq. 0 $then $msgdisp_verify $saylong "monexefiles" $install_verify $monexe_found = 1 $endif $if monexe_count .gt. 19 $then $sayblank $read sys$output /error=070_returnm inpt - /prompt = "''returnfile'" $070_returnm: $say "''monexefound'" $monexe_count = 0 $endif $monexe_count = monexe_count + 1 $say " ''monexe_file'" $goto 070_monexefiles_a $070_monexefiles_b: $if monexe_found .ne. 0 $then $sayblank $read /error=070_monexefiles_b sys$output in$ - /prompt = "''wanttoterm'" $if in$ .eqs. "" then in$ = yesvalue $msgdisp_verify $saylong "checkyesorno" "''in$'" $ans = $status $install_verify $if ans .eq. backansw then goto 060_target $if ans .eq. helpansw then goto 070_monexefiles_0 $if ans .eq. yesansw then goto terminate_exit $if ans .ne. noansw $then $say "''yesorno'" $goto 070_monexefiles_b $endif $endif $if f$parse("''target_disk'[VMS$COMMON]") .eqs. "" $then $install_upgrade = "I" $define/nolog pcsi$specific 'target_disk'[SYS0.] $else $if f$search("''target_disk'[VMS$COMMON.SYSEXE]VMB.EXE") .gts. "" $then $msgdisp_verify $saylong "vaxvmsfound" $install_verify $goto 050_gettype $endif $070_noapb_a: $if ( "I64" .eqs. "ALPHA" ) .and. - ( f$search("''target_disk'[VMS$COMMON.SYSEXE]APB.EXE") ) - .nes. "" then goto 070_after_apb $if ( "I64" .eqs. "I64" ) .and. - ( f$search("''target_disk'[VMS$COMMON.SYS$LDR]SYS$EFI.SYS") ) - .nes. "" then goto 070_after_apb $msgdisp_verify $saylong "apbnotfound" $install_verify $070_noapb_b: $sayblank $read /error=070_noapb_b sys$output in$ - /prompt = "''wanttoterm'" $if in$ .eqs. "" then in$ = yesvalue $msgdisp_verify $saylong "checkyesorno" "''in$'" $ans = $status $install_verify $if ans .eq. backansw then goto 050_gettype $if ans .eq. helpansw then goto 070_noapb_a $if ans .eq. yesansw then goto terminate_exit $if ans .ne. noansw $then $say "''yesorno'" $goto 070_noapb_b $endif $070_after_apb: $install_upgrade = "U" $top_exe = f$search("''target_disk'[SYSEXE]SYSBOOT.EXE") $if top_exe .eqs. "" then goto 070_aftertop $real_exe = f$search("''target_disk'[VMS$COMMON.SYSEXE]SYSBOOT.EXE") $top_fid = "TOP_FID" $real_fid = "REAL_FID" $define/nolog sys$output nl: $define/nolog sys$error nl: $set noon $top_fid = f$file_attributes(top_exe,"fid") $real_fid = f$file_attributes(real_exe,"fid") $set on $deassign sys$output $deassign sys$error $if top_fid .eqs. real_fid $then $set file/remove 'top_exe' $else $define/nolog sys$output nl: $define/nolog sys$error nl: $set noon $delete/nolog 'top_exe' $if .not. $status then set file/remove 'top_exe' $set on $deassign sys$output $deassign sys$error $endif $070_aftertop: $if f$search("''target_disk'[000000]SYSEXE.DIR") .nes. "" - .and. f$search("''target_disk'[SYSEXE]*.*") .eqs. "" then - delete/nolog 'target_disk'[000000]SYSEXE.DIR; $root_dir = f$search("",1) $070_root_loop: $root_dir = f$search("''target_disk'[000000]SYS*.DIR",1) $if root_dir .eqs. "" then goto 070_root_error $root_name = f$parse("''root_dir'",,,"NAME","SYNTAX_ONLY") $if f$parse("''target_disk'[''root_name'.SYSCOMMON]") .gts. "" - .and. f$search("''target_disk'[''root_name'.SYSEXE]STANDALON.EXE") - .eqs. "" $then $define/nolog pcsi$specific 'target_disk'['root_name'.] $goto 070_undo_check $else $goto 070_root_loop $endif $070_root_error: $msgdisp_verify $saylong "nosysroots" $install_verify $goto 050_gettype $endif $070_undo_check: $undo$file = f$search("''target_disk'[PCSI$UNDO_*]x.x",3) $undo$file = - f$search("''target_disk'[PCSI$UNDO_*]PCSI$UNDO_OBJECT_DATA.DAT",3) $if undo$file .eqs. "" then goto 070_undo_exit $define /nolog sys$error nl: $define /nolog sys$output nl: $set noon $pipe product show recovery_data /remote <PIPE> - search sys$input "VMS" <PIPE> - search sys$input "AXPVMS VMS ","I64VMS VMS " /match=nor $sav_status = $status .and. %X0FFFFFFF $set on $deassign sys$error $deassign sys$output $if sav_status .eqs. %X08D78053 $then $define /user /nolog sys$error nl: $define /user /nolog sys$output nl: $product delete recovery_data /remote /options=noconfirm $goto 070_undo_exit $endif $if sav_status .eqs. %X00000001 $then $msgdisp_verify $saylong "recovery_data" $install_verify $product delete recovery_data /remote $goto 070_undo_exit $endif $msgdisp_verify $saylong "proderror" "PIPE PRODUCT SHOW RECOVERY" "070_UNDO_CHECK" - "''sav_status'" $set noon $set verify $pipe product show recovery_data /remote <PIPE> - search sys$input "VMS" <PIPE> - search sys$input "AXPVMS VMS ","I64VMS VMS " /match=nor $install_verify $set on $read /error=070_undo_check sys$output in$ - /prompt = "''wanttoterm'" $if in$ .eqs. "" then in$ = yesvalue $msgdisp_verify $saylong "checkyesorno" "''in$'" $ans = $status $install_verify $if ans .eq. backansw then goto 050_gettype $if ans .eq. helpansw then goto 070_undo_check $if ans .eq. yesansw then goto terminate_exit $if ans .eq. noansw then goto 070_mount_g $say "''yesorno'" $goto 070_undo_check $070_undo_exit: $undo$file = f$search("''target_disk'[PCSI$UNDO_*]x.x",3) $undo$file = - f$search("''target_disk'[PCSI$UNDO_*]PCSI$UNDO_OBJECT_DATA.DAT",3) $if undo$file .eqs. "" then goto 070_mount_g $msgdisp_verify $saylong "recovery_abort" $install_verify $goto 0_exit $070_mount_g: $if target_label .gts. " " $then $msgdisp_verify $saylong "tardisklab" $install_verify $if f$search("disk$''target_label':[000000]000000.DIR") .eqs. "" $then $msgdisp_verify $saylong "tarlabbad" $install_verify $goto 070_mount_j $endif $else $msgdisp_verify $saylong "tarnolab" $install_verify $goto 070_mount_j $endif $070_mount_h: $sayblank $read /error=070_mount_h sys$output in$ - /prompt = "''keepthislab'" $if in$ .eqs. "" then in$ = yesvalue $msgdisp_verify $saylong "checkyesorno" "''in$'" $ans = $status $install_verify $if ans .eq. backansw then goto 060_target_b $if ans .eq. helpansw then goto 070_mount $if ans .eq. yesansw then goto 070_structure $if ans .eq. noansw then goto 070_mount_j $say "''yesorno'" $goto 070_mount_h $070_mount_j: $sayblank $read /error=070_mount_j sys$output inpt - /prompt = "''entervollab'" $inpt = f$edit(inpt,"TRIM,UPCASE") $if inpt .eqs. backvalue then goto 070_mount_g $if inpt .eqs. helpvalue then goto 070_mount $if inpt .eqs. "" then inpt = default_target_label $if inpt .eqs. target_label $then $say "''samelabel'" $goto 070_mount_h $endif $vol_ln = f$length(inpt) $if vol_ln .gt. 12 $then $say "''namexc12'" $goto 070_mount_j $endif $val_chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789$_-" $num_chars = f$length(val_chars) $chr_no = 0 $070_mount_j1: $if f$locate(f$extract(chr_no,1,inpt),val_chars) .ge. num_chars $then $say "''labelinvchr'" $goto 070_mount_j $endif $chr_no = chr_no + 1 $if chr_no .lt. vol_ln then goto 070_mount_j1 $if f$trnlnm("DISK$''inpt'") .nes. "" $then $msgdisp_verify $saylong "otherdisklab" $install_verify $show log DISK$'inpt' $goto 070_mount_j $endif $target_label = inpt $target_modified = 1 $set volume 'target_disk' /label='target_label'/nolog $dismount/nounload 'target_disk' $mount_count = 0 $070_mount_remount: $set noon $define/nolog/user sys$output nl: $define/nolog/user sys$error nl: $mount/noassist 'target_disk' 'target_label' $sav_status = $status $if .not. sav_status $then $if mount_count .gt. 99 $then $mount/noassist 'target_disk' 'target_label' $goto err_exit $endif $mount_count = mount_count + 1 $goto 070_mount_remount $endif $set on $070_structure: $if f$getdvi(target_disk,"acptype") .nes. "F11V2" - then goto 070_mount_l $msgdisp_verify $if "I64" .eqs. "I64" $then $saylong "odsupgw" $else $saylong "odsupg" $endif $install_verify $070_structure2: $sayblank $read /error=070_structure2 sys$output in$ - /prompt = "''odscvt'" $msgdisp_verify $saylong "checkyesorno" "''in$'" $ans = $status $install_verify $if ans .eq. backansw then goto 060_target_b $if ans .eq. helpansw $then $msgdisp_verify $saylong "odsinfo" $if "I64" .eqs. "I64" $then $saylong "odsinfow" $endif $install_verify $goto 070_structure2 $endif $if ans .eq. yesansw $then $set volume 'target_disk' /structure_level=5 /nolog $msgdisp_verify $saylong "ods5to2" $install_verify $goto 070_structure3 $endif $if ans .eq. noansw $then $goto 070_mount_l $endif $say "''yesorno'" $goto 070_structure2 $070_structure3: $msgdisp_verify $if "I64" .eqs. "I64" $then $saylong "hardlinksuw" $else $saylong "hardlinksu" $endif $saylong "hardlinksu" $install_verify $070_structure4: $read /error=070_structure4 sys$output in$ - /prompt = "''enabhard'" $msgdisp_verify $saylong "checkyesorno" "''in$'" $ans = $status $install_verify $if ans .eq. backansw then goto 060_target_b $if ans .eq. helpansw $then $msgdisp_verify $saylong "hardlinksinfo" $install_verify $goto 070_structure4 $endif $if ans .eq. yesansw $then $set volume 'target_disk' /volume=hardlinks /nolog $msgdisp_verify $saylong "Hardenab" $install_verify $dismount/nounload 'target_disk' $define/nolog/user sys$output nl: $define/nolog/user sys$error nl: $mount/noassist 'target_disk' 'target_label' $analyze/disk_structure/repair/nooutput/progress=1000 'target_disk' $goto 070_mount_l $endif $if ans .eq. noansw $then $goto 070_mount_l $endif $say "''yesorno'" $goto 070_structure2 $endif $070_mount_l: $if init_preserve .eqs. "P" $then $if install_upgrade .eqs. "I" $then $msgdisp_verify $saylong "preserveinst" $install_verify $same_version = 0 $update_npag_bap_max_pa = 0 $else $msgdisp_verify $saylong "preserveupgd" $install_verify $tar_pcsi_ver = "" $if f$trnlnm("pcsi$ver","LNM$JOB") .gts. "" then - deassign/job pcsi$ver $if f$search("''target_disk'[VMS$COMMON.SYSEXE]PCSI$MAIN.EXE") - .eqs. "" $then $goto 070_no_tar_pcsi $endif $if f$search("''target_disk'[VMS$COMMON.SYSLIB]PCSI$SHR.EXE") - .eqs. "" $then $goto 070_no_tar_pcsi $endif $if f$search("''target_disk'[VMS$COMMON.SYSUPD]PCSI.CLD") - .eqs. "" $then $goto 070_no_tar_pcsi $endif $define/job pcsi$main 'target_disk'[VMS$COMMON.SYSEXE]PCSI$MAIN.EXE $define/job pcsi$shr 'target_disk'[VMS$COMMON.SYSLIB]PCSI$SHR.EXE $set command 'target_disk'[VMS$COMMON.SYSUPD]PCSI.CLD $if f$trnlnm("pcsi$ver","LNM$JOB") .gts. "" then - deassign/job pcsi$ver $define sys$error nl: $define sys$output nl: $set noon $pipe ( set command 'target_disk'[VMS$COMMON.SYSUPD]PCSI.CLD ; - prod show utility ) <PIPE> - search sys$input - "version:" <PIPE> - ( read sys$input str ; - ver = f$extract(f$locate("version:",str)+9,f$length(str),str) ; - define /job pcsi$ver &ver ) $set on $deassign sys$error $deassign sys$output $tar_pcsi_ver = f$trnlnm("pcsi$ver","LNM$JOB") $if f$trnlnm("pcsi$ver","LNM$JOB") .gts. "" then - deassign/job pcsi$ver $deasign/job pcsi$main $deasign/job pcsi$shr $set command SYS$UPDATE:PCSI.CLD $cd_pcsi_ver = "" $if f$trnlnm("pcsi$ver","LNM$JOB") .gts. "" then deassign/job pcsi$ver $define sys$error nl: $define sys$output nl: $set noon $pipe prod show utility <PIPE> - search sys$input - "version:" <PIPE> - ( read sys$input str ; - ver = f$extract(f$locate("version:",str)+9,f$length(str),str) ; - define /job pcsi$ver &ver ) $set on $deassign sys$error $deassign sys$output $cd_pcsi_ver = f$trnlnm("pcsi$ver","LNM$JOB") $if f$trnlnm("pcsi$ver","LNM$JOB") .gts. "" then deassign/job pcsi$ver $pcsi$in = tar_pcsi_ver $gosub 070_pcsi_parse $tar_pcsi_verx = pcsi$out $pcsi$in = cd_pcsi_ver $gosub 070_pcsi_parse $cd_pcsi_verx = pcsi$out $if tar_pcsi_verx .gts. cd_pcsi_verx $then $070_newerpcsi: $msgdisp_verify $saylong "newerpcsi" "''tar_pcsi_ver'" "''cd_pcsi_ver'" $install_verify $070_usenewpcsi: $sayblank $read /error=070_usenewpcsi sys$output in$ - /prompt = "''usenewpcsi'" $if in$ .eqs. "" then in$ = yesvalue $msgdisp_verify $saylong "checkyesorno" "''in$'" $ans = $status $install_verify $if ans .eq. backansw then goto 060_target $if ans .eq. helpansw then goto 070_newerpcsi $if ans .eq. yesansw then pcsi$usenew = 1 $if ans .eq. noansw then pcsi$usenew = 0 $if ans .eq. invalidansw $then $say "yesorno" $goto 070_usenewpcsi $endif $070_keepnewpcsi: $sayblank $read /error=070_keepnewpcsi sys$output in$ - /prompt = "''keepnewpcsi'" $if in$ .eqs. "" then in$ = yesvalue $msgdisp_verify $saylong "checkyesorno" "''in$'" $ans = $status $install_verify $if ans .eq. backansw then goto 070_usenewpcsi $if ans .eq. helpansw then goto 070_newerpcsi $if ans .eq. yesansw then pcsi$keepnew = 1 $if ans .eq. noansw then pcsi$keepnew = 0 $if ans .eq. invalidansw $then $say "yesorno" $goto 070_keepnewpcsi $endif $sayblank $if pcsi$usenew .or. pcsi$keepnew $then $if f$search("''target_disk'[000000]PCSI$NEWER.DIR") - .eqs. "" $then $create/dir 'target_disk'[PCSI$NEWER] $endif $if f$search("''target_disk'[PCSI$NEWER]") .nes. "" $then $delete 'target_disk':[PCSI$NEWER]*.*;* $endif $copy 'target_disk'[vms$common.sysexe]pcsi$main.exe - 'target_disk'[PCSI$NEWER] $copy 'target_disk'[vms$common.syslib]pcsi$shr.exe - 'target_disk'[PCSI$NEWER] $copy 'target_disk'[vms$common.sysupd]pcsi.cld - 'target_disk'[PCSI$NEWER] $endif $if pcsi$usenew $then $define/job pcsi$main - 'target_disk'[PCSI$NEWER]pcsi$main.exe $define/job pcsi$shr - 'target_disk'[PCSI$NEWER]pcsi$shr.exe $set command 'target_disk'[PCSI$NEWER]PCSI.CLD $tar$pcsi_cld := 'target_disk'[PCSI$NEWER]PCSI.CLD $else $tar$pcsi_cld := SYS$UPDATE:PCSI.CLD $endif $endif $goto 070_no_tar_pcsi $070_pcsi_parse: $pcsi$v = "" $pcsi$m = "" $pcsi$n = "" $pcsi$u = "" $pcsi$e = "" $pcsi$v = f$extract(0,1,pcsi$in) $pcsi$in = pcsi$in - pcsi$v $pcsi$v = f$edit(pcsi$v,"UPCASE") $pcsi$m = f$element(0,".",pcsi$in) $pcsi$in = pcsi$in - pcsi$m - "." $if f$length(pcsi$m) .lt. 2 then pcsi$m = "0" + pcsi$m $if f$length(pcsi$m) .lt. 2 then pcsi$m = "0" + pcsi$m $if f$length(pcsi$m) .ne. 2 then say "ERROR: PCSI$M length" $pcsi$n = f$element(0,"-",pcsi$in) $pcsi$in = pcsi$in - pcsi$n - "-" $if f$length(pcsi$n) .lt. 2 then pcsi$n = "0" + pcsi$n $if f$length(pcsi$n) .lt. 2 then pcsi$n = "0" + pcsi$n $if f$length(pcsi$n) .ne. 2 then say "ERROR: PCSI$N length" $d1 = 0 $070_u_loop: $dc = f$extract(d1,1,pcsi$in) $if dc .eqs. "" then goto no_dash $if f$locate(dc,"0123456789") .lt. 10 $then $pcsi$u = pcsi$u + dc $d1 = d1 + 1 $goto 070_u_loop $endif $070_e_loop: $if dc .gts. "" $then $pcsi$e = pcsi$e + dc $d1 = d1 + 1 $dc = f$extract(d1,1,pcsi$in) $goto 070_e_loop $endif $NO_DASH: $if f$length(pcsi$u) .lt. 9 then pcsi$u = "0" + pcsi$u $if f$length(pcsi$u) .lt. 9 then pcsi$u = "0" + pcsi$u $if f$length(pcsi$u) .lt. 9 then pcsi$u = "0" + pcsi$u $if f$length(pcsi$u) .lt. 9 then pcsi$u = "0" + pcsi$u $if f$length(pcsi$u) .lt. 9 then pcsi$u = "0" + pcsi$u $if f$length(pcsi$u) .lt. 9 then pcsi$u = "0" + pcsi$u $if f$length(pcsi$u) .lt. 9 then pcsi$u = "0" + pcsi$u $if f$length(pcsi$u) .lt. 9 then pcsi$u = "0" + pcsi$u $if f$length(pcsi$u) .lt. 9 then pcsi$u = "0" + pcsi$u $if f$length(pcsi$u) .ne. 9 then say "ERROR: PCSI$U length" $if f$length(pcsi$e) .lt. 16 then pcsi$e = pcsi$e + " " $if f$length(pcsi$e) .lt. 16 then pcsi$e = pcsi$e + " " $if f$length(pcsi$e) .lt. 16 then pcsi$e = pcsi$e + " " $if f$length(pcsi$e) .lt. 16 then pcsi$e = pcsi$e + " " $if f$length(pcsi$e) .lt. 16 then pcsi$e = pcsi$e + " " $if f$length(pcsi$e) .lt. 16 then pcsi$e = pcsi$e + " " $if f$length(pcsi$e) .lt. 16 then pcsi$e = pcsi$e + " " $if f$length(pcsi$e) .lt. 16 then pcsi$e = pcsi$e + " " $if f$length(pcsi$e) .lt. 16 then pcsi$e = pcsi$e + " " $if f$length(pcsi$e) .lt. 16 then pcsi$e = pcsi$e + " " $if f$length(pcsi$e) .lt. 16 then pcsi$e = pcsi$e + " " $if f$length(pcsi$e) .lt. 16 then pcsi$e = pcsi$e + " " $if f$length(pcsi$e) .lt. 16 then pcsi$e = pcsi$e + " " $if f$length(pcsi$e) .lt. 16 then pcsi$e = pcsi$e + " " $if f$length(pcsi$e) .lt. 16 then pcsi$e = pcsi$e + " " $if f$length(pcsi$e) .lt. 16 then pcsi$e = pcsi$e + " " $if f$length(pcsi$e) .ne. 16 then say "ERROR: PCSI$E length" $pcsi$out = pcsi$m + pcsi$n + pcsi$u + pcsi$e + pcsi$v $return $070_no_tar_pcsi: $set noon $define/nolog/user sys$output nl: $define/nolog/user sys$error nl: $product show product VMS /remote /version='prod_ver_vis' $sav_status = $status $set on $if sav_status .eq. %X0652A043 $then $set noon $define/nolog/user sys$output nl: $define/nolog/user sys$error nl: $product show product VMS /remote /version='part_ver_vis' $sav_status = $status $set on $endif $if sav_status .eq. 1 $then $same_version = 1 $else $if sav_status .eq. %X0652A043 - .or. F$SEARCH("SYS$SYSTEM:*.PCSI$DATABASE") .eqs. "" $then $same_version = 0 $else $same_version = 0 $msgdisp_verify $saylong "proderror" "PRODUCT SHOW" "070_MOUNT_L" - "''sav_status'" $set noon $set verify $product show product VMS /remote /version='prod_ver_vis' $product show product VMS /remote /version='part_ver_vis' $install_verify $set on $070_mount_m: $sayblank $read /error=070_mount_m sys$output in$ - /prompt = "''wanttoterm'" $if in$ .eqs. "" then in$ = yesvalue $msgdisp_verify $saylong "checkyesorno" "''in$'" $ans = $status $install_verify $if ans .eq. backansw then goto 060_target_b $if ans .eq. helpansw then goto 070_mount_l $if ans .eq. yesansw then goto terminate_exit $if ans .ne. noansw then goto 070_mount_m $endif $endif $set noon $define/nolog/user sys$output nl: $define/nolog/user sys$error nl: $product show product VMS /remote /span_versions=below=I7.2 $sav_status = $status $set on $if sav_status .eq. 1 $then $update_npag_bap_max_pa = 1 $else $if sav_status .eq. %X0652A043 $then $update_npag_bap_max_pa = 0 $else $update_npag_bap_max_pa = 0 $msgdisp_verify $saylong "proderror" "PRODUCT SHOW" "070_MOUNT_M" - "''sav_status'" $set noon $set verify $product show product VMS /remote /span_versions=below=I7.2 $set on $install_verify $070_mount_n: $sayblank $read /error=070_mount_n sys$output in$ - /prompt = "''wanttoterm'" $if in$ .eqs. "" then in$ = yesvalue $msgdisp_verify $saylong "checkyesorno" "''in$'" $ans = $status $install_verify $if ans .eq. backansw then goto 060_target_b $if ans .eq. helpansw then goto 070_mount_l $if ans .eq. yesansw then goto terminate_exit $if ans .ne. noansw then goto 070_mount_n $endif $endif $endif $endif $if install_upgrade .eqs. "I" $then $say "''crepagswp'" $create/dir/protection=(S:RWE,O:RWE,G:RE,W:RE) PCSI$SPECIFIC:[SYSEXE] $set noon $define/nolog/user sys$output nl: $define/nolog/user sys$error nl: $mcr sysgen create PCSI$SPECIFIC:[SYSEXE]PAGEFILE.SYS - /size=4604 /nocontig $set on $if f$search("PCSI$SPECIFIC:[SYSEXE]PAGEFILE.SYS") .eqs. "" $then $say "''cantcrepag'" $goto 0_exit $endif $set noon $define/nolog/user sys$output nl: $define/nolog/user sys$error nl: $mcr sysgen create PCSI$SPECIFIC:[SYSEXE]SWAPFILE.SYS - /size=1000 /nocontig $set on $if f$search("PCSI$SPECIFIC:[SYSEXE]SWAPFILE.SYS") .eqs. "" $then $say "''cantcreswp'" $goto 0_exit $endif $endif $if f$search("''target_disk'[000000]VMS$COMMON.DIR") .eqs. "" - then goto 070_targetdirorg_z $if f$search("''target_disk'[''root_name']SYSCOMMON.DIR") .eqs. "" - then goto 070_targetdirorg_z $if f$file_attributes("''target_disk'[000000]VMS$COMMON.DIR","FID") - .nes. f$file_attributes("''target_disk'[''root_name']SYSCOMMON.DIR","FID") $then $070_targetdirorg_a: $msgdisp_verify $saylong "targetdirorg" $install_verify $070_targetdirorg_b: $sayblank $read /error=070_targetdirorg_b sys$output in$ - /prompt = "''wanttoterm'" $if in$ .eqs. "" then in$ = yesvalue $msgdisp_verify $saylong "checkyesorno" "''in$'" $ans = $status $install_verify $if ans .eq. helpansw then goto 070_targetdirorg_a $if ans .eq. yesansw then goto terminate_exit $if ans .eq. noansw then goto 070_targetdirorg_z $say "''yesorno'" $goto 070_targetdirorg_b $endif $070_targetdirorg_z: $if "I64" .eqs. "I64" $then $bcfg_flags = "" $msgdisp_verify $saylong "bcfg_bootopt" $install_verify $read /error=070_targetdirorg_Z sys$output in$ - /prompt = "''bcfg_wantopt'" $if in$ .eqs. "" then in$ = yesvalue $msgdisp_verify $saylong "checkyesorno" "''in$'" $ans = $status $install_verify $if ans .eq. backansw then goto 070_mount $if ans .eq. helpansw then goto 070_targetdirorg_z $if ans .eq. yesansw then bcfg$choice = 1 $if ans .eq. noansw then bcfg$choice = 0 $if (ans .ne. yesansw) .and. (ans .ne. noansw) then - goto 070_targetdirorg_z $if .not. bcfg$choice then goto 070_targetdirorg_zz $070_targetdirorg_z1: $bcfg = "$SYS$SYSTEM:EFI$BCFG.EXE" $define /nolog sys$error nl: $define /nolog sys$output nl: $pipe bcfg BOOT SHOW 'target_disk' <PIPE> search/noout sys$input "0 entries found." $sav_status = $status .and. %X0FFFFFFF $deassign sys$error $deassign sys$output $if sav_status .ne. 1 then goto 070_targetdirorg_zz $msgdisp_verify $saylong "bcfg_setflags" $install_verify $read /error=070_targetdirorg_Z1 sys$output ans - /prompt = "''bcfg_entflags'" $if ans .eq. backansw then goto 070_targetdirorg_z $if ans .eq. helpansw then goto 070_targetdirorg_z $bcfg_flags = f$edit(ans,"TRIM") $if f$edit(f$extract(0,3,bcfg_flags),"UPCASE") .eqs. "-FL" - then bcfg_flags = f$extract(4,8,bcfg_flags) $if bcfg_flags .gts. "" then bcfg_flags = "-fl " + bcfg_flags $070_targetdirorg_zz: $endif $if f$trnlnm("I64VMS$PCSI_V820","LNM$JOB") .gts. "" - then deassign/job I64VMS$PCSI_V820 $if "I64" .eqs. "I64" $then $set noon $define/nolog/user sys$output nl: $define/nolog/user sys$error nl: $product show product VMS /remote /version=V8.2 $sav_status = $status $set on $if sav_status .eq. 1 $then $define/job/nolog I64VMS$PCSI_V820 "YES" $endif $endif $if install_upgrade .nes. "I" then goto 095_ask_clu $080_set_pass: $msgdisp_verify $saylong "entersyspass" $install_verify $sayblank $080_read_pass: $sayblank $set term sys$output /noecho $read /error=080_read_pass sys$output pwd - /prompt = "''passforsys'" $set term sys$output /echo $sayblank $pwd = f$edit(pwd,"COLLAPSE,UPCASE") $if pwd .eqs. helpvalue then goto 080_set_pass $if pwd .eqs. backvalue then goto 060_target $pwd_ln = f$length(pwd) $if pwd_ln .lt. 8 $then $say "''passless8'" $goto 080_read_pass $endif $if pwd_ln .gt. 31 $then $say "''passmore31'" $goto 080_read_pass $endif $val_chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789$_" $num_chars = f$length(val_chars) $chr_no = 0 $080_chk_chr: $if f$locate(f$extract(chr_no,1,pwd),val_chars) .ge. num_chars $then $say "''passinvchr'" $goto 080_read_pass $endif $chr_no = chr_no + 1 $if chr_no .lt. pwd_ln then goto 080_chk_chr $080_ver_pass: $sayblank $set term sys$output /noecho $read /error=080_ver_pass sys$output ver - /prompt = "''versyspass'" $set term sys$output /echo $sayblank $ver = f$edit(ver,"COLLAPSE,UPCASE") $if ver .eqs. helpvalue then goto 080_set_pass $if ver .eqs. backvalue then goto 080_read_pass $if pwd .nes. ver $then $say "''passvererr'" $goto 080_read_pass $endif $vms$chkpwd := "$SYS$SYSDEVICE:[VMS$COMMON.SYSUPD]VMS$CHKPWD.EXE" $define/nolog/user sys$output nl: $define/nolog/user sys$error nl: $vms$chkpwd 'pwd' $if $status .eq. %xe7a $then $msgdisp_verify $saylong "passezguess" $install_verify $080_pwd_re: $sayblank $read /error=080_pwd_re sys$output in$ - /prompt = "''otherpass'" $if in$ .eqs. "" then in$ = yesvalue $msgdisp_verify $saylong "checkyesorno" "''in$'" $ans = $status $install_verify $if ans .eq. backansw then goto 080_read_pass $if ans .eq. helpansw then goto 080_set_pass $if ans .eq. noansw then goto 080_read_pass $if ans .eq. yesansw then goto 080_pwd_ok $say "''yesorno'" $goto 080_read_pass $endif $080_pwd_ok: $if f$parse("''target_disk'[VMS$COMMON.SYSEXE]") .eqs. "" - then create/dir/protection=(S:RWE,O:RWE,G:RE,W:RE) - 'target_disk'[VMS$COMMON.SYSEXE] $if f$search("''target_disk'[VMS$COMMON.SYSEXE]SYSUAF.DAT") .nes. "" - then delete/nolog 'target_disk'[VMS$COMMON.SYSEXE]SYSUAF.DAT; $define/nolog/exec sysuaf 'target_disk'[VMS$COMMON.SYSEXE]SYSUAF $define/nolog/exec rightslist 'target_disk'[VMS$COMMON.SYSEXE]RIGHTSLIST $define/nolog/exec netproxy 'target_disk'[VMS$COMMON.SYSEXE]NETPROXY $uaf = "$SYS$SYSTEM:AUTHORIZE" $set noon $define/nolog/user sys$command sys$input $define/nolog/user sys$output nl: $define/nolog/user sys$error nl: $uaf $DECK yes $EOD $sav_status = $status $set on $if .not. sav_status then - say "''cantcreuaf'" $set noon $define/nolog/user sys$output nl: $define/nolog/user sys$error nl: $uaf modify SYSTEM /flags=(nodisuser)/password='pwd'/nopwdexpired $sav_status = $status $set on $delete/symbol pwd $delete/symbol ver $if .not. sav_status then - say "''cantsetpass'" $set noon $define/nolog/user sys$output nl: $define/nolog/user sys$error nl: $uaf create /rights $sav_status = $status $set on $if .not. sav_status then - say "''cantcreright'" $set noon $define/nolog/user sys$output nl: $define/nolog/user sys$error nl: $uaf add/id/user=* $sav_status = $status $set on $if .not. sav_status then - say "''cantcreright'" $deassign/exec sysuaf $deassign/exec rightslist $deassign/exec netproxy $if f$parse("''target_disk'[VMS$COMMON.SYSEXE]") .eqs. "" - then create/dir/protection=(S:RWE,O:RWE,G:RE,W:RE) - 'target_disk'[VMS$COMMON.SYSEXE] $if f$search("''target_disk'[VMS$COMMON.SYSEXE]LMF$LICENSE.LDB") - .eqs. "" then license create - /database = 'target_disk'[VMS$COMMON.SYSEXE]LMF$LICENSE.LDB $095_ask_clu: $sayblank $read /error=095_ask_clu sys$output in$ - /prompt = "''vmsclumem'" $msgdisp_verify $saylong "checkyesorno" "''in$'" $ans = $status $install_verify $if ans .eq. backansw $then $if install_upgrade .eqs. "I" $then goto 080_set_pass $else goto 070_mount $endif $endif $if ans .eq. helpansw then goto 095_ask_clu $if ans .eq. yesansw $then $clu_mem = "Y" ! don't use YESVALUE -- STARTUP_INS.COM requires "Y" $if install_upgrade .eqs. "I" $then $msgdisp_verify $saylong "isvmsclumem" $install_verify $endif $else $if ans .eq. noansw $then $clu_mem = "N" ! don't use NOVALUE -- STARTUP_INS.COM requires "N" $else $say "''yesorno'" $goto 095_ask_clu $endif $endif $095_ask_galaxy: $if "I64" .eqs. "I64" $then $galaxy_mem = "N" ! don't use NOVALUE -- STARTUP_INS.COM requires "N" $goto 095_after_galaxy $endif $sayblank $read /error=095_ask_galaxy sys$output in$ - /prompt = "''galaxyinst'" $msgdisp_verify $saylong "checkyesorno" "''in$'" $ans = $status $install_verify $if ans .eq. backansw then goto 095_ask_clu $if ans .eq. helpansw then goto 095_ask_galaxy $if ans .eq. yesansw $then $galaxy_mem = "Y" ! don't use YESVALUE -- STARTUP_INS.COM requires "Y" $else $if ans .eq. noansw $then $galaxy_mem = "N" ! don't use NOVALUE -- STARTUP_INS.COM requires "N" $else $say "''yesorno'" $goto 095_ask_galaxy $endif $endif $095_after_galaxy: $if install_upgrade .nes. "U" then goto 095_after_lp_checks $define/nolog/user sys$output nl: $define/nolog/user sys$error nl: $set noon $prod sho prod /producer=DEC DECRAM /remote $sav_status = $status $set on $if sav_status .eq. 1 $then $msgdisp_verify $saylong "remove_decram" $install_verify $goto terminate_exit $endif $define/nolog/user sys$output nl: $define/nolog/user sys$error nl: $set noon $prod sho prod vms /remote /span_versions=below=V8.3 $sav_status = $status $set on $if sav_status .eq. 1 $then $msgdisp_verify $saylong "remove_decramverb" $install_verify $endif $095_check_kerberos: $define/nolog/user sys$output nl: $define/nolog/user sys$error nl: $set noon $product show product VMS /remote /version=V7.3-1 $sav_status = $status $set on $if sav_status .eq. 1 $then $define/nolog/user sys$output nl: $define/nolog/user sys$error nl: $set noon $product show product KERBEROS /remote $sav_status = $status $set on $if sav_status .ne. 1 $then $define/nolog/user pcsi$source 'other_prods' $define/nolog/user sys$output nl: $define/nolog/user sys$error nl: $set noon $product register product KERBEROS /version=V1.0 - /KIT_ATTRIBUTES=TYPE=TRANSITION - /PRODUCER=HP - /BASE_SYSTEM=I64VMS - /DESTINATION='target_disk'[VMS$COMMON] - /REMOTE - /'logmode' $sav_status = $status $set on $if sav_status .ne. 1 $then $msgdisp_verify $saylong "proderror" "PRODUCT REGISTER" "095_CHECK_KERBEROS" - "''f$string(sav_status)'" $set noon $set verify $define/nolog/user pcsi$source 'other_prods' $product register product KERBEROS /version=V1.0 - /KIT_ATTRIBUTES=TYPE=TRANSITION - /PRODUCER=HP - /BASE_SYSTEM=I64VMS - /DESTINATION='target_disk'[VMS$COMMON] - /REMOTE - /'logmode' $install_verify $set on $095_kerberos_term: $sayblank $read sys$output /error=095_kerberos_term in$ - /prompt = "''wanttoterm'" $if in$ .eqs. "" then in$ = yesvalue $msgdisp_verify $saylong "checkyesorno" "''in$'" $ans = $status $install_verify $if ans .eq. helpansw then goto 095_check_kerberos $if ans .eq. yesansw then goto terminate_exit $if ans .ne. noansw $then $say "''yesorno'" $goto 095_kerberos_term $endif $endif $endif $endif $095_check_posix: $set noon $define/nolog/user sys$output nl: $define/nolog/user sys$error nl: $product show product POSIX /remote $sav_status = $status $set on $if - ( (f$search("''target_disk'[VMS$COMMON.SYS$LDR]POSIX$*.EXE") .gts. "") - .or. - (f$search("''target_disk'[SYS*.SYS$LDR]POSIX$*.EXE") .gts. "") - .or. - (sav_status .eq. 1) ) $then $msgdisp_verify $saylong "oldposixfound" $install_verify $sayblank $read /error=095_check_posix sys$output in$ - /prompt = "''wanttoterm'" $if in$ .eqs. "" then in$ = yesvalue $msgdisp_verify $saylong "checkyesorno" "''in$'" $ans = $status $install_verify $if ans .eq. backansw then goto 060_target $if ans .eq. helpansw then goto 095_check_posix $if ans .eq. yesansw then goto terminate_exit $if ans .ne. noansw $then $say "''yesorno'" $goto 095_check_posix $endif $endif $095_after_lp_checks: $decnet_selected = 0 $decnet_iv_selected = 0 $decnet_osi_selected = 0 $tcpip_selected = 0 $tcpip_ucx_selected = 0 $tcpip_tcpip_selected = 0 $dwmotif_selected = 0 $decnet_iv_installed = 0 $decnet_osi_installed = 0 $tcpip_ucx_installed = 0 $tcpip_tcpip_installed = 0 $decnet_iv_present = 0 $decnet_osi_present = 0 $tcpip_ucx_present = 0 $tcpip_tcpip_present = 0 $dwmotif_present= 0 $decnet_iv_referenced = 0 $decnet_osi_referenced = 0 $tcpip_ucx_referenced = 0 $tcpip_tcpip_referenced = 0 $sw$prod = "decnet" $sw$impl = "iv" $sw$name = "DECNET_PHASE_IV" $sw$file = "[VMS$COMMON.SYSMGR]NETCONFIG.COM" $gosub 095_check_present $sw$prod = "decnet" $sw$impl = "osi" $sw$name = "DECNET_PLUS" $sw$file = "[VMS$COMMON.SYSMGR]NET$CONFIGURE.COM" $gosub 095_check_present $sw$prod = "tcpip" $sw$impl = "ucx" $sw$name = "UCX" $sw$file = "[VMS$COMMON.SYSEXE]UCX$UCP.EXE" $gosub 095_check_present $sw$prod = "tcpip" $sw$impl = "tcpip" $sw$name = "TCPIP" $sw$file = "[VMS$COMMON.SYSEXE]TCPIP$UCP.EXE" $gosub 095_check_present $if (tcpip_tcpip_installed .eq. 0) .and. (tcpip_tcpip_present .eq. 1) $then $set noon $define/nolog/user sys$output nl: $define/nolog/user sys$error nl: $product show product /remote TCPIPJA $sav_status = $status $set on $if sav_status .eq. 1 $then $tcpip_tcpip_present = 1 $define sys$error nl: $define sys$output nl: $set noon $pipe ( set command 'tar$pcsi_cld' ; - product show product TCPIPJA /remote ) <PIPE> - sear sys$input TCPIPJA <PIPE> - ( read sys$input str ; - ver = f$element(3," ",str) ; - define /job sft$inst_ver &ver ) $sft_inst = f$trnlnm("sft$inst_ver","LNM$JOB") $set on $deassign sys$output $deassign sys$error $msgdisp_verify $saylong "sftother" "''sft_inst'" "Japanese TCP/IP" $install_verify $tcpip_tcpip_present = 0 $endif $endif $sw$prod = "dwmotif" $sw$impl = "dwmotif" $sw$name = "DWMOTIF" $sw$file = "[VMS$COMMON.SYSLIB]DECW$XLIBSHR.EXE" $gosub 095_check_present $goto 095_after_check_present $095_check_present: $set noon $define/nolog/user sys$output nl: $define/nolog/user sys$error nl: $product show product /remote 'sw$name' $sav_status = $status $set on $if sav_status .eq. 1 $then $'sw$prod'_'sw$impl'_installed = 1 $'sw$prod'_'sw$impl'_present = 1 $define sys$output nl: $define sys$error nl: $set noon $pipe - product show product /full /remote 'sw$name' <PIPE> - search sys$input " OPENVMS " $sav_status = $status $set on $deassign sys$output $deassign sys$error $if sav_status .eq. %X10000001 $then $'sw$prod'_'sw$impl'_referenced = 1 $else $'sw$prod'_'sw$impl'_referenced = 0 $endif $else $'sw$prod'_'sw$impl'_installed = 0 $'sw$prod'_'sw$impl'_referenced = 0 $if f$search("''target_disk'''sw$file'") .gts. "" $then $if f$file_attributes("''target_disk'''sw$file'","EOF") .gt. 0 $then $'sw$prod'_'sw$impl'_present = 1 $else $'sw$prod'_'sw$impl'_present = 0 $endif $else $'sw$prod'_'sw$impl'_present = 0 $endif $endif $return $095_after_check_present: $095_bothdecnets: $if decnet_osi_installed .and. decnet_iv_installed $then $msgdisp_verify $saylong "bothdecnets" $install_verify $sayblank $read /error=095_bothdecnets sys$output in$ - /prompt = "''wanttoterm'" $if in$ .eqs. "" then in$ = yesvalue $msgdisp_verify $saylong "checkyesorno" "''in$'" $ans = $status $install_verify $if ans .eq. yesansw then goto terminate_exit $if ans .ne. noansw $then $say "''yesorno'" $goto 095_bothdecnets $endif $endif $095_bothtcpips: $if tcpip_tcpip_installed .and. tcpip_ucx_installed $then $msgdisp_verify $saylong "bothtcpips" $install_verify $sayblank $read /error=095_bothtcpips sys$output in$ - /prompt = "''wanttoterm'" $if in$ .eqs. "" then in$ = yesvalue $msgdisp_verify $saylong "checkyesorno" "''in$'" $ans = $status $install_verify $if ans .eq. yesansw then goto terminate_exit $if ans .ne. noansw $then $say "''yesorno'" $goto 095_bothtcpips $endif $endif $110_scsnode_info: $if install_upgrade .nes. "I" then goto 110_time_zone $msgdisp_verify $saylong "scsnodeinfo" $install_verify $110_enter_scsnode: $sayblank $read /error=110_enter_scsnode sys$output inpt - /prompt = "''entscsnode'" $scsnode = f$edit(inpt,"TRIM,UPCASE") $if scsnode .eqs. helpvalue then goto 110_scsnode_info $if scsnode .eqs. backvalue then goto 095_ask_clu $ln_scsnode = f$length(scsnode) $if ln_scsnode .lt. 1 .or. ln_scsnode .gt. 6 $then $say "''invalscsnode'" $goto 110_enter_scsnode $endif $val_chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789" $num_chars = f$length(val_chars) $char_no = 0 $110_validate_scsnode1: $if f$locate(f$extract(char_no,1,scsnode),val_chars) .ge. num_chars $then $say "''invalscsnode'" $goto 110_enter_scsnode $endif $char_no = char_no + 1 $if char_no .lt. ln_scsnode then goto 110_validate_scsnode1 $val_chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZ" $num_chars = f$length(val_chars) $char_no = 0 $110_validate_scsnode2: $if f$locate(f$extract(char_no,1,scsnode),val_chars) .ge. num_chars $then $char_no = char_no + 1 $if char_no .lt. ln_scsnode then goto 110_validate_scsnode2 $say "''invalscsnode'" $goto 110_enter_scsnode $endif $110_scsdecnet_info: $msgdisp_verify $saylong "scsidinfo" $install_verify $110_ask_usedecnet: $if decnet_selected then goto 110_scsnet_info $sayblank $read /error=110_ask_usedecnet sys$output in$ - /prompt = "''usedecnet'" $if in$ .eqs. "" then in$ = yesvalue $msgdisp_verify $saylong "checkyesorno" "''in$'" $ans = $status $install_verify $if ans .eq. backansw then goto 110_enter_scsnode $if ans .eq. helpansw then goto 110_scsdecnet_info $if ans .eq. yesansw then goto 110_scsnet_info $if ans .eq. noansw then goto 110_scsnonet_info $say "''yesorno'" $goto 110_ask_usedecnet $110_scsnet_info: $msgdisp_verify $saylong "scsnetinfo" $install_verify $110_enter_netadr: $sayblank $read /error=110_enter_netadr sys$output inpt - /prompt = "''entnetadr'" $inpt = f$edit(inpt,"TRIM,UPCASE") $if inpt .eqs. backvalue $then $if decnet_selected $then $goto 110_enter_scsnode $else $goto 110_ask_usedecnet $endif $endif $if inpt .eqs. helpvalue then goto 110_scsnet_info $if inpt .eqs. "" then inpt = "1.1" $if f$locate(".",inpt) .gt. f$length(inpt) $then $say "''invalnetadr'" $goto 110_enter_netadr $endif $net_area = f$element(0,".",inpt) $ln_net_area = f$length(net_area) $net_node = f$element(1,".",inpt) $ln_net_node = f$length(net_node) $val_chars = "0123456789" $num_chars = f$length(val_chars) $char_no = 0 $110_validate_netadr2: $if f$locate(f$extract(char_no,1,net_area),val_chars) .ge. num_chars $then $say "''invalnetadr'" $goto 110_enter_netadr $endif $char_no = char_no + 1 $if char_no .lt. ln_net_area then goto 110_validate_netadr2 $char_no = 0 $110_validate_netadr3: $if f$locate(f$extract(char_no,1,net_node),val_chars) .ge. num_chars $then $say "''invalnetadr'" $goto 110_enter_netadr $endif $char_no = char_no + 1 $if char_no .lt. ln_net_node then goto 110_validate_netadr3 $net_area_int = 'net_area' $net_node_int = 'net_node' $if (net_area_int .lt. 0) - .or. (net_area_int .gt. 63) - .or. (net_node_int .lt. 0) - .or. (net_node_int .gt. 1023) - .or. (net_area_int .eq. 0 .and. net_node_int .ne. 0) - .or. (net_area_int .ne. 0 .and. net_node_int .eq. 0) $then $say "''invalnetadr'" $goto 110_enter_netadr $endif $if net_area_int .eq. 0 .and. net_node_int .eq. 0 $then $goto 110_enter_scsidnotpiv $else $goto 110_enter_scsidpiv $endif $110_enter_scsidpiv: $scsid_int = ((net_area_int * 1024) + net_node_int) $scsid = f$string(scsid_int) $msgdisp_verify $saylong "scsidset" $install_verify $goto 110_end_scs $110_enter_scsidnotpiv: $msgdisp_verify $saylong "scsidnotpiv" $saylong "choosescsid" $install_verify $nonet = 0 $goto 110_enter_scsid $110_scsnonet_info: $msgdisp_verify $saylong "choosescsid" $install_verify $nonet = 1 $goto 110_enter_scsid $110_enter_scsid: $sayblank $read /error=110_enter_scsid sys$output inpt - /prompt = "''entscsid'" $scsid = f$edit(inpt,"TRIM,UPCASE") $if scsid .eqs. helpvalue .and. nonet then goto 110_scsnonet_info $if scsid .eqs. helpvalue then goto 110_enter_scsidnotpiv $if scsid .eqs. backvalue then goto 110_ask_usedecnet $if scsid .eqs. "" then scsid = "65534" $val_chars = "0123456789" $num_chars = f$length(val_chars) $char_no = 0 $ln_net_scsid = f$length(scsid) $110_validate_scsid1: $if f$locate(f$extract(char_no,1,scsid),val_chars) .ge. num_chars $then $say "''invalscsid'" $goto 110_enter_scsid $endif $char_no = char_no + 1 $if char_no .lt. ln_net_scsid then goto 110_validate_scsid1 $scsid_int = 'scsid' $if scsid_int .lt. 1 .or. scsid_int .gt. 65535 $then $say "''invalscsid'" $goto 110_enter_scsid $endif $110_end_scs: $110_time_zone: $if install_upgrade .eqs. "I" then goto 110_time_zone_all $define vms$pcsi_install_proc "TRUE" $set symbol /scope=(nolocal,global) $@SYS$MANAGER:UTC$TIME_SETUP.COM - "''target_disk'[VMS$COMMON.]" - CHECK $set symbol /scope=(nolocal,noglobal) $deassign vms$pcsi_install_proc $if ( ( install_upgrade .eqs. "U" ) - .and. ( f$search("''target_disk'[VMS$COMMON.SYSEXE]SYS$TIMEZONE.DAT") - .gts. "" ) - .and. ( f$search("''target_disk'[VMS$COMMON.SYSEXE]SYS$TIMEZONE_SRC.DAT") - .gts. "" ) - .and. - ( f$search("''target_disk'[VMS$COMMON.SYS$STARTUP]TDF$UTC_STARTUP.COM") - .gts. "" ) ) - then goto 130_decnet_osi $if ( ( f$search("''target_disk'[VMS$COMMON.SYSEXE]SYS$TIMEZONE.DAT") - .gts. "" ) - .and. ( f$search("''target_disk'[VMS$COMMON.SYSEXE]SYS$TIMEZONE_SRC.DAT") - .gts. "" ) ) $then $time_function = "RULE" $open/read/error=110_no_zone_src vms$timezone_src - 'target_disk'[VMS$COMMON.SYSEXE]SYS$TIMEZONE_SRC.DAT $read/error=110_no_zone_src vms$timezone_src tzfilespec $close vms$timezone_src $if f$element (0,"M",tzfilespec) .nes. "SYS$SYSROOT:[SYS$ZONEINFO.SYSTE" $then $goto 110_no_zone_src $endif $define/system/exec/nolog SYS$LOCALTIME 'tzfilespec' $else $time_function = "BOTH" $endif $goto 110_time_zone_all $110_no_zone_src: $close vms$timezone_src $time_function = "BOTH" $110_time_zone_all: $if f$parse("''target_disk'[VMS$COMMON.SYS$STARTUP]") .eqs. "" - then create/dir/protection=(S:RWE,O:RWE,G:RE,W:RE) - 'target_disk'[VMS$COMMON.SYS$STARTUP] $define vms$pcsi_install_proc "TRUE" $set symbol /scope=(nolocal,global) $@SYS$MANAGER:UTC$TIME_SETUP.COM - "''target_disk'[VMS$COMMON.]" - "''time_function'" $set symbol /scope=(nolocal,noglobal) $deassign vms$pcsi_install_proc $if install_upgrade .eqs. "U" then goto 130_decnet_osi $120_get_paks: $msgdisp_verify $saylong "pakkeys" $install_verify $120_retry_paks: $sayblank $read /error=120_retry_paks sys$output in$ - /prompt = "''regpakkeys'" $if in$ .eqs. "" then in$ = yesvalue $msgdisp_verify $saylong "checkyesorno" "''in$'" $ans = $status $install_verify $if ans .eq. backansw then goto 110_ask_usedecnet $if ans .eq. helpansw then goto 120_get_paks $if ans .eq. yesansw $then $define lmf$_bypass_load_prompt "YES" $set symbol /scope=(nolocal,global) $@SYS$SYSDEVICE:[VMS$COMMON.SYSUPD]VMSLICENSE - "" "" "''target_disk'[VMS$COMMON.SYSEXE]LMF$LICENSE.LDB" $set symbol /scope=(nolocal,noglobal) $deasign lmf$_bypass_load_prompt $else $if ans .ne. noansw $then $say "''yesorno'" $goto 120_get_paks $endif $endif $130_decnet_osi: $if install_upgrade .eqs. "I" then goto 130_decnet_osi_z $set noon $define/nolog/user sys$output nl: $define/nolog/user sys$error nl: $product show product decnet_osi /remote /version=t2.1-ft3 $sav_status = $status $set on $if sav_status .eq. 1 $then $130_decnet_osi_a: $msgdisp_verify $saylong "decnetosift3" $install_verify $130_decnet_osi_b: $sayblank $read /error=130_decnet_osi_b sys$output in$ - /prompt = "''wanttoterm'" $if in$ .eqs. "" then in$ = yesvalue $msgdisp_verify $saylong "checkyesorno" "''in$'" $ans = $status $install_verify $if ans .eq. helpansw then goto 130_decnet_osi_a $if ans .eq. yesansw then goto terminate_exit $if ans .eq. noansw then goto 130_decnet_osi_z $say "''yesorno'" $goto 130_decnet_osi_b $else $if sav_status .ne. %X0652A043 $then $msgdisp_verify $saylong "proderror" "PRODUCT SHOW" "130_DECNET_OSI" - "''f$string(sav_status)'" $set noon $set verify $product show product decnet_osi /remote /version=t2.1-ft3 $install_verify $set on $130_decnet_osi_term: $sayblank $read /error=130_decnet_osi_term sys$output in$ - /prompt = "''wanttoterm'" $if in$ .eqs. "" then in$ = yesvalue $msgdisp_verify $saylong "checkyesorno" "''in$'" $ans = $status $install_verify $if ans .eq. helpansw then goto 130_decnet_osi $if ans .eq. yesansw then goto terminate_exit $if ans .ne. noansw $then $say "''yesorno'" $goto 130_decnet_osi_term $endif $endif $endif $130_decnet_osi_z: $if f$search("''target_disk'[VMS$COMMON.SYSLIB]EDTSHR.EXE") .eqs. "" $then $if f$search("''target_disk'[VMS$COMMON.SYS$LDR]NET$MESSAGE.EXE") - .nes. "" then delete 'target_disk'[VMS$COMMON.SYS$LDR]NET$MESSAGE.EXE;* $if f$search("''target_disk'[VMS$COMMON.SYS$LDR]LES$LES_V30.EXE") - .nes. "" then delete 'target_disk'[VMS$COMMON.SYS$LDR]LES$LES_V30.EXE;* $endif $140_checkpdb: $if install_upgrade .eqs. "I" then goto 150_doinstall $if f$search("''target_disk'[VMS$COMMON.SYSEXE]*.PCSI$DATABASE") .gts. "" $then $set noon $define/nolog/user sys$output nl: $define/nolog/user sys$error nl: $product show product VMS /remote /producer=HP /base_system=I64VMS $sav_status = $status $set on $if sav_status .eq. 1 then goto 150_doinstall $if sav_status .eq. %X0652A043 $then $msgdisp_verify $saylong "vmsnotinpdb" $install_verify $else $msgdisp_verify $saylong "proderror" "PRODUCT SHOW" "140_CHECKPDB" - "''f$string(sav_status)'" $set noon $set verify $product show product VMS /remote /producer=HP - /base_system=I64VMS $install_verify $set on $endif $140_checkpdb_term: $sayblank $read /error=140_checkpdb_term sys$output in$ - /prompt = "''wanttoterm'" $if in$ .eqs. "" then in$ = yesvalue $msgdisp_verify $saylong "checkyesorno" "''in$'" $ans = $status $install_verify $if ans .eq. backansw then goto 095_ask_clu $if ans .eq. helpansw then goto 140_checkpdb $if ans .eq. yesansw then goto terminate_exit $if ans .ne. noansw $then $say "''yesorno'" $goto 140_checkpdb_term $endif $else $msgdisp_verify $saylong "noproddatabase" $install_verify $140_checkpdb_b: $sayblank $read /error=140_checkpdb_b sys$output in$ - /prompt = "''wanttoterm'" $if in$ .eqs. "" then in$ = yesvalue $msgdisp_verify $saylong "checkyesorno" "''in$'" $ans = $status $install_verify $if ans .eq. backansw then goto 095_ask_clu $if ans .eq. helpansw then goto 140_checkpdb $if ans .eq. yesansw then goto terminate_exit $if ans .eq. noansw then goto 150_doinstall $say "''yesorno'" $goto 140_checkpdb_b $endif $150_doinstall: $partial_kit = 0 $partial_range = 0 $partial_upgrade = 0 $inst_kit_type = "F" $set noon $define/nolog/user sys$output nl: $define/nolog/user sys$error nl: $product find VMS /producer=HP /base=I64VMS - /source = SYS$SYSDEVICE:[UPD$COMMON] - /version = 'part_ver_vis' - /kit=type=partial $sav_status = $status $set on $if sav_status .eq. 1 $then $partial_kit = 1 $partial_upgrade = 0 $part_ver_file = f$search - ("SYS$SYSDEVICE:[UPD$COMMON]HP-I64VMS-VMS-*-3.PCSI$DESCRIPTION") $close /error=150_pdf_open I64VMS$part_pdf $150_pdf_open: $open /read I64VMS$part_pdf 'part_ver_file' $upgrade_found = 0 $span_vers = "" $req_ver = "" $150_pdf_read: $read /end=150_pdf_end I64VMS$part_pdf part_rec $part_rec = f$edit(part_rec,"TRIM,COMPRESS,UPCASE") $i1 = 0 $if f$element(I1," ",part_rec) .eqs. "UPGRADE" $then $upgrade_found = 0 $150_ver_loop: $i1 = i1 + 2 $work_comp = f$element(I1," ",part_rec) $if work_comp .eqs. " " then goto 150_pdf_end $i1 = i1 + 1 $work_ver = f$element(I1," ",part_rec) $if work_comp .eqs. "REQUIRED" $then $req_ver = work_ver $else $span_vers = span_vers + "," + work_comp + "=" + work_ver $endif $goto 150_ver_loop $endif $goto 150_pdf_read $150_pdf_end: $close I64VMS$part_pdf $if req_ver .gts. " " then req_ver = "/VERSION=" + req_ver $if span_vers .gts. " " then req_ver = - req_ver + "/SPAN_VERSIONS=(" + SPAN_VERS - "," + ")" $set noon $define/nolog/user sys$output nl: $define/nolog/user sys$error nl: $product show product VMS /remote 'req_ver' $sav_status = $status $set on $if sav_status .eq. 1 $then $partial_range = 1 $else $partial_range = 0 $endif $else $partial_kit = 0 $partial_upgrade = 0 $partial_range = 0 $endif $if install_upgrade .eqs. "I" $then $inst_kit_type = "F" $goto 150_after_partop $endif $define sys$output nl: $define sys$error nl: $set noon $pipe - product show product /full /remote VMS <PIPE> - search sys$input "Oper System","Transition" $sav_status = $status $set on $deassign sys$output $deassign sys$error $if sav_status .eq. %X10000001 $then $inst_kit_type = "F" $else $define sys$output nl: $define sys$error nl: $set noon $pipe - product show product /full /remote VMS <PIPE> - search sys$input "Partial" $sav_status = $status $set on $deassign sys$output $deassign sys$error $if sav_status .eq. %X10000001 $then $inst_kit_type = "P" $else $inst_kit_type = "F" $150_partopererr: $msgdisp_verify $saylong "proderror" "PIPEd PRODUCT SHOW" "150_PDF_END" - "<unknown>" $set noon $set verify $product show product /full /remote VMS $install_verify $set on $150_partopererr_q: $sayblank $read /error=150_partopererr sys$output in$ - /prompt = "''wanttoterm'" $if in$ .eqs. "" then in$ = yesvalue $msgdisp_verify $saylong "checkyesorno" "''in$'" $ans = $status $install_verify $if ans .eq. backansw then goto 095_ask_clu $if ans .eq. helpansw then goto 150_partopererr $if ans .eq. yesansw then goto terminate_exit $if ans .ne. noansw then goto 150_partopererr_q $endif $endif $150_after_partop: $goto 150_after_partial_info $150_partial_info: $i1 = 1 $150_partial_info_loop: $msgdisp_verify $saylong "partialinfo''i1'" $install_verify $read sys$output /error=150_partial_info inpt /prompt = "''returncont'" $if inpt .eqs. backvalue then return $i1 = i1 + 1 $if i1 .gt. 5 then return $goto 150_partial_info_loop $150_after_partial_info: $if .not. partial_kit then goto 150_after_partial_messages $if partial_range $then $if same_version $then $if inst_kit_type .eqs. "F" $then $150_partial_same: $msgdisp_verify $saylong "partialsame" "''prod_ver_vis'" "''target_disk'" $install_verify $read sys$output /error=150_partial_same inpt - /prompt = "''returnques'" $if inpt .eqs. backvalue then goto 095_ask_clu $if inpt .eqs. helpvalue $then $gosub 150_partial_info $if inpt .eqs. backvalue then goto 150_partial_same $endif $else $150_partial_chose1: $msgdisp_verify $saylong "partialchose" "''prod_ver_vis'" "''target_disk'" $install_verify $read sys$output /error=150_partial_chose1 inpt - /prompt = "''partorfull'" $msgdisp_verify $saylong "checkpartfull" "''inpt'" $ans = $status $install_verify $if ans .eq. backansw then goto 095_ask_clu $if ans .eq. helpansw $then $gosub 150_partial_info $goto 150_partial_chose1 $endif $if ( (ans .ne. yesansw) .and. (ans .ne. noansw) ) $then $say "''invresponse'" $goto 150_partial_chose1 $endif $if ans .eq. yesansw then partial_upgrade = 1 $if ans .eq. noansw then partial_upgrade = 0 $endif $else $150_partial_chose2: $msgdisp_verify $saylong "partialchose" "''prod_ver_vis'" "''target_disk'" $install_verify $read sys$output /error=150_partial_chose2 inpt - /prompt = "''partorfull'" $msgdisp_verify $saylong "checkpartfull" "''inpt'" $ans = $status $install_verify $if ans .eq. backansw then goto 095_ask_clu $if ans .eq. helpansw $then $gosub 150_partial_info $goto 150_partial_chose2 $endif $if ( (ans .ne. yesansw) .and. (ans .ne. noansw) ) $then $say "''invresponse'" $goto 150_partial_chose2 $endif $if ans .eq. yesansw then partial_upgrade = 1 $if ans .eq. noansw then partial_upgrade = 0 $endif $else $150_partial_range: $if install_upgrade .eqs. "I" $then $msgdisp_verify $saylong "partialinst" "''prod_ver_vis'" "''target_disk'" $install_verify $else $msgdisp_verify $saylong "partialrange" "''prod_ver_vis'" "''target_disk'" $install_verify $endif $read sys$output /error=150_partial_range inpt - /prompt = "''returnques'" $if inpt .eqs. backvalue then goto 095_ask_clu $if inpt .eqs. helpvalue $then $gosub 150_partial_info $if inpt .eqs. backvalue then goto 150_partial_range $endif $endif $150_after_partial_messages: $goto 150_after_samever_info $150_samever_info: $i1 = 1 $150_samever_info_loop: $msgdisp_verify $saylong "samevmsverinfo''i1'" $install_verify $read sys$output /error=150_samever_info inpt /prompt = "''returncont'" $if inpt .eqs. backvalue then return $i1 = i1 + 1 $if i1 .gt. 2 then return $goto 150_samever_info_loop $150_after_samever_info: $if .not. same_version $then $prod_oper = "INSTALL" $inst_prod = "OPENVMS" $goto 150_after_same_ver_messages $endif $If .not. (partial_kit .and. partial_range .and. (inst_kit_type .eqs. "F") ) $then $msgdisp_verify $saylong "samevmsver" "''prod_ver_vis'" "''target_disk'" $install_verify $endif $150_check_reinstall: $msgdisp_verify $saylong "samevmsvermenu" $install_verify $sayblank $msgdisp_verify $read /error=150_check_reinstall sys$output in$ - /prompt = "''enterchoice'" $install_verify $if in$ .eqs. backvalue then goto 095_ask_clu $if in$ .eqs. helpvalue $then $gosub 150_samever_info $goto 150_check_reinstall $endif $if in$ .eqs. "1" $then $prod_oper = "RECONFIGURE" $inst_prod = "OPENVMS" $goto 150_after_same_ver_messages $endif $if in$ .eqs. "2" $then $if ( (inst_kit_type .eqs. "P") - .or. (partial_upgrade .eq. 1) ) $then $saylong "cannotreconfigure" "''inst_kit_type'" "''partial_upgrade'" $goto 150_check_reinstall $endif $prod_oper = "RECONFIGURE" $inst_prod = "VMS" $goto 157_askhelp $endif $if in$ .eqs. "3" $then $prod_oper = "INSTALL" $inst_prod = "VMS" $goto 157_askhelp $endif $if in$ .eqs. "4" $then $goto 0_exit $endif $say "''invresponse'" $goto 150_check_reinstall $150_after_same_ver_messages: $first_req_displayed = 0 $first_opt_displayed = 0 $close /error=155_pdf_open1 I64VMS$plat_pdf $155_pdf_open1: $open /read I64VMS$plat_pdf 'prod_plat_file' $close /error= 155_other_open1 I64VMS$plattmp $155_other_open1: $open /write I64VMS$plattmp SYS$SCRATCH:I64VMS$PLAT.TMP $close /error=155_pcf_open I64VMS$pcfout $155_pcf_open: $open /write I64VMS$pcfout SYS$SCRATCH:VMS$DEF'pid'.PCF $write I64VMS$pcfout "HP I64VMS OPENVMS" $write I64VMS$pcfout "HP I64VMS VMS" $write I64VMS$pcfout "HP I64VMS DWMOTIF_SUPPORT" $in_option = 0 $155_pdf_read1: $read /error=err_exit /end=155_pdf_end1 I64VMS$plat_pdf plat_rec $plat_rec = f$edit(plat_rec,"COMPRESS,TRIM,UPCASE") $if plat_rec .eqs. "" .or. f$extract(0,2,plat_rec) .eqs. "--" - then goto 155_pdf_read1 $if ( ( f$extract(0,7,plat_rec) .eqs. "OPTION " ) - .or. ( f$extract(0,5,plat_rec) .eqs. "PART " ) ) $then $sft_opt_req = f$extract(0,1,plat_rec) $sft_opt = f$element(1," ",plat_rec) $in_option = 1 $goto 155_pdf_read1 $endif $if ( (f$extract(0,11,plat_rec) .eqs. "END OPTION ") - .or. (f$extract(0,9,plat_rec) .eqs. "END PART ") ) $then $in_option = 0 $goto 155_pdf_read1 $endif $if .not. in_option then goto 155_pdf_read1 $soft_state_funct = "" $if f$extract(0,9,plat_rec) .eqs. "SOFTWARE " then - goto 155_soft_statement $if f$extract(0,13,plat_rec) .eqs. "IF (<SOFTWARE" then - goto 155_soft_function $goto 155_pdf_read1 $155_soft_statement: $sft_producer = f$element(1," ",plat_rec) $sft_prod = f$element(3," ",plat_rec) $if sft_prod .eqs. "UCX" then sft_prod = "TCPIP" $sft_pref = f$element(6," ",plat_rec) $sft_supp = sft_pref $goto 155_soft_common $155_soft_function: $sft_producer = f$element(2," ",plat_rec) $sft_prod = f$element(4," ",plat_rec) $if sft_prod .eqs. "UCX" then sft_prod = "TCPIP" $sft_pref = f$element(9," ",plat_rec) $sft_supp = f$element(12," ",plat_rec) - ">" - ")" $goto 155_soft_common $155_soft_common: $if prod_plat_help .nes. "" $then $librarian /text /extract="''sft_opt''1" - /out='temp_help' 'prod_plat_help' $close/error=155_open_temp I64VMS$pcsi_temp_help $155_open_temp: $open I64VMS$pcsi_temp_help 'temp_help' $read I64VMS$pcsi_temp_help sft_prompt $close I64VMS$pcsi_temp_help $delete/nolog 'temp_help';* $else $sft_prompt = sft_opt $endif $if (sft_opt_req .eqs. "P") .and. (.not. first_req_displayed ) $then $sayblank $msgdisp_verify $if install_upgrade .eqs. "I" then saylong "sftwillbeinst1" $if install_upgrade .eqs. "U" then saylong "sftwillbeupgd1" $install_verify $first_req_displayed = 1 $endif $if (sft_opt_req .eqs. "O") .and. (.not. first_opt_displayed ) $then $msgdisp_verify $if install_upgrade .eqs. "I" then saylong "sftwillbeinst2" $if install_upgrade .eqs. "U" then saylong "sftwillbeupgd2" $install_verify $first_opt_displayed = 1 $endif $say " o ''sft_prompt'" $write I64VMS$plattmp "''sft_opt' " - + "''sft_producer' " - + "''sft_prod' " - + "''sft_pref' " - + "''sft_supp' " - + "''sft_opt_req' " - + "''sft_prompt'" $if sft_prod .eqs. "TCPIP " then - write I64VMS$plattmp "''sft_opt' " - + "DEC" - + "UCX " - + "''sft_supp' " - + "''sft_supp' " - + "''sft_opt_req' " - + "''sft_prompt'" $write I64VMS$pcfout "''sft_producer' I64VMS ''sft_opt'" -"_KIT" $in_option = 0 $goto 155_pdf_read1 $155_pdf_end1: $close I64VMS$plattmp $close I64VMS$plat_pdf $msgdisp_verify $if install_upgrade .eqs. "I" $then $saylong "sftlaterinst" $else $saylong "sftlaterupgd" $endif $install_verify $close /error= 155_other_open2 I64VMS$plattmp $155_other_open2: $open I64VMS$plattmp SYS$SCRATCH:I64VMS$PLAT.TMP $155_tmp_read: $read /error=err_exit /end=155_tmp_end I64VMS$plattmp inpt $sft_opt = f$element(0," ",inpt) $sft_producer= f$element(1," ",inpt) $sft_prod = f$element(2," ",inpt) $sft_pref = f$element(3," ",inpt) $sft_supp = f$element(4," ",inpt) $sft_opt_req = f$element(5," ",inpt) $sft_prompt = - inpt - sft_opt - sft_producer - sft_prod - sft_pref - sft_supp - - sft_opt_req - " " $set noon $define/nolog/user pcsi$source 'other_prods' $define/nolog/user sys$output nl: $define/nolog/user sys$error nl: $product find 'sft_prod' - /producer='sft_producer' - /base_system=I64VMS - /version='sft_pref' $sav_status = $status $set on $if sav_status .ne. 1 $then $if sav_status .ne. %X0652A043 $then $msgdisp_verify $saylong "proderror" "PRODUCT FIND" "155_TMP_READ" - "''f$string(sav_status)'" $set noon $set verify $product find 'sft_prod' - /producer='sft_producer' - /base_system=I64VMS - /version='sft_pref' $install_verify $set on $else $msgdisp_verify $saylong "sftnokit" "''sft_prompt' ''sft_prod' ''sft_pref'" - "''other_prods'" $install_verify $endif $155_nokitterm: $sayblank $read /error=155_nokitterm sys$output in$ - /prompt = "''wanttoterm'" $if in$ .eqs. "" then in$ = yesvalue $msgdisp_verify $saylong "checkyesorno" "''in$'" $ans = $status $install_verify $if ans .eq. yesansw then goto terminate_exit $if ans .ne. noansw $then $say "''yesorno'" $goto 155_nokitterm $endif $endif $if sft_prod .eqs. "UCX" then goto 155_tmp_read $if install_upgrade .eqs. "I" $then $goto 155_sft_inst $else $goto 155_sft_upg $endif $155_set_selected: $if sft_opt .eqs. "DECNET_PLUS_KIT" $then $decnet_selected = 1 $decnet_osi_selected = 1 $decnet_iv_selected = 0 $endif $if sft_opt .eqs. "DECNET_PHASE_IV_KIT" $then $decnet_selected = 1 $decnet_osi_selected = 0 $decnet_iv_selected = 1 $endif $if sft_opt .eqs. "TCPIP_KIT" $then $if sft_prod .eqs. "TCPIP" $then $tcpip_selected = 1 $tcpip_tcpip_selected = 1 $tcpip_ucx_selected = 0 $else $tcpip_selected = 1 $tcpip_tcpip_selected = 0 $tcpip_ucx_selected = 1 $endif $endif $if sft_opt .eqs. "DWMOTIF_KIT" then dwmotif_selected = 1 $return $155_sft_inst: $if sft_opt_req .eqs. "P" then goto 155_tmp_read $if sft_opt .eqs. "DECNET_PHASE_IV_KIT" - .and. decnet_osi_selected $then $write I64VMS$pcfout "''sft_producer' I64VMS OPENVMS ''sft_opt' 1 0" $goto 155_tmp_read $endif $if sft_opt .eqs. "DECNET_PLUS_KIT" $then $sayblank $msgdisp_verify $saylong "sftdecnetosikit" $install_verify $endif $msgdisp_verify $saylong "sftcanins" "''sft_prompt' ''sft_pref'" $install_verify $read /error=155_sft_inst sys$output in$ - /prompt= "''yesnoyes'" $sayblank $if in$ .eqs. "" then in$ = yesvalue $msgdisp_verify $saylong "checkyesorno" "''in$'" $ans = $status $install_verify $if ans .eq. backansw then goto 095_ask_clu $if ans .eq. helpansw then goto 155_sft_inst $if ans .eq. yesansw $then $write I64VMS$pcfout "HP I64VMS OPENVMS ''sft_opt' 1 1" $gosub 155_set_selected $goto 155_tmp_read $endif $if ans .eq. noansw $then $write I64VMS$pcfout "HP I64VMS OPENVMS ''sft_opt' 1 0" $goto 155_tmp_read $endif $msgdisp_verify $say "''yesorno'" $install_verify $goto 155_sft_inst $155_sft_upg: $if sft_opt .eqs. "DECNET_PLUS_KIT" - .and. decnet_iv_present - .and. .not. decnet_osi_present $then $sayblank $msgdisp_verify $saylong "sftdecnetosikit" $install_verify $sayblank $msgdisp_verify $saylong "sftcanins" "''sft_prompt' ''sft_pref'" $install_verify $read /error=155_sft_upg sys$output in$ - /prompt= "''yesnoyes'" $sayblank $if in$ .eqs. "" then in$ = yesvalue $msgdisp_verify $saylong "checkyesorno" "''in$'" $ans = $status $install_verify $if ans .eq. backansw then goto 060_target $if ans .eq. helpansw then goto 155_sft_upg $if ans .eq. yesansw $then $write I64VMS$pcfout "HP I64VMS OPENVMS ''sft_opt' 1 1" $decnet_selected = 1 $decnet_osi_selected = 1 $decnet_iv_selected = 0 $goto 155_tmp_read $endif $if ans .eq. noansw $then $write I64VMS$pcfout "HP I64VMS OPENVMS ''sft_opt' 1 0" $goto 155_tmp_read $endif $msgdisp_verify $say "''yesorno'" $install_verify $goto 155_sft_upg $endif $if sft_opt .eqs. "TCPIP_KIT" - .and. tcpip_ucx_present - .and. .not. tcpip_tcpip_present $then $sayblank $msgdisp_verify $saylong "sfttcpipkit" $install_verify $set noon $define/nolog/user sys$output nl: $define/nolog/user sys$error nl: $product show product UCX /remote /span_versions=minimum='sft_supp' $sav_status = $status $set on $if sav_status .eq. 1 $then $sayblank $msgdisp_verify $saylong "sftcanins" "''sft_prompt' ''sft_pref'" $install_verify $read /error=155_sft_upg sys$output in$ - /prompt= "''yesnoyes'" $sayblank $if in$ .eqs. "" then in$ = yesvalue $msgdisp_verify $saylong "checkyesorno" "''in$'" $ans = $status $install_verify $if ans .eq. backansw then goto 060_target $if ans .eq. helpansw then goto 155_sft_upg $if ans .eq. yesansw $then $write I64VMS$pcfout "HP I64VMS OPENVMS ''sft_opt' 1 1" $write I64VMS$pcfout "HP I64VMS OPENVMS TCPIP_UPGRADE 1 1" $tcpip_selected = 1 $tcpip_tcpip_selected = 1 $tcpip_ucx_selected = 0 $goto 155_tmp_read $endif $if ans .eq. noansw $then $write I64VMS$pcfout "HP I64VMS OPENVMS ''sft_opt' 1 1" $write I64VMS$pcfout "HP I64VMS OPENVMS TCPIP_UPGRADE 1 0" $tcpip_selected = 1 $tcpip_tcpip_selected = 0 $tcpip_ucx_selected = 1 $goto 155_tmp_read $endif $msgdisp_verify $say "''yesorno'" $install_verify $goto 155_sft_upg $else $if sav_status .eq. %X0652A043 $then $msgdisp_verify $saylong "sftisins" "''sft_prompt'" $install_verify $write I64VMS$pcfout "HP I64VMS OPENVMS ''sft_opt' 1 1" $write I64VMS$pcfout "HP I64VMS OPENVMS TCPIP_UPGRADE 1 1" $tcpip_selected = 1 $tcpip_tcpip_selected = 1 $tcpip_ucx_selected = 0 $goto 155_tmp_read $else $msgdisp_verify $saylong "proderror" "PRODUCT SHOW" "155_SFT_UPG" - "''f$string(sav_status)'" $set noon $set verify $product show product UCX /remote - /span_versions=minimum='sft_supp' $install_verify $set on $155_sft_upg_term: $sayblank $read /error=155_sft_upg_term sys$output in$ - /prompt = "''wanttoterm'" $if in$ .eqs. "" then in$ = yesvalue $msgdisp_verify $saylong "checkyesorno" "''in$'" $ans = $status $install_verify $if ans .eq. backansw then goto 070_mount $if ans .eq. helpansw then goto 155_sft_upg $if ans .eq. yesansw then goto terminate_exit $if ans .ne. noansw $then $say "''yesorno'" $goto 155_sft_upg_term $endif $endif $endif $endif $if sft_opt .eqs. "DECNET_PHASE_IV_KIT" - .and. decnet_osi_selected - .and. decnet_iv_present $then $msgdisp_verify $saylong "sftwillberemoved" "''sft_prompt'" $install_verify $write I64VMS$pcfout "HP I64VMS OPENVMS ''sft_opt' 1 0" $goto 155_tmp_read $endif $set noon $define/nolog/user sys$output nl: $define/nolog/user sys$error nl: $product show product 'sft_prod' /remote /span_versions=above='sft_pref' $sav_status = $status $set on $if sav_status .eq. 1 $then $msgdisp_verify $saylong "sftalreadyins" "''sft_prompt'" $install_verify $gosub 155_set_selected $if sft_opt_req .eqs. "O" then - write I64VMS$pcfout "HP I64VMS OPENVMS ''sft_opt' 1 1" $goto 155_tmp_read $else $if sav_status .ne. %X0652A043 $then $msgdisp_verify $saylong "proderror" "PRODUCT SHOW" "155_SFT_UPG_TERM" - "''f$string(sav_status)'" $set noon $set verify $product show product 'sft_prod' /remote - /span_versions=above='sft_pref' $install_verify $set on $155_sft_upg_term2: $sayblank $read /error=155_sft_upg_term2 sys$output in$ - /prompt = "''wanttoterm'" $if in$ .eqs. "" then in$ = yesvalue $msgdisp_verify $saylong "checkyesorno" "''in$'" $ans = $status $install_verify $if ans .eq. backansw then goto 070_mount $if ans .eq. helpansw then goto 155_sft_upg $if ans .eq. yesansw then goto terminate_exit $if ans .ne. noansw $then $say "''yesorno'" $goto 155_sft_upg_term2 $endif $endif $endif $set noon $define/nolog/user sys$output nl: $define/nolog/user sys$error nl: $product show product 'sft_prod' /remote /version='sft_pref' $sav_status = $status $set on $if sav_status .eq. 1 $then $msgdisp_verify $saylong "sftalreadyins" "''sft_prompt' ''sft_pref'" $install_verify $gosub 155_set_selected $if sft_opt_req .eqs. "O" then - write I64VMS$pcfout "HP I64VMS OPENVMS ''sft_opt' 1 1" $goto 155_tmp_read $else $if sav_status .ne. %X0652A043 $then $msgdisp_verify $saylong "proderror" "PRODUCT SHOW" "155_SFT_UPG_TERM2" - "''f$string(sav_status)'" $set noon $set verify $product show product 'sft_prod' /remote /version='sft_pref' $install_verify $set on $155_sft_upg_term3: $sayblank $read /error=155_sft_upg_term3 sys$output in$ - /prompt = "''wanttoterm'" $if in$ .eqs. "" then in$ = yesvalue $msgdisp_verify $saylong "checkyesorno" "''in$'" $ans = $status $install_verify $if ans .eq. backansw then goto 070_mount $if ans .eq. helpansw then goto 155_sft_upg $if ans .eq. yesansw then goto terminate_exit $if ans .ne. noansw $then $say "''yesorno'" $goto 155_sft_upg_term3 $endif $endif $endif $155_sft_upg_ask: $set noon $define/nolog/user sys$output nl: $define/nolog/user sys$error nl: $product show product 'sft_prod' /remote /span_versions=minimum='sft_supp' $sav_status = $status $set on $if sav_status .eq. 1 $then $define sys$error nl: $define sys$output nl: $set noon $pipe ( set command 'tar$pcsi_cld' ; - product show product 'sft_prod' /remote ) <PIPE> - sear sys$input "''sft_prod'" <PIPE> - ( read sys$input str ; - ver = f$element(3," ",str) ; - define /job sft$inst_ver &ver ) $sft_inst = f$trnlnm("sft$inst_ver","LNM$JOB") $set on $deassign sys$output $deassign sys$error $msgdisp_verify $saylong "sftalreadysup" "''sft_inst'" "''sft_prompt'" "''sft_pref'" $install_verify $gosub 155_set_selected $sup_prod_ver = "''sft_prompt'" + " " + "''sft_pref'" $sayblank $read sys$output /error=155_sft_upg_ask in$ - /prompt = "''wanttoupg'" $if in$ .eqs. "" then in$ = yesvalue $msgdisp_verify $saylong "checkyesorno" "''in$'" $ans = $status $install_verify $if ans .eq. backansw then goto 070_mount $if ans .eq. helpansw then goto 155_sft_upg $if ans .eq. yesansw $then $if sft_opt_req .eqs. "O" then write I64VMS$pcfout - "HP I64VMS OPENVMS ''sft_opt' 1 1" $write I64VMS$pcfout "HP I64VMS OPENVMS ''sft_prod'_UPGRADE 1 1" $goto 155_tmp_read $endif $if ans .eq. noansw $then $if sft_opt_req .eqs. "O" then write I64VMS$pcfout - "HP I64VMS OPENVMS ''sft_opt' 1 1" $write I64VMS$pcfout "HP I64VMS OPENVMS ''sft_prod'_UPGRADE 1 0" $goto 155_tmp_read $endif $say "''yesorno'" $goto 155_sft_upg_ask $else $if sav_status .ne. %X0652A043 $then $msgdisp_verify $saylong "proderror" "PRODUCT SHOW" "155_SFT_UPG_ASK" - "''f$string(sav_status)'" $set noon $set verify $product show product 'sft_prod' /remote - /span_versions=minimum='sft_supp' $install_verify $set on $155_sft_upg_term4: $sayblank $read /error=155_sft_upg_term4 sys$output in$ - /prompt = "''wanttoterm'" $if in$ .eqs. "" then in$ = yesvalue $msgdisp_verify $saylong "checkyesorno" "''in$'" $ans = $status $install_verify $if ans .eq. backansw then goto 070_mount $if ans .eq. helpansw then goto 155_sft_upg $if ans .eq. yesansw then goto terminate_exit $if ans .ne. noansw $then $say "''yesorno'" $goto 155_sft_upg_term4 $endif $endif $endif $set noon $define/nolog/user sys$output nl: $define/nolog/user sys$error nl: $product show product 'sft_prod' /remote $sav_status = $status $set on $if sav_status .eq. 1 $then $msgdisp_verify $saylong "sftisins" "''sft_prompt'" $install_verify $gosub 155_set_selected $if sft_opt_req .eqs. "O" then write I64VMS$pcfout - "HP I64VMS OPENVMS ''sft_opt' 1 1" $goto 155_tmp_read $else $if sav_status .ne. %X0652A043 $then $msgdisp_verify $saylong "proderror" "PRODUCT SHOW" "155_SFT_UPG_TERM4" - "''f$string(sav_status)'" $set noon $set verify $product show product 'sft_prod' /remote $install_verify $set on $155_sft_upg_term5: $sayblank $read /error=155_sft_upg_term5 sys$output in$ - /prompt = "''wanttoterm'" $if in$ .eqs. "" then in$ = yesvalue $msgdisp_verify $saylong "checkyesorno" "''in$'" $ans = $status $install_verify $if ans .eq. backansw then goto 070_mount $if ans .eq. helpansw then goto 155_sft_upg $if ans .eq. yesansw then goto terminate_exit $if ans .ne. noansw $then $say "''yesorno'" $goto 155_sft_upg_term5 $endif $endif $endif $if sft_prod .eqs. "DECNET_PLUS" .and. decnet_osi_present - then goto 155_sft_upgx $if sft_prod .eqs. "DECNET_PHASE_IV" .and. decnet_iv_present - then goto 155_sft_upgx $if sft_prod .eqs. "DWMOTIF" .and. dwmotif_dwmotif_present - then goto 155_sft_upgx $if ( (sft_prod .eqs. "TCPIP" .and. tcpip_tcpip_present) - .or. (sft_prod .eqs. "TCPIP" .and. tcpip_ucx_present) ) - then goto 155_sft_upgx $goto 155_sft_upgz $155_sft_upgx: $msgdisp_verify $saylong "sftnotpcsi" "''sft_prompt'" $install_verify $gosub 155_set_selected $write I64VMS$pcfout "HP I64VMS OPENVMS ''sft_opt' 1 1" $goto 155_tmp_read $155_sft_upgz: $if sft_opt_req .eqs. "O" $then $msgdisp_verify $saylong "sftisnot" "''sft_prompt'" $install_verify $write I64VMS$pcfout "HP I64VMS OPENVMS ''sft_opt' 1 0" $goto 155_tmp_read $endif $if sft_opt_req .eqs. "P" $then $msgdisp_verify $saylong "sftisreq" "''sft_prompt'" $install_verify $goto 155_tmp_read $endif $saylong "proderror" "INVALID SFT_OPT_REQ" "155_SFT_UPZ" - " SFT_OPT_REQ = ""''sft_opt_req'""" $sayblank $read /error=155_sft_upgz sys$output in$ - /prompt = "''wanttoterm'" $if in$ .eqs. "" then in$ = yesvalue $msgdisp_verify $saylong "checkyesorno" "''in$'" $ans = $status $install_verify $if ans .eq. helpansw then goto 155_sft_upgz $if ans .eq. yesansw then goto terminate_exit $if ans .ne. noansw $then $say "''yesorno'" $goto 155_sft_upgz $endif $goto 155_tmp_read $155_tmp_end: $sayblank $if decnet_selected $then $write I64VMS$pcfout "HP I64VMS VMS DECNET 1 1" $write I64VMS$pcfout "HP I64VMS VMS DECNET_REMOTE_FILE 1 1" $write I64VMS$pcfout "HP I64VMS VMS DECNET_REMOTE_TERMINAL 1 1" $write I64VMS$pcfout "HP I64VMS VMS DECNET_NETWORK_TEST 1 1" $write I64VMS$pcfout "HP I64VMS VMS DECNET_REMOTE_TASK 1 1" $endif $set noon $define/nolog/user sys$output nl: $define/nolog/user sys$error nl: $product show product DWMOTIF_SUPPORT /remote $sav_status = $status $set on $if ( (sav_status .eq. 1) - .or. (dwmotif_selected) ) $then $write I64VMS$pcfout "HP I64VMS VMS DECWINDOWS_SUPPORT 1 1" $write I64VMS$pcfout "HP I64VMS DWMOTIF_SUPPORT WORKSTATION 1 1" $write I64VMS$pcfout "HP I64VMS DWMOTIF_SUPPORT DECWINDOWS_FONTS 1 1" $write I64VMS$pcfout "HP I64VMS DWMOTIF_SUPPORT DECWINDOWS_100DPI 1 1" $endif $pcf_option = "/CONFIGURATION=(INPUT=SYS$SCRATCH:VMS$DEF''pid'.PCF)" $close I64VMS$plattmp $delete SYS$SCRATCH:I64VMS$PLAT.TMP;* $close I64VMS$pcfout $157_askhelp: $msgdisp_verify $saylong "helpinfo" "installation" $install_verify $157_askhelp_a: $sayblank $read sys$output /error=157_askhelp_a in$ - /prompt = "''askhlpmode'" $if in$ .eqs. "" then in$ = novalue $msgdisp_verify $saylong "checkyesorno" "''in$'" $ans = $status $install_verify $if ans .eq. backansw then goto 060_target $if ans .eq. helpansw then goto 157_askhelp $if ans .eq. yesansw $then $helpmode = "HELP" $else $if ans .eq. noansw $then $helpmode = "NOHELP" $else $say "''yesorno'" $goto 157_askhelp_a $endif $endif $if decnet_osi_selected - .and. decnet_iv_installed - .and. .not. decnet_iv_referenced $then $target_modified = 1 $set noon $define/nolog/user sys$output nl: $define/nolog/user sys$error nl: $PRODUCT REMOVE DECNET_PHASE_IV - /VERSION=* - /PRODUCER=HP - /BASE_SYSTEM=I64VMS - /REMOTE - /NODEBUG - /'logmode' $sav_status = $status $set on $endif $if decnet_iv_selected - .and. decnet_osi_installed - .and. .not. decnet_osi_referenced $then $target_modified = 1 $msgdisp_verify $saylong "sftremovebecause" "DECnet-Plus" "DECnet Phase IV has been selected." $install_verify $set noon $PRODUCT REMOVE DECNET_PLUS - /VERSION=* - /PRODUCER=HP - /BASE_SYSTEM=I64VMS - /REMOTE - /NODEBUG - /'logmode' $set on $endif $if tcpip_tcpip_selected - .and. tcpip_ucx_installed $then $target_modified = 1 $msgdisp_verify $saylong "sftremovebecause" - "TCP/IP (UCX)" "the new (TCPIP) implementation has been selected." $install_verify $define/nolog/job pcsi$source - SYS$SYSDEVICE:,SYS$SYSDEVICE:[VMS$COMMON],'other_prods' $set noon $PRODUCT REMOVE UCX - /VERSION=* - /PRODUCER=HP - /BASE_SYSTEM=I64VMS - /REMOTE - /DEBUG=DISABLE4 - /'logmode' $set on $if f$trnlnm("pcsi$source","LNM$JOB") .nes. "" then - deassign /job pcsi$source $endif $160_remove_ssl: $if install_upgrade .eqs. "I" then goto 160_after_ask $set noon $define/nolog/user sys$output nl: $define/nolog/user sys$error nl: $product show product SSL /remote /base=AXPVMS /producer=CPQ $sav_status = $status $set on $if sav_status .eq. %X00000001 $then $msgdisp_verify $saylong "sftremovebecause" - "CPQ AXPVMS SSL" "The new, HP version of SSL has been selected." $install_verify $ssl_prod = "CPQ" $goto 160_do_remove $endif $if sav_status .ne. %X0652A043 $then $msgdisp_verify $saylong "proderror" "PRODUCT SHOW" "160_prod_install" - "''f$string(sav_status)'" $set noon $set verify $product show product SSL /remote /base=AXPVMS /producer=CPQ $sho sym $status $install_verify $set on $goto 160_ask $endif $set noon $define/nolog/user sys$output nl: $define/nolog/user sys$error nl: $product show product SSL /remote /base=AXPVMS /producer=DEC $sav_status = $status $set on $if sav_status .eq. %X00000001 $then $msgdisp_verify $saylong "sftremovebecause" - "DEC AXPVMS SSL" "the new, HP version of SSL has been selected." $install_verify $ssl_prod = "DEC" $goto 160_do_remove $endif $if sav_status .ne. %X0652A043 $then $msgdisp_verify $saylong "proderror" "PRODUCT SHOW" "160_prod_install" - "''f$string(sav_status)'" $set noon $set verify $product show product SSL /remote /base=AXPVMS /producer=DEC $sho sym $status $install_verify $set on $goto 160_ask $endif $goto 160_after_ask $160_do_remove: $set noon $PRODUCT REMOVE SSL - /VERSION=* - /PRODUCER='ssl_prod' - /BASE_SYSTEM=AXPVMS - /REMOTE - /DEBUG=DISABLE4 - /'logmode' $set on $sayblank $sayblank $goto 160_remove_ssl $160_ask: $sayblank $read /error=160_ask sys$output in$ - /prompt = "''wanttoterm'" $if in$ .eqs. "" then in$ = yesvalue $msgdisp_verify $saylong "checkyesorno" "''in$'" $ans = $status $install_verify $if ans .eq. backansw then goto 060_target $if ans .eq. helpansw then goto 160_remove_ssl $if ans .eq. yesansw then goto terminate_exit $if ans .ne. noansw $then $say "''yesorno'" $goto 160_ask $endif $160_after_ask: $if install_upgrade .eqs. "I" then goto 161_after_ask $if f$trnlnm("pcsi$prod","LNM$JOB") .gts. "" then - deasign /job pcsi$prod $set noon $pipe ( set command 'tar$pcsi_cld' ; - prod show prod /remote ENCRYPT ) <PIPE> - search sys$input "ENCRYPT" <PIPE> - ( read sys$input str ; - define /job pcsi$prod &str ) $set on $pcsi_prod = f$trnlnm("pcsi$prod","LNM$JOB") $if f$trnlnm("pcsi$prod","LNM$JOB") .gts. "" then - deasign /job pcsi$prod $if pcsi_prod .eqs. "No strings matched" then goto 161_after_ask $prodcr = f$element(0," ",pcsi_prod) $bas_sys = f$element(1," ",pcsi_prod) $prod$ = f$element(2," ",pcsi_prod) $if prod$ .nes. "ENCRYPT" then goto 161_after_ask $msgdisp_verify $saylong "sftremovebecause" - "''prodcr' ''bas_sys' ''prod$'" "OpenVMS now includes ENCRYPT." $install_verify $set noon $product remove /remote /prod='prodcr' /base='bas_sys' ENCRYPT /version=* $set on $161_after_ask: $target_modified = 2 $if update_npag_bap_max_pa then define/nolog/job pcsi$npag_bap_max_pa 1 $if prod_oper .eqs. "INSTALL" $then $prod_dest = "/DESTINATION=''target_disk'[VMS$COMMON]" $else $prod_dest = "" $endif $define/job/nolog I64VMS$pcsi_prod_ver_vis "''prod_ver_vis'" $if partial_kit .and. partial_upgrade $then $common_dir = "UPD$COMMON" $inst_ver_vis = part_ver_vis $else $common_dir = "VMS$COMMON" $inst_ver_vis = prod_ver_vis $endif $if inst_prod .eqs. "OPENVMS" $then $define/nolog/job pcsi$source - SYS$SYSDEVICE:,SYS$SYSDEVICE:['common_dir'],'other_prods' $else $define/nolog/job pcsi$source SYS$SYSDEVICE:['common_dir'],'other_prods' $endif $if inst_prod .eqs. "OPENVMS" $then $debug_opt = "/DEBUG=DISABLE3" $else $debug_opt = "" $endif $if install_upgrade .eqs. "U" $then $define/job/nolog I64VMS$PCSI_PRESERVE_SIGNATURE "TRUE" $else $define/job/nolog I64VMS$PCSI_PRESERVE_SIGNATURE "FALSE" $endif $if (prod_oper .eqs. "INSTALL") .and. (inst_prod .eqs. "VMS") $then $msgdisp_verify $saylong "notreinstdwsup" $install_verify $160_ask_cont: $read sys$output /error=160_ask_cont inpt /prompt = "''returncont'" $endif $if prod_oper .eqs. "INSTALL" then - prod_oper = prod_oper + " /NORECOVERY" $define/nolog/user sys$login 'f$trnlnm("sys$scratch")' $define/nolog/user sys$command sys$output $set noon $PRODUCT 'prod_oper' /version='inst_ver_vis' 'inst_prod' - /PRODUCER=HP - /BASE_SYSTEM=I64VMS - 'prod_dest' - /WORK='target_disk'[000000] - 'pcf_option' - /'helpmode' - /REMOTE - 'debug_opt' - /NOTEST - /'logmode' $sav_status = $status .and. %XEFFFFFFF $set on $if f$trnlnm("I64VMS$PCSI_PRESERVE_SIGNATURE","LNM$JOB") .nes. "" then - deassign/JOB I64VMS$PCSI_PRESERVE_SIGNATURE $if f$trnlnm("pcsi$source","LNM$JOB") .nes. "" then - deassign/JOB pcsi$source $deassign /job I64VMS$pcsi_prod_ver_vis $if update_npag_bap_max_pa then deassign/job pcsi$npag_bap_max_pa $if f$search("SYS$SCRATCH:VMS$DEF''pid'.PCF") .nes. "" then - delete SYS$SCRATCH:VMS$DEF'pid'.PCF;* $if ( (sav_status .eq. %X053D8522) - .or. (sav_status .eq. %X0652800A) - .or. (sav_status .eq. %X0652A213) ) - then goto terminate_exit $if sav_status .eq. %X0652A243 $then $msgdisp_verify $saylong "userconterr" $install_verify $sayblank $endif $if .not. sav_status $then $say f$message(sav_status) $goto 0_exit $endif $if f$search("''target_disk'[000000]alpha_tools.dir") .eqs. "" $then if f$search("''target_disk'[vms$common]alpha_tools.dir") .nes. "" $then set file 'target_disk'[vms$common]alpha_tools.dir - /enter='target_disk'[000000]alpha_tools.dir $endif $endif $if install_upgrade .nes. "U" then goto 160_set_clumem $define/nolog/exec sysuaf 'target_disk'[VMS$COMMON.SYSEXE]SYSUAF $define/nolog/exec rightslist 'target_disk'[VMS$COMMON.SYSEXE]RIGHTSLIST $define/nolog/exec netproxy 'target_disk'[VMS$COMMON.SYSEXE]NETPROXY $uaf = "$''target_disk'[VMS$COMMON.SYSEXE]AUTHORIZE" $set noon $define/nolog/user sys$output nl: $define/nolog/user sys$error nl: $uaf add/identifier vms$buffer_object_user/value:identifier:8 $set noon $define/nolog/user sys$output nl: $define/nolog/user sys$error nl: $uaf add/identifier vms$mem_resident_user/value:identifier:9 $set on $deassign/exec sysuaf $deassign/exec rightslist $deassign/exec netproxy $goto 170_skip_install $160_set_clumem: $close/error=160_open_answer I64VMS$pcsi_answer $160_open_answer: $open/write I64VMS$pcsi_answer 'target_disk'[VMS$COMMON.SYSEXE]INS_ANSWER.COM $write I64VMS$pcsi_answer "$ clu_mem = ""''clu_mem'""" $write I64VMS$pcsi_answer "$ galaxy_mem = ""''galaxy_mem'""" $write I64VMS$pcsi_answer "$ install_upgrade = ""''install_upgrade'""" $write I64VMS$pcsi_answer "$ target_scsnode= ""''scsnode'""" $write I64VMS$pcsi_answer "$ target_scssystemid= ''scsid'" $close I64VMS$pcsi_answer $close/error=160_open_modparams I64VMS$pcsi_modparams $160_open_modparams: $if f$search("''target_disk'[SYS0.SYSEXE]MODPARAMS.DAT") .nes. "" $then $open /append I64VMS$pcsi_modparams - 'target_disk'[SYS0.SYSEXE]MODPARAMS.DAT $else $create 'target_disk'[SYS0.SYSEXE]MODPARAMS.DAT $open /append I64VMS$pcsi_modparams - 'target_disk'[SYS0.SYSEXE]MODPARAMS.DAT $endif $write I64VMS$pcsi_modparams "! SYS$SYSDEVICE:[SYS0.SYSEXE]MODPARAMS.DAT" $mod_cre = - F$FAO("!! Created during installation of OpenVMS AXP ''prod_ver_vis' !%D",0) $write I64VMS$pcsi_modparams mod_cre $write I64VMS$pcsi_modparams "!" $if .not. clu_mem $then $write I64VMS$pcsi_modparams "VAXCLUSTER=0" $endif $if galaxy_mem $then $write I64VMS$pcsi_modparams "GALAXY=1" $endif $write I64VMS$pcsi_modparams "SCSNODE=""''scsnode'""" $write I64VMS$pcsi_modparams "SCSSYSTEMID=''scsid'" $if f$search("''target_disk'[VMS$COMMON.SYSLIB]DECW$TRANSPORT_COMMON.EXE") - .eqs. "" $then $write I64VMS$pcsi_modparams "WINDOW_SYSTEM=1" $endif $write I64VMS$pcsi_modparams "!" $write I64VMS$pcsi_modparams - "! End of SYS$SYSDEVICE:[SYS0.SYSEXE]MODPARAMS.DAT" $write I64VMS$pcsi_modparams mod_cre $close I64VMS$pcsi_modparams $close/error=160_open_temp_sysgen I64VMS$pcsi_temp_sysgen $160_open_temp_sysgen: $open /write I64VMS$pcsi_temp_sysgen - 'target_disk'[SYS0.SYSEXE]TEMP_SYSGEN.COM $write I64VMS$pcsi_temp_sysgen "$ mcr sysgen" $write I64VMS$pcsi_temp_sysgen "$deck" $write I64VMS$pcsi_temp_sysgen - "use ''target_disk'[SYS0.SYSEXE]IA64VMSSYS.PAR" $write I64VMS$pcsi_temp_sysgen "set scsnode ""''scsnode'""" $write I64VMS$pcsi_temp_sysgen "set scssystemid ''scsid'" $write I64VMS$pcsi_temp_sysgen - "write ''target_disk'[SYS0.SYSEXE]IA64VMSSYS.PAR" $write I64VMS$pcsi_temp_sysgen "exit" $write I64VMS$pcsi_temp_sysgen "$eod" $close I64VMS$pcsi_temp_sysgen $@'target_disk'[SYS0.SYSEXE]TEMP_SYSGEN.COM $delete/nolog 'target_disk'[SYS0.SYSEXE]TEMP_SYSGEN.COM; $170_skip_install: $if f$search("''target_disk'[VMS$COMMON.SYSHLP]HELPLIB.HLB") .gts. "" then - purge 'target_disk'[VMS$COMMON.SYSHLP]HELPLIB.HLB $if f$search("''target_disk'[VMS$COMMON.SYSLIB]STARLET.OLB") .gts. "" then - purge 'target_disk'[VMS$COMMON.SYSLIB]STARLET.OLB $pcsi_file = "HP-I64VMS-OPENVMS-*-5.PCSI$DESCRIPTION" $gosub 170_purge_pcsi $pcsi_file = "HP-I64VMS-OPENVMS-*-5.PCSI$TLB" $gosub 170_purge_pcsi $pcsi_file = "HP-I64VMS-VMS-*-2.PCSI$DESCRIPTION" $gosub 170_purge_pcsi $pcsi_file = "HP-I64VMS-VMS-*-2.PCSI$TLB" $gosub 170_purge_pcsi $goto 170_after_purge_pcsi $170_purge_pcsi: $purge 'target_disk'[VMS$COMMON]'pcsi_file' $170_purge_loop: $test_file = f$search("''target_disk'[VMS$COMMON]''pcsi_file'") $if test_file .eqs. "" then return $if f$locate(prod_ver_name,test_file) .eq. f$length(test_file) then - delete 'test_file' $goto 170_purge_loop $170_after_purge_pcsi: $if pcsi$usenew $then $deassign/job pcsi$main $deassign/job pcsi$shr $set command SYS$UPDATE:PCSI.CLD $tar$pcsi_cld := SYS$UPDATE:PCSI.CLD $endif $if pcsi$keepnew $then $copy 'target_disk'[PCSI$NEWER]pcsi$main.exe - 'target_disk'[vms$common.sysexe] $purge 'target_disk'[vms$common.sysexe]pcsi$main.exe $copy 'target_disk'[PCSI$NEWER]pcsi$shr.exe - 'target_disk'[vms$common.syslib] $purge 'target_disk'[vms$common.syslib]pcsi$shr.exe $copy 'target_disk'[PCSI$NEWER]pcsi.cld - 'target_disk'[vms$common.sysupd] $purge 'target_disk'[vms$common.sysupd]pcsi.cld $endif $if f$search("''target_disk'[PCSI$NEWER]*.*") .nes. "" $then $delete 'target_disk'[PCSI$NEWER]*.*;* $endif $if f$search("''target_disk'[000000]PCSI$NEWER.DIR") .nes. "" $then $delete 'target_disk'[000000]PCSI$NEWER.DIR; $endif $if f$getsyi("arch_name") .eqs. "Alpha" $then $booted_osflags = f$getenv("BOOTED_OSFLAGS") $flags = f$element(1,",",booted_osflags) $flags_int = f$integer("%x''flags'") $foreign_install = 0 $if flags_int/%x80000/2*2 .ne. flags_int/%x80000 then foreign_install=1 $if foreign_install $then $msgdisp_verify $saylong "foreigntarg" $install_verify $read sys$output /error=170_return inpt /prompt = "''returncont'" $170_return: $endif $endif $if ( "I64" .nes. "I64" ) then goto 170_bootoption_070 $bcfg = "$SYS$SYSTEM:EFI$BCFG.EXE" $if .not. bcfg$choice then goto 170_bootoption_050 $define /nolog sys$error nl: $define /nolog sys$output nl: $pipe bcfg BOOT SHOW 'target_disk' <PIPE> search/noout sys$input "0 entries found." $sav_status = $status .and. %X0FFFFFFF $deassign sys$error $deassign sys$output $if sav_status .eq. 1 $then $goto 170_bootoption_020 $endif $define /nolog sys$error nl: $define /nolog sys$output nl: $pipe bcfg BOOT SHOW 'target_disk' <PIPE> search/noout sys$input "1 entries found." $sav_status = $status .and. %X0FFFFFFF $deassign sys$error $deassign sys$output $if sav_status .eq. 1 $then $goto 170_bootoption_030 $endif $define /nolog sys$error nl: $define /nolog sys$output nl: $pipe bcfg BOOT SHOW 'target_disk' <PIPE> search/noout sys$input " entries found." $sav_status = $status .and. %X0FFFFFFF $deassign sys$error $deassign sys$output $if sav_status .eq. 1 $then $goto 170_bootoption_040 $endif $msgdisp_verify $saylong "proderror" "bcfg BOOT SHOW" "170_bootoption_010" - "''f$string(sav_status)'" $set noon $set verify $bcfg BOOT SHOW 'target_disk' $sho sym $status $install_verify $goto 170_bootoption_050 $170_bootoption_020: $sayblank $sayblank $bcfg BOOT ADD 1 'target_disk' 'bcfg_flags' "OpenVMS on ''target_disk'" $msgdisp_verify $saylong "bcfg_optcalled" $if bcfg_flags .nes. "" then say " VMS_FLAGS are set to ''bcfg_flags'" $install_verify $goto 170_bootoption_070 $170_bootoption_030: $sayblank $sayblank $bcfg BOOT VALIDATE 'target_disk' $goto 170_bootoption_070 $170_bootoption_040: $define /nolog sys$error nl: $define /nolog sys$output nl: $pipe bcfg BOOT SHOW 'target_disk' <PIPE> - sear sys$input " entries found" <PIPE> - ( read sys$input xx ; - define/job num$dev &xx ) $deassign sys$error $deassign sys$output $num$dev = f$element(0," ",f$trnlnm("num$dev","LNM$JOB")) $if f$trnlnm("num$dev","LNM$JOB") .gts. "" then - deassign/job num$dev $define /nolog sys$error nl: $define /nolog sys$output nl: $pipe bcfg BOOT SHOW 'target_disk' <PIPE> - sear sys$input /stat " Fibre(" <PIPE> - sear sys$input "Records matched:" <PIPE> - ( read sys$input xx ; - defi/job num$fibre &xx ) $deassign sys$error $deassign sys$output $num$fibre = - f$element(2," ",f$edit(f$trnlnm("num$fibre","LNM$JOB"),"TRIM,COMPRESS") ) $if f$trnlnm("num$fibre","LNM$JOB") .gts. "" then - deassign/job num$fibre $if num$fibre .eq. num$dev then goto 170_bootoption_030 $sayblank $msgdisp_verify $saylong "bcfg_multopt" $install_verify $goto 170_bootoption_050 $170_bootoption_050: $sayblank $msgdisp_verify $saylong "bcfg_runmgr" $install_verify $goto 170_bootoption_070 $170_bootoption_070: $if install_upgrade .eqs. "I" $then $msgdisp_verify $saylong "installfin" $install_verify $else $msgdisp_verify $saylong "upgradefin" $install_verify $endif $if ans .eq. backansw then goto 070_mount $if ans .eq. helpansw then goto 070_targetdirorg_z $if ans .eq. yesansw then bcfg$choice = 1 $if ans .eq. noansw then bcfg$choice = 0 $if (ans .ne. yesansw) .and. (ans .ne. noansw) then - goto 070_targetdirorg_z $goto common_exit $y_exit: $msgdisp_verify $saylong "yexit" "''install_upgrade'" $install_verify $if target_modified .gt. 0 .and. init_preserve .eqs. "P" $then $msgdisp_verify $saylong "mayneedtorestore" $install_verify $if target_modified .eq. 1 $then $msgdisp_verify $saylong "shouldbeable" "''install_upgrade'" $install_verify $else $msgdisp_verify $saylong "recommendrestore" "''install_upgrade'" $install_verify $endif $endif $goto 0_exit $err_exit: $sav_status = $status $say f$message(sav_status) $msgdisp_verify $saylong "unexpecterr" "''install_upgrade'" $install_verify $if target_modified .gt. 0 .and. init_preserve .eqs. "P" $then $msgdisp_verify $saylong "mayneedtorestore" $install_verify $if target_modified .eq. 1 $then $msgdisp_verify $saylong "shouldbeable" "''install_upgrade'" $install_verify $else $msgdisp_verify $saylong "recommendrestore" "''install_upgrade'" $install_verify $endif $endif $if sav_status .lt. %x10000000 then sav_status = sav_status + %x10000000 $goto common_exit $terminate_exit: $msgdisp_verify $saylong "userterminated" "''install_upgrade'" $install_verify $if target_modified .gt. 0 .and. init_preserve .eqs. "P" $then $msgdisp_verify $saylong "mayneedtorestore" $install_verify $if target_modified .eq. 1 $then $msgdisp_verify $saylong "shouldbeable" "''install_upgrade'" $install_verify $else $msgdisp_verify $saylong "recommendrestore" "''install_upgrade'" $install_verify $endif $endif $goto 0_exit $0_exit: $sav_status = %x10000000 $goto common_exit $common_exit: $set nocontrol = Y $on control_y then continue $on warning then continue $close/error=y_1 I64VMS$messages $y_1: $close/error=y_2 I64VMS$pcsi_modparams $y_2: $close/error=y_3 I64VMS$pcsi_answer $y_3: $close/error=y_4 I64VMS$pcfout $y_4: $if f$search("SYS$SCRATCH:VMS$DEF''pid'.PCF") .nes. "" then - delete SYS$SCRATCH:VMS$DEF'pid'.PCF;* $close/error=y_6 I64VMS$plat_pdf $y_6: $close/error=y_7 I64VMS$plattmp $y_7: $if f$search("SYS$SCRATCH:I64VMS$PLAT.TMP") .nes. "" then - delete SYS$SCRATCH:I64VMS$PLAT.TMP;* $close/error=y_8 I64VMS$pcsi_temp_help $y_8: $if f$search(temp_help) .nes. "" then - delete 'temp_help';* $if f$trnlnm("I64VMS$pcsi_prod_ver_vis") .gts. "" $then $deassign /job I64VMS$pcsi_prod_ver_vis $endif $if f$trnlnm("pcsi$sysdevice") .gts. "" $then $deassign pcsi$sysdevice $endif $if f$trnlnm("pcsi$specific") .gts. "" $then $deassign pcsi$specific $endif $if f$trnlnm("pcsi$destination") .gts. "" $then $deassign pcsi$destination $endif $if f$trnlnm("sysuaf",,,"EXECUTIVE") .gts. "" $then $deassign sysuaf $endif $if f$trnlnm("rightslist",,,"EXECUTIVE") .gts. "" $then $deassign rightslist $endif $if f$trnlnm("netproxy",,,"EXECUTIVE") .gts. "" $then $deassign netproxy $endif $if scratch_defined $then $deassign/job sys$scratch $endif $if f$search("SYS$SCRATCH:VMS$DEF''pid'.PCF") .nes. "" then - delete SYS$SCRATCH:VMS$DEF'pid'.PCF;* $set message 'sa_message' $set term sys$output /echo $sav_ver = f$verify(sav_ver) $saved_privs = f$setprv(saved_privs) $set control=(Y,T) $logout
$! © Copyright 1976, 2009 Hewlett-Packard Development Company, L.P. $type sys$input hp OpenVMS Industry Standard 64 Instant Capacity on Demand (iCAP) configuration utility **************** W A R N I N G **************** This procedure stops and restarts the CIMSERVER process. ALL WBEM provider modules will be unavailable for a short period of time during the configuration. **************** W A R N I N G **************** $GOTO ICAP_CONFIG_MAIN $ready_question: $read /prompt="Are you ready to start the configuration process? (Y/N): " - sys$command action $action = f$edit(action,"COMPRESS,UPCASE") $IF ((action .eqs. "N") .or. (action .eqs. "NO")) then goto exit $IF ((action .eqs. "Y") .or. (action .eqs. "YES")) then goto start_config $goto ready_question $start_config: $write sys$output " " $gosub check_privs $deassign/nolog/job wbem $pipe prod show product wbemcim <PIPE> sear sys$pipe wbemcim <PIPE> - (read sys$pipe wbem ; def/job wbem &wbem) $if f$locate("Installed",f$trnlnm("wbem")) .eq. f$length(f$trnlnm("wbem")) $then $write sys$output "%ICAP-F-NOWBEM, WBEMCIM is not installed on this system" $goto missing_exit $endif $pipe show system/proc=cimserver <PIPE> search sys$pipe cimserver <PIPE> - (read sys$pipe cimserver ; def/job cimserver &cimserver) $if f$locate("CIMSERVER",f$trnlnm("cimserver")) .eq. f$length(f$trnlnm("cimserver")) $then $write sys$output "%ICAP-F-WBEMNOTSTARTED, WBEMCIM has not been started on this system. Please start WBEMCIM and try again" $goto missing_exit $endif $IF F$SEARCH("SYS$LIBRARY:LIBHPNPARPROVIDER.EXE") .eqs. "" THEN GOTO missing_npar $IF F$SEARCH("SYS$LIBRARY:LIBICODPROVIDERMODULE.EXE") .eqs. "" THEN GOTO missing_icap $IF F$SEARCH("WBEM_OPT:[WBEM.BIN]CIMPROVIDER.EXE") .eqs. "" THEN GOTO missing_cp $IF F$SEARCH("WBEM_OPT:[WBEM.BIN]CIMMOF.EXE") .eqs. "" THEN GOTO missing_cm $cimmof:==$WBEM_OPT:[WBEM.BIN]CIMMOF.EXE $gosub register_npar_mofs $gosub register_icap_mofs $gosub verify_providers $gosub register_cld $gosub icap_config_questions $gosub start_icap_server $exit: $exit $missing_npar: $write sys$output ("%ICAP-F-NONPAR, the nPartition WBEM provider was not found") $goto missing_exit $missing_icap: $write sys$output ("%ICAP-F-NOICAP, the iCAP WBEM provider was not found") $goto missing_exit $missing_cp: $write sys$output ("%ICAP-F-NOCP, cimprovider.exe was not found") $goto missing_exit $missing_cm: $write sys$output ("%ICAP-F-NOCM, cimmof.exe was not found") $goto missing_exit $missing_exit: $write sys$output ("%ICAP-F-ABORT, aborting configuration....") $exit $register_npar_mofs: $write sys$output "Starting configuration of the nPar provider:" $goto done_npar_mofs $write sys$output " Creating the nPar namespace" $cimmof -w -n root/cimv2/npar sys$update:CIM_Qualifiers25.mof $write sys$output " Registering Managed Object Format (MOF) files" $dcl$ctrlt="Registering MOF files, please be patient..." $cimmof -w -n root/cimv2/npar sys$update:NPar.mof $write sys$output " Registering the nPartition provider with the CIMSERVER" $cimmof -w -n root/PG_InterOp sys$update:NParReg.mof $delete/symbol dcl$ctrlt $done_npar_mofs: $return $register_icap_mofs: $write sys$output "Starting configuration of the iCAP provider:" $goto done_icap_mofs $write sys$output "Creating the iCAP namespace" $cimmof -w -n root/cimv2/npar sys$update:CIM_X25.MOF $write sys$output " Registering Managed Object Format (MOF) files" $dcl$ctrlt="Registering MOF files, please be patient..." $cimmof -w -n root/cimv2/npar sys$update:ICAP.MOF $write sys$output " Registering the iCAP provider with the CIMSERVER" $cimmof -w -n root/PG_InterOp sys$update:HP_iCODProviderReg.mof $delete/symbol dcl$ctrlt $done_icap_mofs: $return $verify_providers: $write sys$output ("Verifying providers status...") $@sys$manager:icap$cli_utils.com PROVIDERS_STATUS $if f$trnlnm("icap$providers_status") .eqs. "" $THEN $write sys$output ("providers OK!...") $ELSE $write sys$output ("configuration and registration of the WBEM providers failed...aborting configuration") $exit $ENDIF $return $register_cld: $write sys$output "Registering iCAP Command Language Definition file..." $@sys$update:icap_cld.com $instal repla sys$library:dcltables $write sys$output "Command Language Definition file successfully registered" $return $icap_config_questions: $ready_question: $read /prompt="Would you like to set the System-Contact's E-mail Address? (Y/N): " - sys$command action $action = f$edit(action,"COMPRESS,UPCASE") $IF ((action .eqs. "N") .or. (action .eqs. "NO")) then goto config1 $IF ((action .eqs. "Y") .or. (action .eqs. "YES")) then goto start_email $goto ready_question $start_email: $read/prompt="Enter the System-Contact's E-mail Address: " sys$command email $icap set email/contact="''email'" $write sys$output " " $config1: $read/prompt="Would you like to turn configuration change notification on? (Y/N): " sys$command action $action = f$edit(action,"COMPRESS,UPCASE") $IF ((action .eqs. "N") .or. (action .eqs. "NO")) then goto config_return $IF ((action .eqs. "Y") .or. (action .eqs. "YES")) then goto start_notif $goto config1 $start_notif: $icap set notification/state=on $config_return: $return $start_icap_server: $server_question: $read/prompt="Would you like to start the iCAP software now? (Y/N): " sys$command action $action = f$edit(action,"COMPRESS,UPCASE") $IF ((action .eqs. "N") .or. (action .eqs. "NO")) then goto server_exit $IF ((action .eqs. "Y") .or. (action .eqs. "YES")) then goto server_start $goto server_question $server_start: $run/deta sys$system:loginout/input=sys$manager:icap$cli_utils.com/output=sys$manager:icap$$init.log $server_exit: $return $check_privs: $if f$priv("cmkrnl") .eqs. "FALSE" then goto no_privs $if f$priv("sysprv") .eqs. "FALSE" then goto no_privs $goto exit_privs $no_privs: $write sys$output ("%ICAP-F-NOPRIV, SYSPRV and CMKRNL privileges are required to execute this procedure") $goto missing_exit $exit_privs: $return $Confirm_Config: $Get_Answer: $answer = "NO" $write sys$output "" $INQUIRE answer "Are you satisfied with the backup of your WBEMCIM repository (Yes/No)?" $answer=F$extract(0,1,f$edit(answer,"UPCASE,COLLAPSE")) $if answer .eqs. "Y" then GOTO RET_Confirm_Config $if answer .nes. "N" then goto Get_Answer $icap_msg = "iCAP configuration terminated by user." $exitvalue = 1 $GOTO ICAP_print_message_and_exit $RET_Confirm_Config: $RETURN $Create_namespace: $success = "0000001" $ns_create_failed = "0038024" $attempts = 0 $write sys$output "%iCAP-I-CRENAM, Creating ''namespace' namespace" $CN_cimmof: $define/user sys$error icap_cns.tmp $cimmof -w -n "''namespace'" src_mof$:CIM_Qualifiers25.mof $if f$extract(3,7,$status) .eqs. success then GOTO RET_Create_namespace $if f$extract(3,7,$status) .eqs. ns_create_failed $then $wait 00:00:02 $attempts = attempts + 1 $if attempts .lt. 30 then GOTO CN_cimmof $icap_msg = "Failed to set DefaultNamespacePath ''namespace'" $else $if f$search("icap_cns.tmp") .nes. "" $then $type icap_cns.tmp; $delete/nolog icap_cns.tmp;* $endif $icap_msg = "Failed to create Namespace ''namespace'" $endif $exitvalue = %x2c $GOTO icap_print_message_and_exit $RET_Create_namespace: $if f$search("icap_cns.tmp") .nes. "" then delete/nolog icap_cns.tmp;* $RETURN $Update_Repository: $say "%ICAP-I-BEGUPDREP, Begin updating WBEMCIM repository at ''f$time()'" $GOSUB NPAR_Update_Repository $GOSUB ICAP_Update_Repository $RET_Update_Repository: $say "%ICAP-I-ENDUPDREP, End updating WBEMCIM repository at ''f$time()'" $RETURN $NPAR_Update_Repository: $vsay "%ICAP-I-BEGUPDNPA, Begin update Npar Mof files at ''f$time()'" $childless_class_names = - "HP_NParDynamicProfile\" + - "HP_NParCellInSlot\" + - "HP_NParIOChassisInSlot\" + - "HP_NParCellSlotInCabinet\" + - "HP_NParIOChassisSlotInCabinet\" + - "HP_NParCellConnectedToIOChassis\" + - "HP_NParCellSlotInPartition\" + - "HP_NParDomainInCabinet\" + - "HP_NParCabinet\" + - "HP_NParLocalPartition\" + - "HP_NParPartition\" + - "HP_NParComplex\" + - "HP_NParCellSlot\" + - "HP_NParCell\" + - "HP_NParPowerCoolingDomain\" + - "HP_NParRemoteComplex\" + - "HP_NParIOChassisSlot\" + - "HP_NParIOChassis" $index = 0 $NPAR_Delete_Class_loop: $classname = F$edit(F$element(index,"\",childless_class_names),"TRIM") $if classname .eqs. "\" then GOTO npar_mof_compile $vsay "%ICAP-I-DELNPAR, Deleting NPAR class ''classname'" $deleteclass "''namespace'" "''classname'" $index = index + 1 $goto NPAR_Delete_Class_loop $npar_mof_compile: $vsay "%ICAP-I-MOFNPAR, cimmof NPAR.MOF at ''f$time()'" $cimmof -w -n "''namespace'" src_mof$:NPAR.MOF $exitval = $STATUS $if .not. exitval $then $icap_msg = "cimmof src_mof$:NPAR.MOF failed, exiting..." $GOTO ICAP_print_message_and_exit $endif $RET_NPAR_Update_Repository: $vsay "%ICAP-I-ENDUPDNPA, End update Npar Mof done at ''f$time()'" $RETURN $ICAP_Update_Repository: $vsay "%ICAP-I-BEGUPDICA, Begin update iCAP Mof done at ''f$time()'" $class_names = "HP_iCODComplex\" + - "HP_iCAPPartition\" + - "HP_iCAPComplex\" + - "HP_GiCAPManager\" + - "HP_GiCAPGroup\" + - "HP_GiCAPMember" $index = 0 $ICAP_Delete_Class_loop: $classname = F$edit(F$element(index,"\",class_names),"TRIM") $if classname .eqs. "\" then GOTO icap_mof_compile $vsay "%ICAP-I-DELICAP, Deleting ICAP class ''classname'" $deleteclass "''namespace'" "''classname'" $index = index + 1 $goto ICAP_Delete_Class_loop $icap_mof_compile: $index = 0 $i_mofs = "CIM_X25,ICAP" $icap_get_mof: $mofname = f$element(index,",",i_mofs) $if mofname .EQS. "," then GOTO icap_mof_done $vsay "%ICAP-I-MOFICAP, cimmof ''mofname'.MOF at ''f$time()'" $cimmof -w -n "''namespace'" src_mof$:'mofname'.MOF $exitval = $STATUS $if .not. exitval $then $icap_msg = "cimmof src_mof$:''mofname'.MOF failed, exiting..." $GOTO ICAP_print_message_and_exit $endif $index = index + 1 $GOTO icap_get_mof $icap_mof_done: $RET_ICAP_Update_Repository: $vsay "%ICAP-I-ENDUPDICA, End update iCAP Mof done at ''f$time()'" $RETURN $Is_Cimserver_Running: $pipe show system/proc=CIMSERVER <PIPE> search/noout/nowarnings sys$pipe cimserver 2> NL: $if f$extract(3,7,$status) .eqs. search_nomatches $then $return 3 $else $return 1 $endif $Start_cimserver: $attempts = 0 $start_cim: $@sys$startup:WBEM_Services$Startup.COM $attempts = attempts + 1 $cim_started: $wait 00:00:03 $GOSUB Is_Cimserver_Running $if $status .eq. 1 then GOTO RET_start_cimserver $if attempts .lt. 20 then GOTO cim_started $ICAP_msg = "Failed to start cimserver. Check CIMServer_Startup.log in PEGASUS_HOME." $exitval = %X100008E8 $GOTO ICAP_print_message_and_exit $RET_start_cimserver: $RETURN $Stop_cimserver: $attempts = 0 $stop_cim: $@sys$startup:wbem_services$shutdown.com $attempts = attempts + 1 $cim_stopped: $wait 00:00:03 $GOSUB Is_Cimserver_Running $if $status .NE. 1 then GOTO RET_Stop_cimserver $if attempts .lt. 21 then GOTO cim_stopped $ICAP_msg = "Failed to stop cimserver." $exitval = 0 $GOTO ICAP_print_message_and_exit $RET_Stop_cimserver: $RETURN $Register_Modules: $say "%ICAP-I-REGNPAR, Registering iCAP Mofs at ''f$time()'" $index = -1 $REG_MODULE: $index = index + 1 $mod_name = f$element(index,",",reg_mods) $if mod_name .eqs. "," then GOTO RET_Register_Module $mof_name = f$element(index,",",reg_mofs) $vsay "%ICAP-I-REGMOD, Register module ''mod_name' at ''f$time()'" $cimmof -w -n "root/PG_InterOp" src_mof$:'mof_name'.MOF $exitval = $STATUS $pipe cimprovider -l -s <PIPE> search/nowarn/noout/match=AND sys$pipe "''mod_name'","OK" $if f$extract(3,7,$status) .eqs. search_success then GOTO REG_MODULE $icap_msg = "Failed to register module ''mod_name' from ''mof_name'.MOF" $GOTO ICAP_print_message_and_exit $RET_Register_Module: $say "%ICAP-I-REGDone, Registering iCAP Mofs Done at ''f$time()'" $RETURN $Unregister_Modules: $say "%ICAP-I-UNREGNPAR, Unregistering at ''f$time()'" $index = -1 $UNREG_MODULE: $index = index + 1 $mod_name = f$element(index,",",reg_mods) $if mod_name .eqs. "," then GOTO RET_Unregister_Module $vsay "%ICAP-I-DELREM, delete and remove module ''mod_name' at ''f$time()'" $pipe cimprovider -l <PIPE> search/nowarn/noout sys$pipe "''mod_name'" $if f$extract(3,7,$status) .eqs. search_nomatches then GOTO UNREG_MODULE $cimprovider -d -m "''mod_name'" $cimprovider -r -m "''mod_name'" $GOTO UNREG_MODULE $icap_msg = "Failed to Unregister ''mod_name'" $exitvalue = %x2c $GOTO ICAP_print_message_and_exit $RET_Unregister_Module: $say "%ICAP-I-UNREGDON, Unregistering iCAP/nPAR modules done at ''f$time()'" $RETURN $Check_Prerequisites: $say "%ICAP-I-CHECK, Checking for iCAP configuration requirements" $vsay "%ICAP-I-PRIV, Checking for cmkrnl and sysprv" $if f$priv("cmkrnl") .eqs. "FALSE" then goto CP_no_privs $if f$priv("sysprv") .eqs. "FALSE" then goto CP_no_privs $GOTO Got_privs $CP_no_privs: $icap_msg = "SYSPRV and CMKRNL privileges are required to execute this procedure" $exitval = %X00000024 $GOTO ICAP_print_message_and_exit $Got_privs: $vsay "%ICAP-I-SYMS, Checking for WBEMCIM command symbols" $if f$type(cimmof) .eqs. "" .OR. - f$type(cimprovider) .eqs. "" .OR. - f$type(cimserver) .eqs. "" $then $if f$search("SYS$SYSROOT:[WBEM_Services]WBEM_Services$Define_Commands.com") .nes. "" $then $@SYS$SYSROOT:[WBEM_Services]WBEM_Services$Define_Commands.com $else $icap_msg = "SYS$SYSROOT:[WBEM_Services]WBEM_Services$Define_Commands.com not found." $exitval = %X10018292 $GOTO ICAP_print_message_and_exit $endif $endif $vsay "%ICAP-I-IMAGE, Checking for npardeleteclass.exe " $if f$search("sys$system:npardeleteclass.exe") .EQS. "" $then $icap_msg = "File npardeleteclass.exe not found" $exitval = %X10018292 $GOTO ICAP_print_message_and_exit $endif $deleteclass :== $npardeleteclass.exe $GOSUB Is_Cimserver_Running $if $status .eq. 1 then GOTO RET_Check_Prerequisites $icap_msg = "The CIMSERVER process is not running. Please start WBEMCIM services." $exitval = %X100008E8 $GOTO ICAP_print_message_and_exit $RET_Check_Prerequisites: $say "%ICAP-I-CHEDONE, Check Done requirements OK" $RETURN $Config_GiCAP: $read /end_of_file=RET_Config_GiCAP - /prompt="Enter (Y)es to configure this system with GiCAP support (N): " - sys$command action $action = f$extract(0,1,f$edit(action,"COMPRESS,UPCASE")) $if action .NES. "Y" then GOTO RET_Config_GiCAP $if f$search("SYS$MANAGER:GICAP$CONFIG.COM") .EQS. "" $then $icap_msg = "SYS$MANAGER:GICAP$CONFIG.COM file not found." $exitval = %X10018292 $GOTO ICAP_print_message_and_exit $endif $@SYS$MANAGER:GICAP$CONFIG $RET_Config_GiCAP: $RETURN $ICAP_CONFIG_MAIN: $sav_verify = 'f$verify(0) $sav_case = f$getjpi("","CASE_LOOKUP_PERM") $sav_parse = f$getjpi("","PARSE_STYLE_PERM") $save_ctrly = f$environment("ON_CONTROL_Y") $start_time = F$time() $if f$trnlnm("ICAP$VERIFY_CONFIGURE") then set verify $SET PROCESS /CASE_LOOKUP=BLIND /PARSE_STYLE=TRADITIONAL $say := write sys$output $verbose = 0 $verbose = f$trnlnm(" ICAP$VERBOSE") $vsay = "if f$trnlnm(""ICAP$VERBOSE"") then write sys$output " $exitval = 1 $icap_msg = "" $namespace = "root/cimv2/npar" $define SRC_MOF$ SYS$UPDATE $search_success = "0000001" $search_nomatches = "8D78053" $ON CONTROL_Y THEN GOTO CONTROL_Y_HANDLER $reg_mods = "HP_NParProviderModule," + - "HP_iCODProviderModule," + - "HP_iCAPProviderModule," + - "HP_GiCAPProviderModule" $reg_mofs = "NPARREG," + - "HP_iCODProviderReg," + - "HP_iCAPProviderReg," + - "HP_GiCAPProviderReg" $Gosub Check_Prerequisites $GOSUB Confirm_Config $SET NOON $Gosub Unregister_modules $say "%ICAP-I-STOPCIM, Stopping the cimserver process." $GOSUB Stop_cimserver $vsay "%ICAP-I-REMCACH, Removing NPar disk cache..." $npar_cache = "WBEM_OPT:[wbem.HP.nparprovider.cache...]*.*" $define/user sys$error NL: $define/user sys$output NL: $delete/exclude=(*.dir)/nolog 'npar_cache';* $delete/symbol/local npar_cache $write sys$output "%ICAP-I-RESCIM, Restarting the cimserver process." $GOSUB Start_cimserver $wait 00:00:10 $GOSUB Create_namespace $GOSUB Update_Repository $GOSUB Register_modules $gosub register_cld $GOSUB Config_GiCAP $gosub icap_config_questions $gosub start_icap_server $GOTO Main_exit $CONTROL_Y_HANDLER: $icap_msg = "Configuration terminated by Control-Y." $exitval = 1 $ICAP_print_message_and_exit: $say "%ICAP-E-CONFABOR, Configuration Aborted" $say "-ICAP-E-MESSAGE, ''icap_msg'" $Main_exit: $SET PROCESS /CASE_LOOKUP='sav_case' $SET PROCESS /PARSE_STYLE='sav_parse' $if save_ctrly then SET CONTROL=Y $end_time = F$time() $elapsed_time = f$extract(6,10,f$delta_time(start_time,end_time)) $say "" $say "%ICAP-I-EXIT, Exiting ICAP configuration elapsed time ''elapsed_time'" $exit exitval + 0*f$verify('sav_verify')
$! INSTALL.COM -- Installs the files in a given directory tree $! $! Author: Richard Levitte <richard@levitte.org> $! Time of creation: 22-MAY-1998 10:13 $! $! P1 root of the directory tree $! $ DEF_ORIG = F$ENVIRONMENT( "DEFAULT") $ ON ERROR THEN GOTO TIDY $ ON CONTROL_C THEN GOTO TIDY $ $ IF P1 .EQS. "" $ THEN $ WRITE SYS$OUTPUT "First argument missing." $ WRITE SYS$OUTPUT - "It Should be the directory where you want things installed." $ EXIT $ ENDIF $ $ IF (F$GETSYI("CPU").LT.128) $ THEN $ ARCH := VAX $ ELSE $ ARCH = F$EDIT( F$GETSYI( "ARCH_NAME"), "UPCASE") $ IF (ARCH .EQS. "") THEN ARCH = "UNK" $ ENDIF $ $ ROOT = F$PARSE(P1,"[]A.;0",,,"SYNTAX_ONLY,NO_CONCEAL") - "A.;0" $ ROOT_DEV = F$PARSE(ROOT,,,"DEVICE","SYNTAX_ONLY") $ ROOT_DIR = F$PARSE(ROOT,,,"DIRECTORY","SYNTAX_ONLY") - - ".][000000" - "[000000." - "][" - "[" - "]" $ ROOT = ROOT_DEV + "[" + ROOT_DIR $ $ DEFINE/NOLOG WRK_SSLROOT 'ROOT'.] /TRANS=CONC $ DEFINE/NOLOG WRK_SSLXLIB WRK_SSLROOT:['ARCH'_LIB] $ DEFINE/NOLOG WRK_SSLLIB WRK_SSLROOT:[LIB] $ DEFINE/NOLOG WRK_SSLINCLUDE WRK_SSLROOT:[INCLUDE] $ DEFINE/NOLOG WRK_SSLXEXE WRK_SSLROOT:['ARCH'_EXE] $ DEFINE/NOLOG WRK_SSLCERTS WRK_SSLROOT:[CERTS] $ DEFINE/NOLOG WRK_SSLPRIVATE WRK_SSLROOT:[PRIVATE] $ $! $! Exhibit the destination directory. $! $ WRITE SYS$OUTPUT " Installing to (WRK_SSLROOT) =" $ WRITE SYS$OUTPUT " ''f$trnlnm( "WRK_SSLROOT")'" $ WRITE SYS$OUTPUT "" $ $ IF F$PARSE("WRK_SSLROOT:[000000]") .EQS. "" THEN - CREATE/DIR/LOG WRK_SSLROOT:[000000] $ IF F$PARSE("WRK_SSLXEXE:") .EQS. "" THEN - CREATE/DIR/LOG WRK_SSLXEXE: $ IF F$PARSE("WRK_SSLXLIB:") .EQS. "" THEN - CREATE/DIR/LOG WRK_SSLXLIB: $ IF F$PARSE("WRK_SSLLIB:") .EQS. "" THEN - CREATE/DIR/LOG WRK_SSLLIB: $ IF F$PARSE("WRK_SSLINCLUDE:") .EQS. "" THEN - CREATE/DIR/LOG WRK_SSLINCLUDE: $ IF F$PARSE("WRK_SSLCERTS:") .EQS. "" THEN - CREATE/DIR/LOG WRK_SSLCERTS: $ IF F$PARSE("WRK_SSLPRIVATE:") .EQS. "" THEN - CREATE/DIR/LOG WRK_SSLPRIVATE: $ IF F$PARSE("WRK_SSLROOT:[VMS]") .EQS. "" THEN - CREATE/DIR/LOG WRK_SSLROOT:[VMS] $ $ SDIRS := CRYPTO,SSL,APPS,VMS!,RSAREF,TEST,TOOLS $ EXHEADER := e_os2.h $ $ COPY 'EXHEADER' WRK_SSLINCLUDE: /LOG $ SET FILE/PROT=WORLD:RE WRK_SSLINCLUDE:'EXHEADER' $ $ I = 0 $ LOOP_SDIRS: $ D = F$ELEMENT(I, ",", SDIRS) $ I = I + 1 $ IF D .EQS. "," THEN GOTO LOOP_SDIRS_END $ WRITE SYS$OUTPUT "Installing ",D," files." $ SET DEFAULT [.'D'] $ @INSTALL 'ROOT'] $ SET DEFAULT [-] $ GOTO LOOP_SDIRS $ LOOP_SDIRS_END: $ $ WRITE SYS$OUTPUT "" $ WRITE SYS$OUTPUT " Installation done!" $ WRITE SYS$OUTPUT "" $ WRITE SYS$OUTPUT " You might want to purge ",ROOT,"...]" $ WRITE SYS$OUTPUT "" $ $ TIDY: $ SET DEFAULT 'DEF_ORIG' $ $ DEASSIGN WRK_SSLROOT $ DEASSIGN WRK_SSLXLIB $ DEASSIGN WRK_SSLLIB $ DEASSIGN WRK_SSLINCLUDE $ DEASSIGN WRK_SSLXEXE $ DEASSIGN WRK_SSLCERTS $ DEASSIGN WRK_SSLPRIVATE $ $ EXIT
$ SAVE_VER = F$VERIFY (0) $ $! login procedure for remote DSRI access $! $! Login command procedure for RDB$REMOTEnn account ensures that the network $! process will access the RDBSERVER object (35) only. All other facility $! command files will be executed only if this fundamental check succeeds. $! For more information on parsing of the NCB (Network Control Block), $! please reference "Guide to Networking on VAX/VMS" Page 8-37. $! $! $ S1 = F$TRNLNM("SYS$NET") !Translate the SYS$NET logical $ $ IF S1 .EQS. "" THEN LOGOUT/BRIEF !If the translation fails then this $ !must not be a network job + LOGOUT $ $ D1 = F$EXTRACT(0,1,S1) ! Look at first char. $ IF D1 .EQS. "_" THEN GOTO OK ! Underscore means TCP/IP $ $ S1 = F$EXTRACT(F$LOCATE("/",S1)+20,19,S1) !Skip local link id, connect-data $ !of the NCB and get destination $ !descriptor field. $ $ IF S1 .EQS. "" THEN LOGOUT/BRIEF !If NCB contains no destination $ !descriptor field then LOGOUT $ $ T1 = F$CVUI(0,8,S1) !Extract the destination descriptor $ !type $ $ IF (T1 .NE. 0) THEN LOGOUT/BRIEF !The DD type must be 0 which $ !indicates the next byte is $ !the binary value of the object # $ $ T2 = F$CVUI(8,8,S1) !Extract connection object number $ $ IF (T2 .NE. 35) THEN LOGOUT/BRIEF !If not object 35, which is $ !currently RDBSERVER, then LOGOUT $OK: $ SAVE_VER = F$VERIFY (SAVE_VER) $ $ ALL_DONE: $ DEFINE/NOLOG RDMS$VERSION_VARIANT 72 $ DEFINE/NOLOG RDBSERVER SYS$COMMON:<SYSEXE>RDBSERVER72.EXE $ EXIT
$ ! Copyright © Oracle Corporation 1995. All Rights Reserved. $ GOTO START $ !++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ $ ! $ ! RDBSERVER.COM $ ! $ ! RDBSERVER command procedure $ ! $ !++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ $ ! $ ! This procedure will run RDBSERVER according to the following steps $ ! $ ! 1. If RDB$ENABLE_HIGHEST_VERSION is defined, run the $ ! SYS$COMMON:<SYSEXE>RDBSERVER from the extension of the file $ ! RDB$RUN_REMOTE.<latest rdbserver>. $ ! 2. If 1 is not satisfied, $ ! Run RDBSERVER from the logical RDBSERVER $ ! 3. If 1 and 2 are not satisfied, $ ! Run SYS$COMMON:<SYSEXE>RDBSERVER.EXE $ ! $ !++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ $ START: $ $ ! Initialize $ say = "write sys$output" $ rdbserver_image = "" $ $ ! Case 1 $ ! Check if the logical RDB$ENABLE_HIGHEST_VERSION exist $ if f$trnlnm ("RDB$ENABLE_HIGHEST_VERSION") .nes. "" $ then $ GOSUB RDBSERVER_EXIST $ GOTO RUN_RDBSERVER $ endif $ $ ! Case 2 $ ! Check if the logical RDBSERVER exists $ ! If yes, check for correct image name and location $ ! If no, activate RDBSERVER.EXE in SYS$COMMON:<SYSEXE>. $ rdbserver_image = f$trnlnm ("RDBSERVER") $ if "''rdbserver_image'" .nes. "" $ then $ GOSUB VALIDATE_RDBSERVER $ GOTO RUN_RDBSERVER $ endif $ $ ! Case 3 $ rdbserver_image = "SYS$COMMON:<SYSEXE>RDBSERVER.EXE" $ $ RUN_RDBSERVER: $ say "Running ''rdbserver_image'..." $ RUN 'rdbserver_image' $ exit $ ! Subroutine VALIDATE_RDBSERVER $ ! This subroutine checks for: $ ! 1. the location SYS$COMMON:<SYSEXE> in the logical $ ! 2. the image name RDBSERVER.EXE or RDBSERVERnn.EXE where n is a digit $ ! between 0 and 9 $ VALIDATE_RDBSERVER: $ log_len = f$length (rdbserver_image) $ if .not. - ((f$locate ("SYS$COMMON:<SYSEXE>",rdbserver_image) .ne. log_len) .or. - (f$locate ("SYS$COMMON:[SYSEXE]",rdbserver_image) .ne. log_len)) $ then $ say "''rdbserver_image' is not found in SYS$COMMON:<SYSEXE>" $ say "RDBSERVER logical is ''rdbserver_image'" $ exit $ endif $ $ if (f$locate ("RDBSERVER",rdbserver_image) .eq. log_len) $ then $ say "RDBSERVER logical is not pointing to the RDBSERVER image" $ say "RDBSERVER logical is ''rdbserver_image'" $ exit $ endif $ $ if .not. ((log_len .eq. 28) .or. - (log_len .eq. 32) .or. - (log_len .eq. 30) .or. - (log_len .eq. 34)) $ then $ say "RDBSERVER logical does not have the following formats:" $ say " SYS$COMMON:<SYSEXE>RDBSERVER" $ say " SYS$COMMON:<SYSEXE>RDBSERVER.EXE" $ say " SYS$COMMON:<SYSEXE>RDBSERVERnn" $ say " SYS$COMMON:<SYSEXE>RDBSERVERnn.EXE" $ say "RDBSERVER logical is ''rdbserver_image'" $ exit $ endif $ $ if ((log_len .eq. 30) .or. - (log_len .eq. 34)) $ then $ digit_1 = f$extract (28,1,rdbserver_image) $ digit_2 = f$extract (29,1,rdbserver_image) $ if .not. ( ((digit_1 .ges. 0) .and. (digit_1 .les. 9)) .and. - ((digit_2 .ges. 0) .and. (digit_2 .les. 9)) ) $ then $ say "RDBSERVERnn : nn must be two digits" $ say "Extract nn is ''digit_1'''digit_2'" $ say "RDBSERVER logical is ''rdbserver_image'" $ exit $ endif $ endif $ $ RETURN $ ! Subroutine RDBSERVER_EXIST $ ! This subroutine: $ ! 1. Extracts the RDBSERVER extension from $ ! RDB$RUN_REMOTE.<latest rdbserver> $ ! 2. Validates the RDBSERVER extension $ RDBSERVER_EXIST: $ $ ! Search for RDB$RUN_REMOTE.<latest rdbserver> $ latest_rdbserver = f$search ("SYS$COMMON:<SYSLIB>RDB$RUN_REMOTE.*") $ if "''latest_rdbserver'" .eqs. "" $ then $ say "RDB$RUN_REMOTE.<latest rdbserver> not found" $ say "Unable to run RDBSERVER" $ say "You should run SYS$COMMON:<SYSMGR>RDB$SHARE_HIGHEST_VERSION.COM" $ say " to reconfigure" $ exit $ endif $ $ ! Get the extension of RDBSERVER $ latest_rdbserver = f$element (1, ".", latest_rdbserver) - "." $ latest_rdbserver = f$extract (0, f$locate (";", latest_rdbserver), latest_rdbserver) $ latest_rdbserver = "SYS$COMMON:<SYSEXE>''latest_rdbserver'.EXE" $ if f$search ("''latest_rdbserver'") .eqs. "" $ then $ say "''latest_rdbserver' does not exist" $ say "You should run SYS$COMMON:<SYSMGR>RDB$SHARE_HIGHEST_VERSION.COM" $ say " to reconfigure" $ exit $ endif $ $ rdbserver_image = latest_rdbserver $ $ RETURN
$x = 'f$verify(0)' $! © Copyright 1976, 2007 Hewlett-Packard Development Company, L.P. $x = 'f$verify(0)' $p2 = f$edit(f$getsyi("STARTUP_P2"),"TRIM,UPCASE") $if p2 .eqs. "" then goto start $if p2 .eqs. "1" - .or. f$locate(p2,"TRUE") .eq. 0 - .or. f$locate(p2,"YES") .eq. 0 - .or. f$locate("V",p2) .nes. f$length(p2) - .or. p2 .eqs. "SA" $then $set verify $endif $goto start $DECK $! SYS$SYSTEM:SA_STARTUP.COM $! $! This prodecure is used as the STARTUP file (replacing $! SYS$SYSTEM:STARTUP.COM) in the following situations: $! $! o Booting an OpenVMS Distribution Compact Disk (or a disk copy of it) $! to install or upgrade OpenVMS, or to perform standalone operations.) $! $! o Booting a Minimum OpenVMS system created by $! SYS$SYSTEM:AXPVMS$PCSI_INSTALL_MIN.COM for standalone operations. $! $! In either case it creates a minimum OpenVMS environment. $! $! ******************************************************************** $! * * $! * USE OF THIS PROCEDURE FOR ANY OTHER PURPOSE IS NOT SUPPORTED * $! * * $! ******************************************************************** $! $EOD $start: $if f$search("SYS$SYSTEM:ESS$ISL_VMSCLIENT.EXE") .eqs. "" then $ goto NORSM $if f$search("SYS$SYSTEM:ESS$ISL_STARTUP.COM") .eqs. "" then $ goto NORSM $STS$M_INHIB_MSG = %x10000000 $RSM$$_FLAGSET = STS$M_INHIB_MSG + 1 $RSM$$_FLAGCLR = STS$M_INHIB_MSG + 0 $run SYS$SYSTEM:ESS$ISL_VMSCLIENT.EXE $if $STATUS .eq. RSM$$_FLAGSET $then $@SYS$SYSTEM:ESS$ISL_STARTUP.COM $endif $NORSM: $set term sys$output /width=80 /wrap $set message /facility /identification /severity /text $if f$search("SYS$SYSTEM:I64VMS$PCSI_INSTALL_MESSAGES.COM") .eqs. "" $then $type sys$input $DECK ************************************************************ * * * SYS$SYSTEM:I64VMS$PCSI_INSTALL_MESSAGES.COM not found * * * * This disk or CDrom is bad. * * Please use another disk or CD-ROM. * * * ************************************************************ $EOD $stop "''f$process()'" $exit $else $if f$trnlnm("messages:") .gts. "" then close messages: $open/read messages: SYS$SYSTEM:I64VMS$PCSI_INSTALL_MESSAGES.COM $message_read: $read/end=message_end messages: inpt $inpt = f$edit(inpt,"TRIM,COLLAPSE,UPCASE") $if f$extract(0,9,inpt) .nes. "$!MESSAGE" then goto message_read $inpt = inpt - "$!MESSAGE" $'inpt' $goto message_read $message_end: $close messages: $endif $@SYS$SYSTEM:I64VMS$PCSI_INSTALL_MESSAGES.COM "welcome" $020_ckuser: $if f$edit(f$getjpi(0,"USERNAME"),"TRIM,UPCASE") .eqs. "SYSTEM" then - goto 020_ckuser_z $@SYS$SYSTEM:I64VMS$PCSI_INSTALL_MESSAGES.COM "notsysacct" $020_ckuser_a: $write sys$output "''blankline'" $read/error=020_ckuser sys$output inpt /prompt="''wanttoabort'" $inpt = f$extract(0,1,f$edit(inpt,"TRIM,UPCASE")) $if ( ( inpt .eqs. "?" ) .or. ( inpt .eqs. "^" ) ) then goto 020_ckuser $if ( ( inpt .nes. "Y" ) .and. ( inpt .nes. "N" ) ) $then $write sys$output "''yesorno'" $goto 020_ckuser_a $endif $if inpt .eqs. "N" $then $write sys$output "''contnotsys'" $goto 020_ckuser_z $endif $if inpt .eqs. "Y" $then $write sys$output "''exitrequest'" $stop "''f$process()'" $exit $endif $goto 020_ckuser_a $020_ckuser_z: $write sys$output "''instalknown'" $install add /open /shared /protect /header /nopurge SYS$SHARE:DISMNTSHR $install add /open /shared /protect /header SYS$SHARE:MOUNTSHR $install add /open /shared /protect /header SYS$SHARE:SECURESHRP $install add /open /shared /header SYS$SHARE:SECURESHR $install add /open /shared /protect /header SYS$SHARE:INIT$SHR $install add /open /shared /protect /header SYS$SHARE:MMESHR $install add /open /shared /header SYS$SYSTEM:CDU $install add /open /shared /header SYS$SYSTEM:PCSI$MAIN $install add /open /shared /header SYS$SHARE:DCLTABLES $install add /open /shared /header SYS$SHARE:LBRSHR $install add /open /shared /header SYS$SHARE:LIBRTL $install add /open /shared /header SYS$SHARE:PCSI$SHR $if f$search("SYS$SHARE:CDSA$VALIDATE_LIBSHR.EXE") .nes. "" $then $install add /open /shared /header SYS$SHARE:LIBOTS.EXE $install add /open /shared /header SYS$SHARE:DECC$SHR.EXE $install add /open /shared /header SYS$SHARE:DPML$SHR.EXE $install add /open /shared /header SYS$SHARE:CMA$TIS_SHR.EXE $install add /open /shared /header SYS$SHARE:CMA$RTL.EXE $install add /open /shared /header SYS$SHARE:PTHREAD$RTL.EXE $install add /open /shared /header SYS$SHARE:CMA$OPEN_RTL.EXE $install add /open /shared /header SYS$SHARE:CMA$LIB_SHR.EXE $install add /open /shared /header SYS$SHARE:CMA$OPEN_LIB_SHR.EXE $install add /open /shared /header SYS$SHARE:CDSA$MDS300_SHR.EXE $install add /open /shared /header SYS$SHARE:CXXL$LANGRTL.EXE $install add /open /shared /header SYS$SHARE:CDSA$INCSSM300_SHR.EXE $install add /open /shared /header SYS$SHARE:CDSA$EAYCSP300_SHR.EXE $install add /open /shared /header SYS$SHARE:CDSA$IN509CL300_SHR.EXE $install add /open /shared /header SYS$SHARE:CDSA$VALIDATE_EMM_SHR.EXE $install add /open /shared /header SYS$SHARE:CDSA$VALIDATE_LIBSHR.EXE $install add /open /shared /header SYS$SHARE:CDSA$VALIDATE_SHR.EXE $endif $root = f$getdvi("SYS$SYSDEVICE","fulldevnam") - "_" $if f$trnlnm("SYS$TOPSYS","LNM$SYSTEM") .nes. "" then - root = root + "[" + f$trnlnm("SYS$TOPSYS","LNM$SYSTEM") + ".]" $define/system/exec/nolog/translation=(terminal,concealed) sys$specific 'root' $no_common_root = f$search("SYS$SPECIFIC:[000000]SYSCOMMON.DIR") .eqs. "" $if no_common_root then - define/system/exec/nolog/translation=(terminal,concealed) sys$sysroot 'root' $if no_common_root then - define/system/exec/nolog/translation=(terminal,concealed) sys$common 'root' $define/system/exec/nolog sys$sysdisk sys$sysroot: $define/system/exec/nolog sys$errorlog sys$sysroot:[syserr] $define/system/exec/nolog sys$examples sys$sysroot:[syshlp.examples] $define/system/exec/nolog sys$help sys$sysroot:[syshlp] $define/system/exec/nolog sys$instruction sys$sysroot:[syscbi] $define/system/exec/nolog sys$library sys$sysroot:[syslib] $define/system/exec/nolog sys$maintenance sys$sysroot:[sysmaint] $define/system/exec/nolog sys$manager sys$sysroot:[sysmgr] $define/system/exec/nolog sys$update sys$sysroot:[sysupd] $define/system/exec/nolog sys$test sys$sysroot:[systest] $define/system/exec/nolog sys$etc sys$sysroot:[syshlp.unsupported] $define/system/exec/nolog IA64$library sys$sysroot:[syslib] $define/system/exec/nolog IA64$loadable_images sys$sysroot:[sys$ldr] $define/system/exec/nolog sda$read_dir sys$sysroot:[sys$ldr],sys$sysroot:[syslib],- sys$sysroot:[sysexe] $define/table=lnm$system_directory/super lnm$dcl_logical lnm$file_dev $define/system/exec/nolog agen$images sys$manager:vms$images_master.dat $define/system/exec/nolog/trans=conc cdsa_sysdir sys$sysdevice:[vms$common.cdsa.] $if .not. f$getsyi("CLUSTER_MEMBER") then run sys$system:cwloginit.exe $usb_sys_disk = f$getdvi("DNA0","exists") $if (f$getsyi("ARCH_NAME") .eqs. "IA64" .and. - f$getsyi("GRAPHICS_CONSOLE") .eq. 1) - .or. (usb_sys_disk .and. f$getsyi("ARCH_NAME") .eqs. "IA64") $then $mcr SYSMAN io auto /select=(oh*,eh*) $@SYS$COMMON:[SYSMGR]USB$STARTUP.COM $endif $if usb_sys_disk $then $wait 0::10 $UCM $DECK reset/unconfigured exit $EOD $endif $If .not. f$getsyi("NOAUTOCONFIG") $then $write sys$output "''configdev'" $mcr sysman $DECK io connect fta0/noadapter/driver=sys$ftdriver io connect mpa0/noadapter/driver=sys$pipedriver io autoconfigure exit $EOD $endif $@sys$system:startup configure $wait 00:00:15 $if f$search("sys$startup:ldr$wrapup.exe") .nes. "" then - run sys$startup:ldr$wrapup.exe $set default sys$system $run sys$system:smgmaptrm $define sys$error nl: $define sys$output nl: $@sys$startup:ess$startup disk tape $deassign sys$error $deassign sys$output $define/system/exec/nolog sys$sylogin sys$system:sa1_startup.com $term = f$trnlnm("SYS$OUTPUT") $define/user sys$output nl: $define/user sys$error nl: $run/noauth/detach/input='term'/output='term'/process_name=sa_startup - /file_limit=128/io_buffered=500/io_direct=4096/ast_limit=4096 - /buffer_limit=65536/working_set=10000/maximum_working_set=24000 - /page_file=1000000 sys$system:loginout $sa1_status = $status $if .not. sa1_status $then $write sys$output "***** ERROR RUNNING SA1_STARTUP !!!" $sho symbol SA1_status $endif $stop "''f$process()'" $exit