tizen 2.3.1 release
[external/curl.git] / packages / vms / build_gnv_curl_pcsi_text.com
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, 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