File: gtcxkitinstal.com

package info (click to toggle)
fis-gtm 6.2-000-1
  • links: PTS, VCS
  • area: main
  • in suites: jessie, jessie-kfreebsd
  • size: 30,784 kB
  • ctags: 42,554
  • sloc: ansic: 358,483; asm: 4,847; csh: 4,574; sh: 2,261; awk: 200; makefile: 86; sed: 13
file content (302 lines) | stat: -rw-r--r-- 12,568 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
$!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
$!								!
$!	Copyright 2001, 2003 Sanchez Computer Associates, Inc.	!
$!								!
$!	This source code contains the intellectual property	!
$!	of its copyright holder(s), and is made available	!
$!	under a license.  If you do not know the terms of	!
$!	the license, please stop and do not read further.	!
$!								!
$!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
$!
$!
$!	KITINSTAL.COM PROCEDURE FOR THE GT.CX PRODUCT
$!
$ ON CONTROL_Y THEN VMI$CALLBACK CONTROL_Y
$ ON WARNING THEN EXIT $STATUS
$ IF P1 .EQS. "VMI$_INSTALL" THEN GOTO INSTALL
$ IF P1 .EQS. "VMI$_POSTINSTALL" THEN GOTO POSTINSTALL
$ IF P1 .EQS. "VMI$_IVP" THEN GOTO IVP
$ EXIT VMI$_UNSUPPORTED
$!
$INSTALL:
$ TYPE SYS$INPUT

  GT.CX  (c)  COPYRIGHT 1987 - 2000  by  Sanchez Computer Associates
                           ALL RIGHTS RESERVED


$!  the following 2 lines must be maintained
$ GTCX$VMS_VERSION :== 072	! Minimum VMS version required
$ GTCX$DISK_SPACE == 3000	! Minumum disk space on system disk required for install (2x result)
$!
$ IF F$ELEMENT(0,",",VMI$VMS_VERSION) .EQS. "RELEASED"
$  THEN
$   GTCX$VMS_IS == F$ELEMENT(1,",",VMI$VMS_VERSION)
$   IF GTCX$VMS_IS .LTS. GTCX$VMS_VERSION
$    THEN
$     VMI$CALLBACK MESSAGE E VMSMISMATCH "This GT.CX kit requires an existing VMS''GTCX$VMS_VERSION' system."
$     EXIT VMI$_FAILURE
$   ENDIF
$  ELSE
$   GTCX$VMS_IS :==
$   WRITE SYS$OUTPUT "  No VMS version checking performed for field test versions."
$ ENDIF
$ IF (GTCX$VMS_IS .GES. "052") THEN T1 = F$VERIFY(VMI$KIT_DEBUG)
$ VMI$CALLBACK CHECK_NET_UTILIZATION GTCX$ROOM 'GTCX$DISK_SPACE'
$ IF .NOT. GTCX$ROOM
$  THEN
$   VMI$CALLBACK MESSAGE E NOSPACE "There is not enough disk space -- GT.CX needs ''GTCX$DISK_SPACE' blocks."
$   EXIT VMI$_FAILURE
$ ENDIF
$!  check for running users
$ SET NOON
$ DEFINE SYS$ERROR NL:
$ DEFINE SYS$OUTPUT NL:
$ @SYS$COMMON:[GTM_DIST]:GTMLOGIN
$ CCE :== $GTM$DIST:CCE
$ CCE SHO CCP
$ T1 = $SEVERITY
$ DEASSIGN SYS$OUTPUT
$ DEASSIGN SYS$ERROR
$ IF T1 .EQ. 1 THEN CCE SHO CCP
$ SET ON
$ DELETE /SYMBOL/GLOBAL CCE
$ VMI$CALLBACK ASK GTCX$READY "Have you verified there are no current GT.CX users" "NO" B "@VMI$KWD:GTCXKITHLP HELP_READY"
$ IF .NOT. GTCX$READY THEN EXIT VMI$_FAILURE
$!  setup default answers
$ GTCX$DOPURGE :== YES
$ GTCX$RUN_IVP == 0	!! should be "YES", but no IVP yet
$ GTCX$CDB_CNT == 12
$ GTCX$STD_CNF :== YES
$ GTCX$DST_OWN :== SYSTEM
$ IF F$IDENTIFIER(GTCX$DST_OWN,"NAME_TO_NUMBER") .EQ. 0 THEN GTCX$DST_OWN :== 1,4
$ GTCX$CCP_UIC == GTCX$DST_OWN
$ GTCX$SYS_DST :== YES
$ GTCX$DST_DIR :== GTM_DIST
$ GTCX$DST_CRE == GTCX$DST_DIR
$ GTCX$DST_DEV :==
$ GTCX$STARTDB :== YES
$ GTCX$MGR_COM :== YES
$ GTCX$HLP_DIR :== NO
$ GTCX$START_CCP :== YES
$!
$ VMI$CALLBACK ASK GTCX$DOPURGE "Do you want to purge files replaced by this installation" 'GTCX$DOPURGE' B -
  "@VMI$KWD:GTCXKITHLP HELP_PURGE"
