123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197 |
- $! File: PCSI_PRODUCT_GNV_CURL.COM
- $!
- $! This command file packages up the product CURL into a sequential
- $! format kit
- $!
- $! Copyright (C) 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.
- $!
- $! SPDX-License-Identifier: ISC
- $!
- $!=========================================================================
- $!
- $! Save default
- $ default_dir = f$environment("DEFAULT")
- $!
- $! Put things back on error.
- $ on warning then goto all_exit
- $!
- $!
- $ can_build = 1
- $ producer = f$trnlnm("GNV_PCSI_PRODUCER")
- $ if producer .eqs. ""
- $ then
- $ write sys$output "GNV_PCSI_PRODUCER logical name has not been set."
- $ can_build = 0
- $ endif
- $ producer_full_name = f$trnlnm("GNV_PCSI_PRODUCER_FULL_NAME")
- $ if producer_full_name .eqs. ""
- $ then
- $ write sys$output -
- "GNV_PCSI_PRODUCER_FULL_NAME logical name has not been set."
- $ can_build = 0
- $ endif
- $ stage_root_name = f$trnlnm("STAGE_ROOT")
- $ if stage_root_name .eqs. ""
- $ then
- $ write sys$output "STAGE_ROOT logical name has not been set."
- $ can_build = 0
- $ endif
- $!
- $ if (can_build .eq. 0)
- $ then
- $ write sys$output "Not able to build a kit."
- $ goto all_exit
- $ endif
- $!
- $! Make sure that the kit name is up to date for this build
- $!----------------------------------------------------------
- $ @MAKE_PCSI_CURL_KIT_NAME.COM
- $!
- $!
- $! Make sure that the image is built
- $!----------------------------------
- $ arch_name = f$edit(f$getsyi("arch_name"),"UPCASE")
- $ if f$search("[--.src]curl.exe") .eqs. ""
- $ then
- $ build_it = 1
- $ libfile = "[.packages.vms.''arch_name']curllib.olb"
- $ if f$search(libfile) .nes. ""
- $ then
- $ build_it = 0
- $ else
- $ ! GNV based build
- $ libfile = "[.lib.^.libs]libcurl.a"
- $ if f$search(libfile) .nes. ""
- $ then
- $ build_it = 0;
- $ endif
- $ endif
- $ if build_it .eq. 1
- $ then
- $ @build_vms list
- $ endif
- $ @gnv_link_curl.com
- $ endif
- $!
- $! Make sure that the release note file name is up to date
- $!---------------------------------------------------------
- $ @BUILD_GNV_CURL_RELEASE_NOTES.COM
- $!
- $!
- $! Make sure that the source has been backed up.
- $!----------------------------------------------
- $ arch_type = f$getsyi("ARCH_NAME")
- $ arch_code = f$extract(0, 1, arch_type)
- $ @backup_gnv_curl_src.com
- $!
- $! Regenerate the PCSI description file.
- $!--------------------------------------
- $ @BUILD_GNV_CURL_PCSI_DESC.COM
- $!
- $! Regenerate the PCSI Text file.
- $!---------------------------------
- $ @BUILD_GNV_CURL_PCSI_TEXT.COM
- $!
- $!
- $! Parse the kit name into components.
- $!---------------------------------------
- $ 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$element(0, "-", kit_name)
- $ base = f$element(1, "-", kit_name)
- $ product_name = 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 = ""
- $!
- $ version_fao = "!AS.!AS"
- $ mmversion = f$fao(version_fao, "''majorver'", "''minorver'")
- $ if updatepatch .nes. ""
- $ then
- $ version = "''mmversion'" + "-" + updatepatch
- $ else
- $ version = "''mmversion'"
- $ endif
- $!
- $ @stage_curl_install remove
- $ @stage_curl_install
- $!
- $! Move to the base directories
- $ set def [--]
- $ current_default = f$environment("DEFAULT")
- $ my_dir = f$parse(current_default,,,"DIRECTORY") - "[" - "<" - ">" - "]"
- $!
- $!
- $!
- $ source = "''default_dir'"
- $ src1 = "new_gnu:[usr.bin],"
- $ src2 = "new_gnu:[usr.include.curl],"
- $ src3 = "new_gnu:[usr.lib],"
- $ src4 = "new_gnu:[usr.lib.pkgconfig],"
- $ src5 = "new_gnu:[usr.share.man.man1],"
- $ src6 = "new_gnu:[usr.share.man.man3],"
- $ src7 = "new_gnu:[vms_src],"
- $ src8 = "new_gnu:[common_src],"
- $ src9 = "prj_root:[''my_dir'],prj_root:[''my_dir'.src]"
- $ gnu_src = src1 + src2 + src3 + src4 + src5 + src6 + src7 + src8 + src9
- $!
- $!
- $ base = ""
- $ if arch_name .eqs. "ALPHA" then base = "AXPVMS"
- $ if arch_name .eqs. "IA64" then base = "I64VMS"
- $ if arch_name .eqs. "VAX" then base = "VAXVMS"
- $!
- $ if base .eqs. "" then exit 44
- $!
- $ pcsi_option = "/option=noconfirm"
- $ if arch_code .eqs. "V"
- $ then
- $ pcsi_option = ""
- $ endif
- $!
- $!
- $product package 'product_name' -
- /base='base' -
- /producer='producer' -
- /source='source' -
- /destination=STAGE_ROOT:[KIT] -
- /material=('gnu_src','source') -
- /format=sequential 'pcsi_option'
- $!
- $!
- $! VAX can not do a compressed kit.
- $! ZIP -9 "-V" does a better job, so no reason to normally build a compressed
- $! kit.
- $!----------------------------------
- $if p1 .eqs. "COMPRESSED"
- $then
- $ if arch_code .nes. "V"
- $ then
- $ product copy /options=(novalidate, noconfirm) /format=compressed -
- 'product_name' -
- /source=stage_root:[kit]/dest=stage_root:[kit] -
- /version='version'/base='base'
- $ endif
- $endif
- $!
- $all_exit:
- $ set def 'default_dir'
- $ exit
|