git-svn-id: svn://10.65.10.50/branches/R_10_00@23289 c028cbd2-c16b-5b4b-a496-9718f37d4682
		
			
				
	
	
		
			199 lines
		
	
	
		
			5.9 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			199 lines
		
	
	
		
			5.9 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| $! File: Build_GNV_curl_pcsi_text.com
 | |
| $!
 | |
| $! $Id$
 | |
| $!
 | |
| $! Build the *.pcsi$text file from the four components:
 | |
| $!    1. Generated =product header section
 | |
| $!    2. [--]readme. file from the Curl distribution, modified to fit
 | |
| $!       a pcsi$text file format.
 | |
| $!    3. [--]copying file from the Curl distribution, modified to fit
 | |
| $!       a pcsi$text file format.
 | |
| $!    4. Generated Producer section.
 | |
| $!
 | |
| $! Set the name of the release notes from the GNV_PCSI_FILENAME_BASE
 | |
| $!
 | |
| $! Copyright 2009, John Malmberg
 | |
| $!
 | |
| $! Permission to use, copy, modify, and/or distribute this software for any
 | |
| $! purpose with or without fee is hereby granted, provided that the above
 | |
| $! copyright notice and this permission notice appear in all copies.
 | |
| $!
 | |
| $! THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
 | |
| $! WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
 | |
| $! MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
 | |
| $! ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
 | |
| $! WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
 | |
| $! ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT
 | |
| $! OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
 | |
| $!
 | |
| $!
 | |
| $! 15-Jun-2009  J. Malmberg
 | |
| $!
 | |
| $!===========================================================================
 | |
| $!
 | |
| $ kit_name = f$trnlnm("GNV_PCSI_KITNAME")
 | |
| $ if kit_name .eqs. ""
 | |
| $ then
 | |
| $   write sys$output "@MAKE_PCSI_CURL_KIT_NAME.COM has not been run."
 | |
| $   goto all_exit
 | |
| $ endif
 | |
| $ producer = f$trnlnm("GNV_PCSI_PRODUCER")
 | |
| $ if producer .eqs. ""
 | |
| $ then
 | |
| $   write sys$output "@MAKE_PCSI_CURL_KIT_NAME.COM has not been run."
 | |
| $   goto all_exit
 | |
| $ endif
 | |
| $ producer_full_name = f$trnlnm("GNV_PCSI_PRODUCER_FULL_NAME")
 | |
| $ if producer_full_name .eqs. ""
 | |
| $ then
 | |
| $   write sys$output "@MAKE_PCSI_CURL_KIT_NAME.COM has not been run."
 | |
| $   goto all_exit
 | |
| $ endif
 | |
| $!
 | |
| $!
 | |
| $! Parse the kit name into components.
 | |
| $!---------------------------------------
 | |
| $ producer = f$element(0, "-", kit_name)
 | |
| $ base = f$element(1, "-", kit_name)
 | |
| $ product = f$element(2, "-", kit_name)
 | |
| $ mmversion = f$element(3, "-", kit_name)
 | |
| $ majorver = f$extract(0, 3, mmversion)
 | |
| $ minorver = f$extract(3, 2, mmversion)
 | |
| $ updatepatch = f$element(4, "-", kit_name)
 | |
| $ if updatepatch .eqs. "-" then updatepatch = ""
 | |
| $!
 | |
| $!
 | |
| $ product_line = "=product ''producer' ''base' ''product'"
 | |
| $ if updatepatch .eqs. ""
 | |
| $ then
 | |
| $     product_name = " ''majorver'.''minorver'"
 | |
| $ else
 | |
| $     product_name = " ''majorver'.''minorver'-''updatepatch'"
 | |
| $ endif
 | |
| $ product_line = product_line + " ''product_name' full"
 | |
| $!
 | |
| $!
 | |
| $! If this is VAX and the file is on NFS, the names may be mangled.
 | |
| $!-----------------------------------------------------------------
 | |
| $ readme_file = ""
 | |
| $ if f$search("[--]readme.") .nes. ""
 | |
| $ then
 | |
| $   readme_file = "[--]readme."
 | |
| $ else
 | |
| $   if f$search("[--]$README.") .nes. ""
 | |
| $   then
 | |
| $       readme_file = "[--]$README."
 | |
| $   else
 | |
| $       write sys$output "Can not find readme file."
 | |
| $       goto all_exit
 | |
| $   endif
 | |
| $ endif
 | |
| $ copying_file = ""
 | |
| $ if f$search("[--]copying.") .nes. ""
 | |
| $ then
 | |
| $   copying_file = "[--]copying."
 | |
| $ else
 | |
| $   if f$search("[--]$COPYING.") .nes. ""
 | |