$ IF .NOT. GTCX$DOPURGE THEN VMI$CALLBACK SET PURGE NO
$ VMI$CALLBACK ASK GTCX$CDB_CNT "How many clustered databases will this node access" 'GTCX$CDB_CNT' I -
  "@VMI$KWD:GTCXKITHLP HELP_CDB_CNT"
$ IF GTCX$CDB_CNT .LT. 1
$  THEN
$   GTCX$CDB_CNT == 1
$   WRITE SYS$OUTPUT "  The installation set this value to 1 as 0 or negative values are not useful."
$ ENDIF
$ VMI$CALLBACK ASK GTCX$STD_CNF "Do you want the standard GT.CX configuration" 'GTCX$STD_CNF' B -
  "@VMI$KWD:GTCXKITHLP HELP_STD_CNF"
$ IF GTCX$STD_CNF
$  THEN
$   GTCX$SYS_DST == 1
$   GTCX$STARTDB == 1
$   GTCX$MGR_COM == 1
$   GTCX$HLP_DIR == 0
$   GTCX$START_CCP == 1
$   GTCX$DST_LOG :== SYS$COMMON:['GTCX$DST_DIR']
$   GTCX$DIR_TYPE :== COMMON
$   GTCX$RUN_IVP == 0	!! "YES" no IVP yet
$  ELSE ! not standard configuration
$   VMI$CALLBACK ASK GTCX$DST_OWN "What UIC should own the GT.CX distribution" 'GTCX$DST_OWN' S "@VMI$KWD:GTCXKITHLP HELP_DST_OWN"
$   GTCX$DST_OWN == GTCX$DST_OWN - "[" - "]"
$   VMI$CALLBACK ASK GTCX$SYS_DST "Do you want the GT.CX distribution to go into a System Directory" 'GTCX$SYS_DST' B -
    "@VMI$KWD:GTCXKITHLP HELP_SYS_DST"
$   IF GTCX$SYS_DST
$    THEN
$     VMI$CALLBACK ASK GTCX$DST_DIR "In what System Directory do you want to place GT.CX" 'GTCX$DST_DIR' S -
      "@VMI$KWD:GTCXKITHLP HELP_SYS_DIR"
$     GTCX$DST_DIR == GTCX$DST_DIR - "[" - "]"
$     GTCX$DST_CRE == GTCX$DST_DIR
$     GTCX$DST_LOG :== SYS$COMMON:['GTCX$DST_DIR']
$     GTCX$DIR_TYPE :== COMMON
$    ELSE ! not system disk
$     VMI$CALLBACK ASK GTCX$DST_DEV "On which device do you want to place GT.CX" "''GTCX$DST_DEV'" S -
      "@VMI$KWD:GTCXKITHLP HELP_DST_DEV"
$     VMI$CALLBACK ASK GTCX$DST_DIR "In what directory on that device do you want to place GT.CX" 'GTCX$DST_DIR' S -
      "@VMI$KWD:GTCXKITHLP HELP_DST_DIR"
$     GTCX$DST_DEV == GTCX$DST_DEV - ":"
$     GTCX$DST_DIR == GTCX$DST_DIR - "[" - "]"
$     GTCX$DST_LOG :== 'GTCX$DST_DEV':['GTCX$DST_DIR']
$     GTCX$DST_CRE == GTCX$DST_LOG
$     GTCX$DIR_TYPE :== USER
$   ENDIF ! system disk
$   VMI$CALLBACK ASK GTCX$CCP_UIC "Under what UIC should the CCP operate (must be Group 1)" 'GTCX$CCP_UIC' S -
    "@VMI$KWD:GTCXKITHLP HELP_CCP_OWN"
