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>