Annotation of embedaddon/curl/packages/vms/build_gnv_curl_pcsi_text.com, revision 1.1.1.1
1.1 misho 1: $! File: Build_GNV_curl_pcsi_text.com
2: $!
3: $! $Id$
4: $!
5: $! Build the *.pcsi$text file from the four components:
6: $! 1. Generated =product header section
7: $! 2. [--]readme. file from the Curl distribution, modified to fit
8: $! a pcsi$text file format.
9: $! 3. [--]copying file from the Curl distribution, modified to fit
10: $! a pcsi$text file format.
11: $! 4. Generated Producer section.
12: $!
13: $! Set the name of the release notes from the GNV_PCSI_FILENAME_BASE
14: $!
15: $! Copyright 2009 - 2020, John Malmberg
16: $!
17: $! Permission to use, copy, modify, and/or distribute this software for any
18: $! purpose with or without fee is hereby granted, provided that the above
19: $! copyright notice and this permission notice appear in all copies.
20: $!
21: $! THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
22: $! WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
23: $! MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
24: $! ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
25: $! WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
26: $! ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT
27: $! OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
28: $!
29: $!
30: $! 15-Jun-2009 J. Malmberg
31: $!
32: $!===========================================================================
33: $!
34: $ kit_name = f$trnlnm("GNV_PCSI_KITNAME")
35: $ if kit_name .eqs. ""
36: $ then
37: $ write sys$output "@MAKE_PCSI_CURL_KIT_NAME.COM has not been run."
38: $ goto all_exit
39: $ endif
40: $ producer = f$trnlnm("GNV_PCSI_PRODUCER")
41: $ if producer .eqs. ""
42: $ then
43: $ write sys$output "@MAKE_PCSI_CURL_KIT_NAME.COM has not been run."
44: $ goto all_exit
45: $ endif
46: $ producer_full_name = f$trnlnm("GNV_PCSI_PRODUCER_FULL_NAME")
47: $ if producer_full_name .eqs. ""
48: $ then
49: $ write sys$output "@MAKE_PCSI_CURL_KIT_NAME.COM has not been run."
50: $ goto all_exit
51: $ endif
52: $!
53: $!
54: $! Parse the kit name into components.
55: $!---------------------------------------
56: $ producer = f$element(0, "-", kit_name)
57: $ base = f$element(1, "-", kit_name)
58: $ product = f$element(2, "-", kit_name)
59: $ mmversion = f$element(3, "-", kit_name)
60: $ majorver = f$extract(0, 3, mmversion)
61: $ minorver = f$extract(3, 2, mmversion)
62: $ updatepatch = f$element(4, "-", kit_name)
63: $ if updatepatch .eqs. "-" then updatepatch = ""
64: $!
65: $!
66: $ product_line = "=product ''producer' ''base' ''product'"
67: $ if updatepatch .eqs. ""
68: $ then
69: $ product_name = " ''majorver'.''minorver'"
70: $ else
71: $ product_name = " ''majorver'.''minorver'-''updatepatch'"
72: $ endif
73: $ product_line = product_line + " ''product_name' full"
74: $!
75: $!
76: $! If this is VAX and the file is on NFS, the names may be mangled.
77: $!-----------------------------------------------------------------
78: $ readme_file = ""
79: $ if f$search("[--]readme.") .nes. ""
80: $ then
81: $ readme_file = "[--]readme."
82: $ else
83: $ if f$search("[--]$README.") .nes. ""
84: $ then
85: $ readme_file = "[--]$README."
86: $ else
87: $ write sys$output "Can not find readme file."
88: $ goto all_exit
89: $ endif
90: $ endif
91: $ copying_file = ""
92: $ if f$search("[--]copying.") .nes. ""
93: $ then
94: $ copying_file = "[--]copying."
95: $ else
96: $ if f$search("[--]$COPYING.") .nes. ""
97: $ then
98: $ copying_file = "[--]$COPYING."
99: $ else
100: $ write sys$output "Can not find copying file."
101: $ goto all_exit
102: $ endif
103: $ endif
104: $!
105: $! Create the file as a VMS text file.
106: $!----------------------------------------
107: $ base_file = kit_name
108: $ create 'base_file'.pcsi$text
109: $!
110: $!
111: $! Start building file.
112: $!----------------------
113: $ open/append ptxt 'base_file'.pcsi$text
114: $ write ptxt product_line
115: $!
116: $!
117: $! First insert the Readme file.
118: $!
119: $ open/read rf 'readme_file'
120: $!
121: $ write ptxt "1 'PRODUCT"
122: $ write ptxt "=prompt ''producter' ''product' for OpenVMS"
123: $!
124: $rf_loop:
125: $ read/end=rf_loop_end rf line_in
126: $ if line_in .nes. ""
127: $ then
128: $! PCSI files use the first character in for their purposes.
129: $!--------------------------------------------------------------
130: $ first_char = f$extract(0, 1, line_in)
131: $ if first_char .nes. " " then line_in = " " + line_in
132: $ endif
133: $ write ptxt line_in
134: $ goto rf_loop
135: $rf_loop_end:
136: $ close rf
137: $!
138: $!
139: $! Now add in the copying file
140: $!--------------------------------
141: $ write ptxt ""
142: $ write ptxt "1 'NOTICE"
143: $ write ptxt ""
144: $!
145: $ open/read cf 'copying_file'
146: $!
147: $cf_loop:
148: $ read/end=cf_loop_end cf line_in
149: $ if line_in .nes. ""
150: $ then
151: $! PCSI files use the first character in for their purposes.
152: $!--------------------------------------------------------------
153: $ first_char = f$extract(0, 1, line_in)
154: $ if first_char .nes. " " then line_in = " " + line_in
155: $ endif
156: $ write ptxt line_in
157: $ goto cf_loop
158: $cf_loop_end:
159: $ close cf
160: $!
161: $! Now we need the rest of the boiler plate.
162: $!--------------------------------------------
163: $ write ptxt ""
164: $ write ptxt "1 'PRODUCER"
165: $ write ptxt "=prompt ''producer_full_name'"
166: $ write ptxt -
167: "This software product is provided by ''producer_full_name' with no warranty."
168: $!
169: $ arch_type = f$getsyi("ARCH_NAME")
170: $ node_swvers = f$getsyi("node_swvers")
171: $ vernum = f$extract(1, f$length(node_swvers), node_swvers)
172: $ majver = f$element(0, ".", vernum)
173: $ minverdash = f$element(1, ".", vernum)
174: $ minver = f$element(0, "-", minverdash)
175: $ dashver = f$element(1, "-", minverdash)
176: $ if dashver .eqs. "-" then dashver = ""
177: $ vmstag = majver + minver + dashver
178: $ code = f$extract(0, 1, arch_type)
179: $!
180: $ write ptxt "1 NEED_VMS''vmstag'"
181: $ write ptxt -
182: "=prompt OpenVMS ''vernum' or later is not installed on your system."
183: $ write ptxt "This product requires OpenVMS ''vernum' or later to function."
184: $ write ptxt "1 NEED_ZLIB"
185: $ write ptxt "=prompt ZLIB 1.2-8 or later is not installed on your system."
186: $ write ptxt "This product requires ZLIB 1.2-8 or later to function."
187: $ write ptxt "1 SOURCE"
188: $ write ptxt "=prompt Source modules for ''product'"
189: $ write ptxt "The Source modules for ''product' will be installed."
190: $ write ptxt "1 RELEASE_NOTES"
191: $ write ptxt "=prompt Release notes are available in the [SYSHLP] directory."
192: $!
193: $ close ptxt
194: $!
195: $!
196: $!
197: $all_exit:
198: $ exit
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>