$   GTCX$CCP_UIC == GTCX$CCP_UIC - "[" - "]"
$   IF F$ELEMENT(0,",",GTCX$CCP_UIC) .NE. 1
$    THEN
$     T1 = F$FAO("!%U",'F$IDENTIFIER(GTCX$CCP_UIC,"NAME_TO_NUMBER")')' -"["-"]"
$     IF F$ELEMENT(0,",",T1) .NE. 1
$      THEN
$       GTCX$CCP_UIC :== SYSTEM
$       IF F$IDENTIFIER(GTCX$CCP_UIC,"NAME_TO_NUMBER") .EQ. 0 THEN GTCX$CCP_UIC :== 1,4
$       WRITE SYS$OUTPUT "  The installation is using the default because the Group must be 1."
$     ENDIF
$   ENDIF
$   VMI$CALLBACK ASK GTCX$STARTDB "Do you want GTCXSTART.COM in the startup database" 'GTCX$STARTDB' B -
    "@VMI$KWD:GTCXKITHLP HELP_STARTDB"
$   IF .NOT. GTCX$STARTDB
$    THEN
$     VMI$CALLBACK ASK GTCX$MGR_COM "Do you want the GT.M .COM files in SYS$MANAGER" 'GTCX$MGR_COM' B -
      "@VMI$KWD:GTCXKITHLP HELP_MGR_COM"
$   ENDIF
$   VMI$CALLBACK ASK GTCX$HLP_DIR "Do you want the GT.CX help files in SYS$HELP" 'GTCX$HLP_DIR' B "@VMI$KWD:GTCXKITHLP HELP_HLP_DIR"
$!! no IVP yet
$   IF 0 THEN VMI$CALLBACK ASK GTCX$RUN_IVP "Do you want to run the IVP (requires GT.M)" 'GTCX$RUN_IVP' B -
    "@VMI$KWD:GTCXKITHLP HELP_RUN_IVP"
$   IF GTCX$RUN_IVP
$    THEN
$     GTCX$START_CCP == 1
$    ELSE
$     VMI$CALLBACK ASK GTCX$START_CCP "Do you want to start a GT.CX CCP now" 'GTCX$START_CCP' B "@VMI$KWD:GTCXKITHLP HELP_START_CCP"
$   ENDIF
$ ENDIF ! standard configuration
$ IF GTCX$MGR_COM
$  THEN
$   WRITE SYS$OUTPUT "  The following command files are created and copied to SYS$MANAGER:"
$  ELSE
$   WRITE SYS$OUTPUT "  The following command files are created:"
$ ENDIF
$ TYPE SYS$INPUT

	GTCXSTART.COM
	GTCXSTOP.COM

  Each file contains its own user documentation.

  All the questions have been asked. Installation now proceeds without your
  manual intervention for about 5-10 minutes.
