Annotation of embedaddon/curl/packages/vms/build_gnv_curl_pcsi_text.com, revision 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>