Files correlati : Commento : Spostamento in libraries delle librerie esterne di Campo per una maggiore pulizia e organizzazione git-svn-id: svn://10.65.10.50/branches/R_10_00@24150 c028cbd2-c16b-5b4b-a496-9718f37d4682
		
			
				
	
	
		
			191 lines
		
	
	
		
			6.0 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			191 lines
		
	
	
		
			6.0 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| $! File: MAKE_PCSI_CURL_KIT_NAME.COM
 | |
| $!
 | |
| $! $Id$
 | |
| $!
 | |
| $! Calculates the PCSI kit name for use in building an installation kit.
 | |
| $! PCSI is HP's PolyCenter Software Installation Utility.
 | |
| $!
 | |
| $! The results are stored in as logical names so that other procedures
 | |
| $! can use them.
 | |
| $!
 | |
| $! 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.
 | |
| $!
 | |
| $! 11-Jun-2009 J. Malmberg
 | |
| $!
 | |
| $!========================================================================
 | |
| $!
 | |
| $! Save default
 | |
| $ default_dir = f$environment("DEFAULT")
 | |
| $!
 | |
| $! Move to the base directories
 | |
| $ set def [--]
 | |
| $!
 | |
| $! Put things back on error.
 | |
| $ on warning then goto all_exit
 | |
| $!
 | |
| $! The producer is the name or common abbreviation for the entity that is
 | |
| $! making the kit.  It must be set as a logical name before running this
 | |
| $! procedure.
 | |
| $!
 | |
| $! HP documents the producer as the legal owner of the software, but for
 | |
| $! open source work, it should document who is creating the package for
 | |
| $! distribution.
 | |
| $!
 | |
| $ producer = f$trnlnm("GNV_PCSI_PRODUCER")
 | |
| $ if producer .eqs. ""
 | |
| $ then
 | |
| $   write sys$output "The logical name GNV_PCSI_PRODUCER needs to be defined."
 | |
| $   write sys$output "This should be set to the common abbreviation or name of"
 | |
| $   write sys$output "the entity creating this kit.  If you are an individual"
 | |
| $   write sys$output "then use your initials."
 | |
| $   goto all_exit
 | |
| $ endif
 | |
| $ producer_full_name = f$trnlnm("GNV_PCSI_PRODUCER_FULL_NAME")
 | |
| $ if producer_full_name .eqs. ""
 | |
| $ then
 | |
| $   write sys$output "The logical name GNV_PCSI_PRODUCER_FULL_NAME needs to"
 | |
| $   write sys$output "be defined.  This should be set to the full name of"
 | |
| $   write sys$output "the entity creating this kit.  If you are an individual"
 | |
| $   write sys$output "then use your name."
 | |
| $   write sys$output "EX: DEFINE GNV_PCSI_PRODUCER_FULL_NAME ""First M. Last"""
 | |
| $   goto all_exit
 | |
| $ endif
 | |
| $!
 | |
| $ write sys$output "*****"
 | |
| $ write sys$output "***** Producer = ''producer'"
 | |
| $ write sys$output "*****"
 | |
| $!
 | |
| $!
 | |
| $! Base is one of 'VMS', 'AXPVMS', 'I64VMS', 'VAXVMS' and indicates what
 | |
| $! binaries are in the kit.  A kit with just 'VMS' can be installed on all
 | |
| $! architectures.
 | |
| $!
 | |
| $ base = "VMS"
 | |
| $ arch_type = f$getsyi("ARCH_NAME")
 | |
| $ code = f$extract(0, 1, arch_type)
 | |
| $ if (code .eqs. "I") then base = "I64VMS"
 | |
| $ if (code .eqs. "V") then base = "VAXVMS"
 | |
| $ if (code .eqs. "A") then base = "AXPVMS"
 | |
| $!
 | |
| $!
 | |
| $ product = "curl"
 | |
| $!
 | |
| $!
 | |
| $! We need to get the version from curlver_h.  It will have a line like
 | |
| $! #define LIBCURL_VERSION "7.31.0"
 | |
| $!   or
 | |
| $! #define LIBCURL_VERSION "7.32.0-20130731".
 | |
| $!
 | |
| $! The dash indicates that this is a daily pre-release.
 | |
| $!
 | |
| $!
 | |
| $ open/read/error=version_loop_end vhf [.include.curl]curlver.h
 | |
| $ version_loop:
 | |
| $   read vhf line_in
 | |
| $   if line_in .eqs. "" then goto version_loop
 | |
