1e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$! File: Build_GNV_CURL_PCSI_DESC.COM
2e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$!
3e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$! $Id$
4e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$!
5e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$! Build the *.pcsi$text file in the following sections:
6e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$!   Required software dependencies.
7e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$!   install/upgrade/postinstall steps.
8e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$!      1. Duplicate filenames need an alias procedure. (N/A for curl)
9e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$!      2. ODS-5 filenames need an alias procedure. (N/A for curl)
10e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$!      3. Special alias links for executables (curl. -> curl.exe)
11e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$!         if a lot, then an alias procedure is needed.
12e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$!      4. Rename the files to lowercase.
13e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$!   Move Release Notes to destination
14e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$!   Source kit option
15e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$!   Create directory lines
16e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$!   Add file lines for curl.
17e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$!   Add Link alias procedure file (N/A for curl)
18e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$!   Add [.SYS$STARTUP]curl_startup file
19e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$!   Add Release notes file.
20e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$!
21e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$! The file PCSI_GNV_CURL_FILE_LIST.TXT is read in to get the files other
22e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$! than the release notes file and the source backup file.
23e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$!
24e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$! The PCSI system can really only handle ODS-2 format filenames and
25e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$! assumes that there is only one source directory.  It also assumes that
26e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$! all destination files with the same name come from the same source file.
27e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$! Fortunately CURL does not trip most of these issues, so those steps
28e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$! above are marked N/A.
29e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$!
30e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$! A rename action section is needed to make sure that the files are
31e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$! created in the GNV$GNU: in the correct case, and to create the alias
32e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$! link [usr.bin]curl. for [usr.bin]curl.exe.
33e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$!
34e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$! Copyright 2009, John Malmberg
35e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$!
36e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$! Permission to use, copy, modify, and/or distribute this software for any
37e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$! purpose with or without fee is hereby granted, provided that the above
38e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$! copyright notice and this permission notice appear in all copies.
39e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$!
40e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$! THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
41e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$! WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
42e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$! MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
43e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$! ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
44e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$! WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
45e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$! ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT
46e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$! OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
47e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$!
48e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$!
49e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$! 15-Jun-2009  J. Malmberg
50e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$!
51e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$!===========================================================================
52e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$!
53e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$ kit_name = f$trnlnm("GNV_PCSI_KITNAME")
54e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$ if kit_name .eqs. ""
55e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$ then
56e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$   write sys$output "@MAKE_PCSI_CURL_KIT_NAME.COM has not been run."
57e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$   goto all_exit
58e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$ endif
59e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$ producer = f$trnlnm("GNV_PCSI_PRODUCER")
60e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$ if producer .eqs. ""
61e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$ then
62e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$   write sys$output "@MAKE_PCSI_CURL_KIT_NAME.COM has not been run."
63e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$   goto all_exit
64e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$ endif
65e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$ filename_base = f$trnlnm("GNV_PCSI_FILENAME_BASE")
66e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$ if filename_base .eqs. ""
67e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$ then
68e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$   write sys$output "@MAKE_PCSI_CURL_KIT_NAME.COM has not been run."
69e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$   goto all_exit
70e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$ endif
71e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$!
72e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$!
73e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$! Parse the kit name into components.
74e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$!---------------------------------------
75e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$ producer = f$element(0, "-", kit_name)
76e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$ base = f$element(1, "-", kit_name)
77e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$ product = f$element(2, "-", kit_name)
78e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$ mmversion = f$element(3, "-", kit_name)
79e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$ majorver = f$extract(0, 3, mmversion)
80e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$ minorver = f$extract(3, 2, mmversion)
81e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$ updatepatch = f$element(4, "-", kit_name)
82e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$ if updatepatch .eqs. "-" then updatepatch = ""
83e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$!
84e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$! kit type of "D" means a daily build
85e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$ kit_type = f$edit(f$extract(0, 1, majorver), "upcase")
86e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$!
87e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$!
88e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$ product_line = "product ''producer' ''base' ''product'"
89e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$ if updatepatch .eqs. ""
90e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$ then
91e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$     product_name = " ''majorver'.''minorver'"
92e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$ else
93e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$     product_name = " ''majorver'.''minorver'-''updatepatch'"
94e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$ endif
95e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$ product_line = product_line + " ''product_name' full;"
96e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$!write sys$output product_line
97e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$!
98e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$!
99e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$!
100e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$! Create the file as a VMS text file.
101e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$!----------------------------------------
102e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$ base_file = kit_name
103e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$ create 'base_file'.pcsi$desc
104e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$!
105e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$!
106e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$! Start building file.
107e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$!----------------------
108e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$ open/append pdsc 'base_file'.pcsi$desc
109e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$!
110e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$ write pdsc product_line
111e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$!
112e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$! Required product dependencies.
113e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$!----------------------------------
114e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$ vmsprd = "DEC"
115e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$ if base .eqs. "I64VMS" then vmsprd = "HP"
1168f1a214b8a21b66f33454790dfba97ae2f818289Alex Deymo$ vsiprd = "VSI"
117e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$!
118e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$ write pdsc "   software ''vmsprd' ''base' VMS ;"
119e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$ arch_type = f$getsyi("ARCH_NAME")
120e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$ node_swvers = f$getsyi("node_swvers")
121e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$ vernum = f$extract(1, f$length(node_swvers), node_swvers)
122e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$ majver = f$element(0, ".", vernum)
123e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$ minverdash = f$element(1, ".", vernum)
124e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$ minver = f$element(0, "-", minverdash)
125e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$ dashver = f$element(1, "-", minverdash)
126e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$ if dashver .eqs. "-" then dashver = ""
127e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$ vmstag = majver + minver + dashver
128e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$ code = f$extract(0, 1, arch_type)
129e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$ arch_code = f$extract(0, 1, arch_type)
1308f1a214b8a21b66f33454790dfba97ae2f818289Alex Deymo$ line_out = -
1318f1a214b8a21b66f33454790dfba97ae2f818289Alex Deymo "   if ((not <software ''vsiprd' ''base' VMS version minimum" + -
1328f1a214b8a21b66f33454790dfba97ae2f818289Alex Deymo " ''node_swvers'>) and" + -
1338f1a214b8a21b66f33454790dfba97ae2f818289Alex Deymo " (not <software ''vmsprd' ''base' VMS version minimum ''node_swvers'>));"
1348f1a214b8a21b66f33454790dfba97ae2f818289Alex Deymo$ write pdsc line_out
135e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$ write pdsc "      error NEED_VMS''vmstag';"
136e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$ write pdsc "   end if;"
137e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$!
138e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$write pdsc "   software VMSPORTS ''base' ZLIB ;"
139e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$write pdsc -
140e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET    "   if (not <software VMSPORTS ''base' ZLIB version minimum V1.2-8>) ;"
141e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$write pdsc "      error NEED_ZLIB;"
142e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$write pdsc "   end if;"
143e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$!
144e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$!
145e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$!
146e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$! install/upgrade/postinstall steps.
147e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$!-----------------------------------
148e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$!      1. Duplicate filenames need an alias procedure. (N/A for curl)
149e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$!      2. ODS-5 filenames need an alias procedure. (N/A for curl)
150e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$!      3. Special alias links for executables (curl. -> curl.exe)
151e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$!         if a lot, then an alias procedure is needed.
152e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$!      4. Rename the files to lowercase.
153e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$!
154e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$!
155e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$!   Alias links needed.
156e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$!-------------------------
157e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$ add_alias_lines = ""
158e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$ rem_alias_lines = ""
159e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$ line_out = ""
160e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$!
161e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$!   Read through the file list to set up aliases and rename commands.
162e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$!---------------------------------------------------------------------
163e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$ open/read flst pcsi_gnv_curl_file_list.txt
164e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$!
165e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$inst_alias_loop:
166e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$   read/end=inst_alias_loop_end flst line_in
167e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$   line_in = f$edit(line_in,"compress,trim,uncomment")
168e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$   if line_in .eqs. "" then goto inst_alias_loop
169e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$   pathname = f$element(0, " ", line_in)
170e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$   linkflag = f$element(1, " ", line_in)
171e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET
172e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$   if linkflag .nes. "->" then goto inst_alias_write
173e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$!
174e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$   linktarget = f$element(2, " ", line_in)
175e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$   if kit_type .eqs. "D"
176e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$   then
177e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$       old_start = f$locate("[gnv.usr", pathname)
178e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$       if old_start .lt. f$length(pathname)
179e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$       then
180e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$           pathname = "[gnv.beta" + pathname - "[gnv.usr"
181e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$           linktarget = "[gnv.beta" + linktarget - "[gnv.usr"
182e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$       endif
183e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$   endif
184e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$   nlink = "pcsi$destination:" + pathname
185e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$   ntarg = "pcsi$destination:" + linktarget
186e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$   new_add_alias_line = -
187e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET  """if f$search(""""''nlink'"""") .eqs. """""""" then" + -
188e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET  " set file/enter=''nlink' ''ntarg'"""
189e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$   if add_alias_lines .nes. ""
190e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$   then
191e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$       add_alias_lines = add_alias_lines + "," + new_add_alias_line
192e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$   else
193e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$       add_alias_lines = new_add_alias_line
194e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$   endif
195e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$!
196e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$   new_rem_alias_line = -
197e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET  """if f$search(""""''nlink'"""") .nes. """""""" then" + -
198e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET  " set file/remove ''nlink';"""
199e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$   if rem_alias_lines .nes. ""
200e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$   then
201e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$      rem_alias_lines = rem_alias_lines + "," + new_rem_alias_line
202e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$   else
203e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$      rem_alias_lines = new_rem_alias_line
204e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$   endif
205e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$!
206e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$   goto inst_alias_loop
207e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$!
208e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$inst_alias_write:
209e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$!
210e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$!  execute install / remove
211e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$   write pdsc "   execute install ("
212e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$! add aliases
213e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$   i = 0
214e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$ex_ins_loop:
215e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$       line = f$element(i, ",", add_alias_lines)
216e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$       i = i + 1
217e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$       if line .eqs. "" then goto ex_ins_loop
218e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$       if line .eqs. "," then goto ex_ins_loop_end
219e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$       if line_out .nes. "" then write pdsc line_out,","
220e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$       line_out = line
221e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$       goto ex_ins_loop
222e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$ex_ins_loop_end:
223e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$   write pdsc line_out
224e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$   line_out = ""
225e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$   write pdsc "      )"
226e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$   write pdsc "   remove ("
227e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$! remove aliases
228e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$   i = 0
229e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$ex_rem_loop:
230e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$       line = f$element(i, ",", rem_alias_lines)
231e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$       i = i + 1
232e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$       if line .eqs. "" then goto ex_rem_loop
233e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$       if line .eqs. "," then goto ex_rem_loop_end
234e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$       if line_out .nes. "" then write pdsc line_out,","
235e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$       line_out = line
236e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$       goto ex_rem_loop
237e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$ex_rem_loop_end:
238e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$   write pdsc line_out
239e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$   line_out = ""
240e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$   write pdsc "      ) ;"
241e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$!
242e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$!  execute upgrade
243e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$   write pdsc "   execute upgrade ("
244e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$   i = 0
245e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$ex_upg_loop:
246e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$       line = f$element(i, ",", rem_alias_lines)
247e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$       i = i + 1
248e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$       if line .eqs. "" then goto ex_upg_loop
249e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$       if line .eqs. "," then goto ex_upg_loop_end
250e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$       if line_out .nes. "" then write pdsc line_out,","
251e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$       line_out = line
252e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$       goto ex_upg_loop
253e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$ex_upg_loop_end:
254e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$   write pdsc line_out
255e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$   line_out = ""
256e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$! remove aliases
257e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$   write pdsc "      ) ;"
258e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$!
259e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$!  execute postinstall
260e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$   write pdsc "   execute postinstall ("
261e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$   if arch_code .nes. "V"
262e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$   then
263e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$       line_out = "   ""set process/parse=extended"""
264e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$   endif
265e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$   i = 0
266e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$ex_pins_loop:
267e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$       line = f$element(i, ",", add_alias_lines)
268e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$       i = i + 1
269e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$       if line .eqs. "" then goto ex_pins_loop
270e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$       if line .eqs. "," then goto ex_pins_loop_end
271e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$       if line_out .nes. "" then write pdsc line_out,","
272e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$       line_out = line
273e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$       goto ex_pins_loop
274e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$ex_pins_loop_end:
275e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$   if line_out .eqs. "" then line_out = "   ""continue"""
276e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$!   write pdsc line_out
277e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$!   line_out = ""
278e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$! add aliases and follow with renames.
279e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$!
280e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$goto inst_dir
281e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$!
282e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$inst_dir_loop:
283e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$   read/end=inst_alias_loop_end flst line_in
284e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$   line_in = f$edit(line_in,"compress,trim,uncomment")
285e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$   if line_in .eqs. "" then goto inst_dir_loop
286e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$inst_dir:
287e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$   pathname = f$element(0, " ", line_in)
288e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$   if kit_type .eqs. "D"
289e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$   then
290e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$       if pathname .eqs. "[gnv]usr.dir"
291e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$       then
292e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$           pathname = "[gnv]beta.dir"
293e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$       else
294e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$           old_start = f$locate("[gnv.usr", pathname)
295e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$           if old_start .lt. f$length(pathname)
296e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$           then
297e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$               pathname = "[gnv.beta" + pathname - "[gnv.usr"
298e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$           endif
299e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$       endif
300e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$   endif
301e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$!
302e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$!  Ignore the directory entries for now.
303e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$!-----------------------------------------
304e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$   filedir = f$parse(pathname,,,"DIRECTORY")
305e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$   if pathname .eqs. filedir then goto inst_dir_loop
306e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$!
307e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$!  process .dir extensions for rename
308e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$!  If this is not a directory then start processing files.
309e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$!-------------------------
310e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$   filetype = f$parse(pathname,,,"TYPE")
311e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$   filetype_u = f$edit(filetype, "upcase")
312e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$   filename = f$parse(pathname,,,"NAME")
313e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$   if filetype_u .nes. ".DIR" then goto inst_file
314e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$!
315e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$!  process directory lines for rename.
316e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$!--------------------------------------
317e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$   if line_out .nes. ""
318e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$   then
319e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$       write pdsc line_out,","
320e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$       line_out = ""
321e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$   endif
322e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$   if arch_code .nes. "V"
323e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$   then
324e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$       if line_out .nes. "" then write pdsc line_out,","
325e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$       line_out = "   ""rename pcsi$destination:''pathname' ''filename'.DIR"""
326e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$   else
327e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$       if line_out .nes. "" then write pdsc line_out
328e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$       line_out = ""
329e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$   endif
330e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$   goto inst_dir_loop
331e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$!
332e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$!
333e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$!   process file lines for rename
334e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$!---------------------------------
335e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$inst_file_loop:
336e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$   read/end=inst_alias_loop_end flst line_in
337e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$   line_in = f$edit(line_in,"compress,trim,uncomment")
338e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$   if line_in .eqs. "" then goto inst_dir_loop
339e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$   pathname = f$element(0, " ", line_in)
340e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$   if kit_type .eqs. "D"
341e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$   then
342e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$       if pathname .eqs. "[gnv]usr.dir"
343e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$       then
344e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$           pathname = "[gnv]beta.dir"
345e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$       else
346e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$           old_start = f$locate("[gnv.usr", pathname)
347e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$           if old_start .lt. f$length(pathname)
348e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$           then
349e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$               pathname = "[gnv.beta" + pathname - "[gnv.usr"
350e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$           endif
351e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$       endif
352e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$   endif
353e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$!
354e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$!  Filenames with $ in them are VMS special and do not need to be lowercased.
355e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$!  --------------------------------------------------------------------------
356e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$   if f$locate("$", pathname) .lt. f$length(pathname) then goto inst_file_loop
357e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$!
358e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$   filetype = f$parse(pathname,,,"TYPE")
359e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$   filename = f$parse(pathname,,,"NAME") + filetype
360e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$inst_file:
361e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$   if arch_code .nes. "V"
362e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$   then
363e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$       if line_out .nes. "" then write pdsc line_out,","
364e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$       filetype = f$parse(pathname,,,"TYPE")
365e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$       filename = f$parse(pathname,,,"NAME") + filetype
366e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$       line_out = "   ""rename pcsi$destination:''pathname' ''filename'"""
367e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$   else
368e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$       if line_out .nes. "" then write pdsc line_out
369e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$       line_out = ""
370e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$   endif
371e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$   goto inst_file_loop
372e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$!
373e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$inst_alias_loop_end:
374e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$!
375e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$write pdsc line_out
376e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$write pdsc "        ) ;"
377e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$close flst
378e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$!
379e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$!   Move Release Notes to destination
380e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$!-------------------------------------
381e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$write pdsc "   information RELEASE_NOTES phase after ;"
382e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$!
383e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$!   Source kit option
384e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$!---------------------
385e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$write pdsc "   option SOURCE default 0;"
386e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$write pdsc "   directory ""[gnv.common_src]"" PROTECTION PUBLIC ;"
387e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$write pdsc -
388e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET    "        file ""[gnv.common_src]''filename_base'_original_src.bck"""
389e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$write pdsc -
390e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET    "          source [common_src]''filename_base'_original_src.bck ;"
391e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$if f$search("gnv$gnu:[vms_src]''filename_base'_vms_src.bck") .nes. ""
392e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$then
393e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$    write pdsc "   directory ""[gnv.vms_src]"" PROTECTION PUBLIC ;"
394e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$    write pdsc "        file ""[gnv.vms_src]''filename_base'_vms_src.bck"""
395e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$    write pdsc "          source [vms_src]''filename_base'_vms_src.bck ;"
396e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$endif
397e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$write pdsc "   end option;"
398e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$!
399e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$!
400e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$! Read through the file list again.
401e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$!----------------------------------
402e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$open/read flst pcsi_gnv_curl_file_list.txt
403e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$!
404e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$!
405e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$!   Create directory lines
406e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$!-------------------------
407e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$flst_dir_loop:
408e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$   read/end=flst_loop_end flst line_in
409e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$   line_in = f$edit(line_in,"compress,trim,uncomment")
410e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$   if line_in .eqs. "" then goto flst_dir_loop
411e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$!
412e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$   filename = f$element(0, " ", line_in)
413e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$   linkflag = f$element(1, " ", line_in)
414e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$   if linkflag .eqs. "->" then goto flst_dir_loop
415e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$!
416e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$!  Ignore .dir extensions
417e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$!-------------------------
418e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$   filetype = f$edit(f$parse(filename,,,"TYPE"), "upcase")
419e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$   if filetype .eqs. ".DIR" then goto flst_dir_loop
420e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$!
421e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$   destname = filename
422e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$   if kit_type .eqs. "D"
423e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$   then
424e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$       old_start = f$locate("[gnv.usr", destname)
425e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$       if old_start .lt. f$length(destname)
426e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$       then
427e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$           destname = "[gnv.beta" + destname - "[gnv.usr"
428e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$       endif
429e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$   endif
430e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$!
431e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$!  It should be just a directory then.
432e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$!-------------------------------------
433e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$   filedir = f$edit(f$parse(filename,,,"DIRECTORY"), "lowercase")
434e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$!  If this is not a directory then start processing files.
435e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$!---------------------------------------------------------
436e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$   if filename .nes. filedir then goto flst_file
437e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$!
438e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$   write pdsc "   directory ""''destname'"" PROTECTION PUBLIC ;"
439e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$   goto flst_dir_loop
440e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$!
441e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$!
442e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$!   Add file lines for curl.
443e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$!---------------------------
444e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$flst_file_loop:
445e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$   read/end=flst_loop_end flst line_in
446e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$   line_in = f$edit(line_in,"compress,trim,uncomment")
447e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$   if line_in .eqs. "" then goto inst_file_loop
448e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$   filename = f$element(0, " ", line_in)
449e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$   destname = filename
450e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$   if kit_type .eqs. "D"
451e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$   then
452e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$       old_start = f$locate("[gnv.usr", destname)
453e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$       if old_start .lt. f$length(destname)
454e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$       then
455e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$           destname = "[gnv.beta" + destname - "[gnv.usr"
456e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$       endif
457e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$   endif
458e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$flst_file:
459e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$   srcfile = filename - "gnv."
460e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$   write pdsc "   file ""''destname'"" "
461e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$   write pdsc "     source ""''srcfile'"" ;"
462e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$   goto flst_file_loop
463e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$!
464e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$flst_loop_end:
465e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$ close flst
466e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$!
467e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$!   Add Link alias procedure file (N/A for curl)
468e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$!------------------------------------------------
469e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$!
470e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$!   Add [.SYS$STARTUP]curl_startup file
471e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$!---------------------------------------
472e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$ if kit_type .eqs. "D"
473e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$ then
474e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$   write pdsc "   file ""[sys$startup]curl_daily_startup.com"""
475e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$ else
476e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$   write pdsc "   file ""[sys$startup]curl_startup.com"""
477e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$ endif
478e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$ write pdsc "     source [usr.lib]curl_startup.com ;"
479e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$!
480e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$!   Add Release notes file.
481e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$!------------------------------
482e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$ write pdsc -
483e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET    "   file ""[SYSHLP]''filename_base'.release_notes"" release notes ;"
484e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$!
485e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$! Close the product file
486e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$!------------------------
487e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$ write pdsc "end product;"
488e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$!
489e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$close pdsc
490e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$!
491e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$all_exit:
492e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET$ exit
493