$ IF GTCX$RUN_IVP THEN WRITE SYS$OUTPUT "  Finally the installation verification procedure tests the installation."
$ WRITE SYS$OUTPUT ""
$ VMI$CALLBACK CREATE_DIRECTORY 'GTCX$DIR_TYPE' 'GTCX$DST_CRE' "/OWNER_UIC=[''GTCX$DST_OWN'] /PROTECTION=(WO:RE)"
$ VMI$CALLBACK MESSAGE I CRECOM "Creating command files."
$!  Create GTCXSTART.COM
$ OPEN /WRITE OUFILE VMI$KWD:GTCXSTART.COM
$ WRITE OUFILE "$!"
$ WRITE OUFILE "$!	GTCXSTART.COM should be placed in the VMS startup database."
$ WRITE OUFILE "$!	It starts the GT.CX Cluster Controller Program (CCP) for a node."
$ WRITE OUFILE "$!	The invoking user requires the following privileges:"
$ WRITE OUFILE "$!	 ALTPRI, DETATCH, OPER, PSWAPM, SYSLCK, SYSNAM and TMPMBX"
$ WRITE OUFILE "$!	P1 is the number of clustered databases."
$ WRITE OUFILE "$!	P2 is the priority and should be at or just above the highest priority"
$ WRITE OUFILE "$!	 used by a any GT.M process which accesses clustered database files."
$ WRITE OUFILE "$!	P3 is the default working set size."
$ WRITE OUFILE "$!	P4 is the Page File Quota, which should be the sum for all"
$ WRITE OUFILE "$!       clustered databases of (GLOBAL_BUFFERS*BLOCKSIZE/512+LOCKSPACE+50),"
$ WRITE OUFILE "$!       and which this procedure approximates by defaulting to P1 * 10000."
$ WRITE OUFILE "$ CURPRV = F$SETPRV(""TMPMBX"")"
$ WRITE OUFILE "$ ON CONTROL_C THEN GOTO ERROR"
$ WRITE OUFILE "$ ON ERROR THEN GOTO ERROR"
$ WRITE OUFILE "$ CCE := $''GTCX$DST_LOG'CCE.EXE"
$ WRITE OUFILE "$ MUPI*P := $''GTCX$DST_LOG'MUPIP.EXE"
$ WRITE OUFILE "$ MUPIP RUNDOWN   ! Prepare a clean start"
$ WRITE OUFILE "$ CURPRV = F$SETPRV(""ALTPRI,DETACH,OPER,PSWAPM,SYSLCK,SYSNAM,TMPMBX"") + - "
$ WRITE OUFILE "            "","" + CURPRV"
$ WRITE OUFILE "$ IF F$PRIVILEGE(""ALTPRI,DETACH,OPER,PSWAPM,SYSLCK,SYSNAM,TMPMBX"")"
$ WRITE OUFILE "$  THEN"
$ WRITE OUFILE "$   WRITE SYS$OUTPUT ""Starting the CCP as process GT.CX_CONTROL"""
$ WRITE OUFILE "$   IF P1 .EQS. """" THEN P1 = ''GTCX$CDB_CNT'"
$ WRITE OUFILE "$   FL = P1 + 3"
$ WRITE OUFILE "$   AL = FL * 4"
$ WRITE OUFILE "$   EL = FL * 5"
$ WRITE OUFILE "$   DL = FL * 10"
$ WRITE OUFILE "$   TQ = FL * 3"
$ WRITE OUFILE "$   IF P2 .EQS. """" THEN P2 = 5"
$ WRITE OUFILE "$   IF P3 .EQS. """" THEN P3 = FL * 200"
$ WRITE OUFILE "$   WSE = P3 + 200"
$ WRITE OUFILE "$   IF P4 .EQS. """" THEN P4 =  P1 * 10000"
$ WRITE OUFILE "$   RUN/DETACHED/PROC=""GT.CX_CONTROL""/PRIV=(OPER,SYSLCK,SYSNAM,TMPMBX) -"
$ WRITE OUFILE "     /ERROR=SYS$MANAGER:CCPERR.LOG /PAGE_FILE='P4' -"
$ WRITE OUFILE "     /DUMP/NOSWAPPING/UIC=''GTCX$CCP_UIC'/AST_LIMIT='AL'/ENQUEUE_LIMIT='EL' -"
$ WRITE OUFILE "     /FILE_LIMIT='FL'/IO_DIRECT='DL'/QUEUE_LIMIT='TQ'/PRIORITY='P2' -"
$ WRITE OUFILE "     /WORKING_SET='P3'/MAXIMUM_WORKING_SET='WSE' ''GTCX$DST_LOG'CCP.EXE"
$ WRITE OUFILE "$  ELSE"
$ WRITE OUFILE "$   WRITE SYS$OUTPUT ""NOT starting the CCP because of inadequate privileges"""
$ WRITE OUFILE "$ ENDIF"
$ WRITE OUFILE "$ERROR:"
$ WRITE OUFILE "$ CURPRV = F$SETPRV(CURPRV)"
$ WRITE OUFILE "$ EXIT"
$ CLOSE OUFILE
$!  Create GTCXSTOP.COM
$ OPEN /WRITE OUFILE VMI$KWD:GTCXSTOP.COM
$ WRITE OUFILE "$!"
$ WRITE OUFILE "$!	GTCXSTOP.COM stops the GT.CX CCP for a node and does MUPIP RUNDOWN"
$ WRITE OUFILE "$!	Place an invocation or copy of this procedure in the site specific"
$ WRITE OUFILE "$!	 shutdown: SYS$MANAGER:SYSHUTDWN to ensure all GT.M databases are"
$ WRITE OUFILE "$!	 properly closed before VMS terminates.  GTCXSTOP should follow"
$ WRITE OUFILE "$!	 GTCMSTOP, if used and GTMSTOP, in any case."
$ WRITE OUFILE "$!"
$ WRITE OUFILE "$ CCE := $''GTCX$DST_LOG'CCE.EXE"
$ WRITE OUFILE "$ MUPIP := $''GTCX$DST_LOG'MUPIP.EXE"
$ WRITE OUFILE "$ CCE STOP"
$ WRITE OUFILE "$ MUPIP RUNDOWN"
$ WRITE OUFILE "$ EXIT"
$ CLOSE OUFILE
$ VMI$CALLBACK MESSAGE I PREINS "Preparing files for installation."
$!  GTCXFILES.KIT must be maintained as kit contents change
$ OPEN /WRITE OUFILE VMI$KWD:GTCXFILES.KIT
$ IF GTCX$MGR_COM
$  THEN
$   WRITE OUFILE "GTCX$ GTCXSTART.COM VMI$ROOT:[SYSMGR] C"
$   WRITE OUFILE "GTCX$ GTCXSTOP.COM VMI$ROOT:[SYSMGR] C"
$ ENDIF
$ WRITE OUFILE "GTCX$ GTCXSTART.COM ''GTCX$DST_LOG'"
$ WRITE OUFILE "GTCX$ GTCXSTOP.COM ''GTCX$DST_LOG'"
$ CLOSE OUFILE
$!  GTCXIMAGES.KIT must be maintained as kit contents change
$ OPEN /WRITE OUFILE VMI$KWD:GTCXIMAGES.KIT
$ WRITE OUFILE "GTCX$ CCE.EXE ''GTCX$DST_LOG'"
$ WRITE OUFILE "GTCX$ CCP.EXE ''GTCX$DST_LOG'"
$ CLOSE OUFILE
$!  Create GTCXHLB.KIT - don't know why this requires a separate file.
$ GTCX$HLP_LOG == GTCX$DST_LOG
$ IF GTCX$HLP_DIR THEN GTCX$HLP_LOG :== VMI$ROOT:[SYSHLP]
$ OPEN /WRITE OUFILE VMI$KWD:GTCXHLB.KIT
$ WRITE OUFILE "GTCX$ CCE.HLB ''GTCX$HLP_LOG'"
$ CLOSE OUFILE
$!  Provide with file.KITs
$ VMI$CALLBACK PROVIDE_FILE "" VMI$KWD:GTCXFILES.KIT "" T
$ VMI$CALLBACK PROVIDE_IMAGE "" VMI$KWD:GTCXIMAGES.KIT "" T
$ VMI$CALLBACK PROVIDE_FILE "" VMI$KWD:GTCXHLB.KIT "" T
$ VMI$CALLBACK MESSAGE I FININS "Finalizing the installation."
$ IF GTCX$START_CCP THEN VMI$CALLBACK SET POSTINSTALL YES
$ IF GTCX$RUN_IVP THEN VMI$CALLBACK SET IVP YES
$ IF GTCX$STARTDB THEN VMI$CALLBACK MODIFY_STARTUP_DB ADD GTCXSTART.COM END
$ EXIT VMI$_SUCCESS
$!
$POSTINSTALL:
$!
$! do a gtmlogin
$ @'GTCX$DST_LOG'GTMLOGIN
$ CCE := $GTM$DIST:CCE.EXE
$ SET NOON
$ DEFINE /USER_MODE SYS$ERROR NL:
$ DEFINE /USER_MODE SYS$OUTPUT NL:
$ CCE STOP
$ SET ON
$ IF GTCX$MGR_COM
$  THEN
$   T1 := SYS$MANAGER:
$  ELSE
$   T1 = GTM$DST_LOG
$ ENDIF
$ @'T1'GTCXSTART
$ EXIT VMI$_SUCCESS
$!
$IVP:
$!	The real Installation Verification Procedure.
$ TYPE SYS$INPUT

  GT.CX  Installation Verification Procedure

$!  Extract the IVP .COM file from the text library.
$ LIBRARIAN /EXTRACT=GTCX$IVP /OUTPUT=GTCX$IVP.COM GTCX$IVP.TLB
$ @GTCX$IVP
$ EXIT $STATUS