| $   if f$locate("#define LIBCURL_VERSION ", line_in) .ne. 0
 | |
| $   then
 | |
| $       goto version_loop
 | |
| $   endif
 | |
| $   raw_version = f$element(2," ", line_in) - """" - """"
 | |
| $ version_loop_end:
 | |
| $ close vhf
 | |
| $!
 | |
| $!
 | |
| $ eco_level = ""
 | |
| $ if f$search("''default_dir'vms_eco_level.h") .nes. ""
 | |
| $ then
 | |
| $   open/read ef 'default_dir'vms_eco_level.h
 | |
| $ecolevel_loop:
 | |
| $       read/end=ecolevel_loop_end ef line_in
 | |
| $       prefix = f$element(0, " ", line_in)
 | |
| $       if prefix .nes. "#define" then goto ecolevel_loop
 | |
| $       key = f$element(1, " ", line_in)
 | |
| $       value = f$element(2, " ", line_in) - """" - """"
 | |
| $       if key .eqs. "VMS_ECO_LEVEL"
 | |
| $       then
 | |
| $           eco_level = "''value'"
 | |
| $           if eco_level .eqs. "0"
 | |
| $           then
 | |
| $               eco_level = ""
 | |
| $           else
 | |
| $               eco_level = "E" + eco_level
 | |
| $           endif
 | |
| $           goto ecolevel_loop_end
 | |
| $       endif
 | |
| $       goto ecolevel_loop
 | |
| $ecolevel_loop_end:
 | |
| $   close ef
 | |
| $ endif
 | |
| $!
 | |
| $!
 | |
| $! This translates to V0732-0 or D0732-0
 | |
| $! We encode the snapshot date into the version as an ECO since a daily
 | |
| $! can never have an ECO.
 | |
| $!
 | |
| $! version_type = 'V' for a production release, and 'D' for a build from a
 | |
| $! daiy snapshot of the curl source.
 | |
| $ majorver = f$element(0, ".", raw_version)
 | |
| $ minorver = f$element(1, ".", raw_version)
 | |
| $ raw_update = f$element(2, ".", raw_version)
 | |
| $ update = f$element(0, "-", raw_update)
 | |
| $ if update .eqs. "0" then update = ""
 | |
| $ daily_tag = f$element(1, "-", raw_update)
 | |
| $ vtype = "V"
 | |
| $ patch = ""
 | |
| $ if daily_tag .nes. "-"
 | |
| $ then
 | |
| $   vtype = "D"
 | |
| $   daily_tag_len = f$length(daily_tag)
 | |
| $   daily_tag = f$extract(4, daily_tag_len - 4, daily_tag)
 | |
| $   patch = vtype + daily_tag
 | |
| $   product = product + "_d"
 | |
| $ else
 | |
| $   daily_tag = ""
 | |
| $   if eco_level .nes. "" then patch = eco_level
 | |
| $ endif
 | |
| $!
 | |
| $!
 | |
| $ version_fao = "!2ZB!2ZB"
 | |
| $ mmversion = f$fao(version_fao, 'majorver', 'minorver')
 | |
| $ version = vtype + "''mmversion'"
 | |
| $ if update .nes. "" .or. patch .nes. ""
 | |
| $ then
 | |
| $!  The presence of a patch implies an update
 | |
| $   if update .eqs. "" .and. patch .nes. "" then update = "0"
 | |
| $   version = version + "-" + update + patch
 | |
| $   fversion = version
 | |
| $ else
 | |
| $   fversion = version
 | |
| $   version = version + "-"
 | |
| $ endif
 | |
| $!
 | |
| $! Kit type 1 is complete kit, the only type that this procedure will make.
 | |
| $ kittype = 1
 | |
| $!
 | |
| $! Write out a logical name for the resulting base kit name.
 | |
| $ name = "''producer'-''base'-''product'-''version'-''kittype'"
 | |
| $ define GNV_PCSI_KITNAME "''name'"
 | |
| $ fname = "''product'-''fversion'"
 | |
| $ define GNV_PCSI_FILENAME_BASE "''fname'"
 | |
| $ write sys$output "*****"
 | |
| $ write sys$output "***** GNV_PCSI_KITNAME = ''name'."
 | |
| $ write sys$output "***** GNV_PCSI_FILENAME_BASE = ''fname'."
 | |
| $ write sys$output "*****"
 | |
| $!
 | |
| $all_exit:
 | |
| $ set def 'default_dir'
 | |
| $ exit '$status'
 |