| $   then
 | |
| $       copying_file = "[--]$COPYING."
 | |
| $   else
 | |
| $       write sys$output "Can not find copying file."
 | |
| $       goto all_exit
 | |
| $   endif
 | |
| $ endif
 | |
| $!
 | |
| $! Create the file as a VMS text file.
 | |
| $!----------------------------------------
 | |
| $ base_file = kit_name
 | |
| $ create 'base_file'.pcsi$text
 | |
| $!
 | |
| $!
 | |
| $! Start building file.
 | |
| $!----------------------
 | |
| $ open/append ptxt 'base_file'.pcsi$text
 | |
| $ write ptxt product_line
 | |
| $!
 | |
| $!
 | |
| $! First insert the Readme file.
 | |
| $!
 | |
| $ open/read rf 'readme_file'
 | |
| $!
 | |
| $ write ptxt "1 'PRODUCT"
 | |
| $ write ptxt "=prompt ''producter' ''product' for OpenVMS"
 | |
| $!
 | |
| $rf_loop:
 | |
| $   read/end=rf_loop_end rf line_in
 | |
| $   if line_in .nes. ""
 | |
| $   then
 | |
| $!    PCSI files use the first character in for their purposes.
 | |
| $!--------------------------------------------------------------
 | |
| $     first_char = f$extract(0, 1, line_in)
 | |
| $     if first_char .nes. " " then line_in = " " + line_in
 | |
| $   endif
 | |
| $   write ptxt line_in
 | |
| $   goto rf_loop
 | |
| $rf_loop_end:
 | |
| $ close rf
 | |
| $!
 | |
| $!
 | |
| $! Now add in the copying file
 | |
| $!--------------------------------
 | |
| $ write ptxt ""
 | |
| $ write ptxt "1 'NOTICE"
 | |
| $ write ptxt ""
 | |
| $!
 | |
| $ open/read cf 'copying_file'
 | |
| $!
 | |
| $cf_loop:
 | |
| $   read/end=cf_loop_end cf line_in
 | |
| $   if line_in .nes. ""
 | |
| $   then
 | |
| $!    PCSI files use the first character in for their purposes.
 | |
| $!--------------------------------------------------------------
 | |
| $     first_char = f$extract(0, 1, line_in)
 | |
| $     if first_char .nes. " " then line_in = " " + line_in
 | |
| $   endif
 | |
| $   write ptxt line_in
 | |
| $   goto cf_loop
 | |
| $cf_loop_end:
 | |
| $ close cf
 | |
| $!
 | |
| $! Now we need the rest of the boiler plate.
 | |
| $!--------------------------------------------
 | |
| $ write ptxt ""
 | |
| $ write ptxt "1 'PRODUCER"
 | |
| $ write ptxt "=prompt ''producer_full_name'"
 | |
| $ write ptxt -
 | |
|  "This software product is provided by ''producer_full_name' with no warranty."
 | |
| $!
 | |
| $ arch_type = f$getsyi("ARCH_NAME")
 | |
| $ node_swvers = f$getsyi("node_swvers")
 | |
| $ vernum = f$extract(1, f$length(node_swvers), node_swvers)
 | |
| $ majver = f$element(0, ".", vernum)
 | |
| $ minverdash = f$element(1, ".", vernum)
 | |
| $ minver = f$element(0, "-", minverdash)
 | |
| $ dashver = f$element(1, "-", minverdash)
 | |
| $ if dashver .eqs. "-" then dashver = ""
 | |
| $ vmstag = majver + minver + dashver
 | |
| $ code = f$extract(0, 1, arch_type)
 | |
| $!
 | |
| $ write ptxt "1 NEED_VMS''vmstag'"
 | |
| $ write ptxt -
 | |
|    "=prompt OpenVMS ''vernum' or later is not installed on your system."
 | |
| $ write ptxt "This product requires OpenVMS ''vernum' or later to function."
 | |
| $ write ptxt "1 NEED_ZLIB"
 | |
| $ write ptxt "=prompt ZLIB 1.2-8 or later is not installed on your system."
 | |
| $ write ptxt "This product requires ZLIB 1.2-8 or later to function."
 | |
| $ write ptxt "1 SOURCE"
 | |
| $ write ptxt "=prompt Source modules for ''product'"
 | |
| $ write ptxt "The Source modules for ''product' will be installed."
 | |
| $ write ptxt "1 RELEASE_NOTES"
 | |
| $ write ptxt "=prompt Release notes are available in the [SYSHLP] directory."
 | |
| $!
 | |
| $ close ptxt
 | |
| $!
 | |
| $!
 | |
| $!
 | |
| $all_exit:
 | |
| $ exit
 |