|
- $!
- $ olddir = f$environment("default")
- $ on error then goto End
- $!
- $ gosub Init
- $!
- $ call WriteProductDescriptionFile
- $ call WriteProductTextFile
- $!
- $! backup tree
- $!
- $ backup [-...]*.*;0/excl=([]*.exe,*.obj,*.opt,*.hlp,*.hlb,*.bck,*.com,*.pcsi*) -
- libssh2-'versionname''datename'_src.bck/save
- $ purge libssh2-'versionname''datename'_src.bck
- $!
- $! backup examples
- $!
- $ backup [-.example]*.c;0 libssh2_examples-'versionname''datename'.bck/save
- $ dire libssh2_examples-'versionname''datename'.bck
- $ purge libssh2_examples-'versionname''datename'.bck
- $!
- $ set default [-]
- $!
- $ defdir = f$environment( "default" )
- $ thisdev = f$parse(defdir,,,"device","no_conceal")
- $ thisdir = f$parse(defdir,,,"directory","no_conceal") - "][" - "][" - "][" - "]["
- $!
- $ libssh2_kf = thisdev + thisdir
- $ libssh2_kf = libssh2_kf - "]" + ".]"
- $!
- $ set default 'mdir'
- $!
- $ define/translation_attributes=concealed libssh2_kf 'libssh2_kf'
- $!
- $ product package libssh2 -
- /base='arch' -
- /producer=jcb -
- /source=[] - ! where to find PDF and PTF
- /destination=[] - ! where to put .PCSI file
- /material=libssh2_kf:[000000...] - ! where to find product material
- /version="''vms_majorv'.''minorv'-''patchv'''datename'" -
- /format=sequential
- $!
- $End:
- $!
- $ set noon
- $ if f$search("*.pcsi$desc;*") .nes. "" then delete *.pcsi$desc;*
- $ if f$search("*.pcsi$text;*") .nes. "" then delete *.pcsi$text;*
- $ if f$search("libssh2-''versionname'''datename'_src.bck;*") .nes. "" then delete libssh2-'versionname''datename'_src.bck;*
- $ if f$search("libssh2_examples-''versionname'''datename'.bck;*") .nes. "" then delete libssh2_examples-'versionname''datename'.bck;*
- $!
- $ if f$trnlnm("libssh2_kf") .nes. "" then deassign libssh2_kf
- $ set default 'olddir'
- $!
- $exit
- $!
- $!--------------------------------------------------------------------------------
- $!
- $Init:
- $ set process/parse=extended
- $!
- $ say = "write sys$output"
- $!
- $ mdir = f$environment("procedure")
- $ mdir = mdir - f$parse(mdir,,,"name") - f$parse(mdir,,,"type") - f$parse(mdir,,,"version")
- $!
- $ set default 'mdir'
- $!
- $ pipe search [-.include]*.h libssh2_version_major/nohead | (read sys$input l ; l = f$element(2," ",f$edit(l,"trim,compress")) ; -
- define/job majorv &l )
- $ pipe search [-.include]*.h libssh2_version_minor/nohead | (read sys$input l ; l = f$element(2," ",f$edit(l,"trim,compress")) ; -
- define/job minorv &l )
- $ pipe search [-.include]*.h libssh2_version_patch/nohead | (read sys$input l ; l = f$element(2," ",f$edit(l,"trim,compress")) ; -
- define/job patchv &l )
- $!
- $ majorv = f$trnlnm("majorv")
- $ minorv = f$integer(f$trnlnm("minorv"))
- $ patchv = f$integer( f$trnlnm("patchv"))
- $!
- $ deassign/job majorv
- $ deassign/job minorv
- $ deassign/job patchv
- $!
- $ vms_majorv = f$trnlnm("vms_majorv")
- $ if vms_majorv .eqs. "" then vms_majorv = majorv
- $!
- $ arch = "UNKNOWN"
- $ if f$getsyi("arch_type") .eq. 2 then arch = "AXPVMS"
- $ if f$getsyi("arch_type") .eq. 3 then arch = "I64VMS"
- $!
- $ if arch .eqs. "UNKNOWN"
- $ then
- $ say "Unsupported or unknown architecture, only works on Alpha and Itanium"
- $ exit 2
- $ endif
- $!
- $! is this a proper release or a daily snapshot?
- $! crummy, but should work.
- $!
- $ daily = "TRUE"
- $ firstdash = f$locate("-",mdir)
- $ restdir = f$extract( firstdash + 1, 80, mdir)
- $ seconddash = f$locate("-", restdir)
- $ if seconddash .ge. f$length( restdir )
- $ then
- $ daily = "FALSE"
- $ datename = "Final"
- $ else
- $ datename = "D" + f$extract(seconddash+1,8,restdir)
- $ endif
- $!
- $ if daily
- $ then
- $ productname = "JCB ''arch' LIBSSH2 V''vms_majorv'.''minorv'-''patchv'''datename'"
- $ else
- $ productname = "JCB ''arch' LIBSSH2 V''vms_majorv'.''minorv'-''patchv'''datename'"
- $ endif
- $!
- $ productfilename = "JCB-''arch'-LIBSSH2-" + f$fao("V!2ZL!2ZL-!2ZL!AS-1", f$integer(vms_majorv),minorv,patchv,datename)
- $!
- $ versionname = "''vms_majorv'_''minorv'_''patchv'"
- $!
- $return
- $!
- $!--------------------------------------------------------------------------------
- $!
- $WriteProductDescriptionFile: subroutine
- $!
- $ open/write pd 'productfilename'.PCSI$DESC
- $!
- $ write pd "product ''productname' full ;"
- $ write pd " software DEC ''arch' VMS ;"
- $ write pd " if (not <software DEC ''arch' VMS version minimum V8.3>) ;
- $ write pd " error NEED_VMS83 ;"
- $ write pd " end if ;"
- $ write pd " software HP ''arch' SSL version minimum V1.3;"
- $ write pd " if (not <software HP ''arch' SSL version minimum V1.3>) ;
- $ write pd " error NEED_SSL ;"
- $ write pd " end if ;"
- $ write pd " execute preconfigure (""set process/parse_type=extended"");"
- $ write pd " execute postinstall (""set process/parse_type=extended"","
- $ write pd " ""rename pcsi$destination:[gnv]usr.dir usr.DIR"","
- $ write pd " ""rename pcsi$destination:[gnv.usr]include.dir include.DIR"","
- $ write pd " ""rename pcsi$destination:[gnv.usr.include]libssh2.dir libssh2.DIR"","
- $ write pd " ""rename pcsi$destination:[gnv.usr.include.libssh2]libssh2.h libssh2.h"","
- $ write pd " ""rename pcsi$destination:[gnv.usr.include.libssh2]libssh2_publickey.h libssh2_publickey.h"","
- $ write pd " ""rename pcsi$destination:[gnv.usr.include.libssh2]libssh2_sftp.h libssh2_sftp.h"","
- $ write pd " ""rename pcsi$destination:[gnv.usr.include.libssh2]libssh2_config.h libssh2_config.h"","
- $ write pd " ""rename pcsi$destination:[gnv.usr]lib.dir lib.DIR"","
- $ write pd " ""rename pcsi$destination:[gnv.usr.lib]gnv$libssh2_''versionname'.exe gnv$libssh2_''versionname'.exe"","
- $ write pd " ""rename pcsi$destination:[gnv.usr.share.doc.libssh2]libssh2.hlb libssh2.hlb"");"
- $ write pd " information RELEASE_NOTES phase after ;"
- $ write pd " option EXAMPLE default 0 ;"
- $ write pd " directory ""[gnv.usr.share.doc.libssh2.examples]"" ;"
- $ write pd " file ""[gnv.usr.share.doc.libssh2.examples]libssh2_examples-''versionname'''datename'.bck"";"
- $ write pd " end option ;"
- $ write pd " option SOURCE default 0 ;"
- $ write pd " directory ""[gnv.common_src]"" ;"
- $ write pd " file ""[gnv.common_src]libssh2-''versionname'''datename'_src.bck"";"
- $ write pd " end option ;"
- $ write pd " directory ""[gnv]"" ;"
- $ write pd " directory ""[gnv.usr]"" ;"
- $ write pd " directory ""[gnv.usr.lib]"" ;"
- $ write pd " directory ""[gnv.usr.include]"" ;"
- $ write pd " directory ""[gnv.usr.include.libssh2]"" ;"
- $ write pd " directory ""[gnv.usr.share]"" ;"
- $ write pd " directory ""[gnv.usr.share.doc]"" ;"
- $ write pd " directory ""[gnv.usr.share.doc.libssh2]"" ;"
- $ write pd " file ""[gnv.usr.include.libssh2]libssh2.h"" source ""[include]libssh2.h"";"
- $ write pd " file ""[gnv.usr.include.libssh2]libssh2_publickey.h"" source ""[include]libssh2_publickey.h"";"
- $ write pd " file ""[gnv.usr.include.libssh2]libssh2_sftp.h"" source ""[include]libssh2_sftp.h"";"
- $ write pd " file ""[gnv.usr.include.libssh2]libssh2_config.h"" source ""[vms]libssh2_config.h"";"
- $ write pd " file ""[gnv.usr.share.doc.libssh2]libssh2.hlb"" source ""[vms]libssh2.hlb"";"
- $ write pd " file ""[gnv.usr.share.doc.libssh2]libssh2-''versionname'.news"" source ""[000000]NEWS."";"
- $ write pd " file ""[gnv.usr.share.doc.libssh2]libssh2-''versionname'.release_notes"" source ""[vms]readme.vms"";"
- $ write pd " file ""[gnv.usr.lib]gnv$libssh2_''versionname'.exe"" source ""[vms]libssh2_''versionname'.exe"";"
- $ write pd "end product ;"
- $ close pd
- $exit
- $endsubroutine
- $!
- $!--------------------------------------------------------------------------------
- $!
- $WriteProductTextFile: subroutine
- $!
- $ open/write pt 'productfilename'.PCSI$TEXT
- $ write pt "=PRODUCT ''productname' Full"
- $ write pt "1 'PRODUCER"
- $ write pt "=prompt libssh2 is an open source product ported to VMS by Jose Baars"
- $ write pt "This software product is provided with no warranty."
- $ write pt "For license information see the LIBSSH2 help library."
- $ write pt "1 'PRODUCT"
- $ write pt "=prompt JCB LIBSSH2 for OpenVMS"
- $ write pt ""
- $ write pt "libssh2 is an open source client side library that aims to implement"
- $ write pt "the SSH protocol. This is the OpenVMS port of that library."
- $ write pt "Further information at https://www.libssh2.org."
- $ write pt ""
- $ write pt "1 NEED_VMS83"
- $ write pt "=prompt OpenVMS 8.3 or later is not installed on your system."
- $ write pt "This product requires OpenVMS 8.3 or later to function."
- $ write pt ""
- $ write pt "1 NEED_SSL"
- $ write pt "=prompt HP SSL 1.3 or later is not installed on your system."
- $ write pt "This product requires HP SSL 1.3 or later to function."
- $ write pt ""
- $ write pt "1 RELEASE_NOTES"
- $ write pt "=prompt Release notes and the libssh2 help library are available in [gnv.usr.share.doc.libssh2] directory."
- $ write pt ""
- $ write pt "1 EXAMPLE"
- $ write pt "=prompt Do you want the libssh2 C programming examples ? "
- $ write pt "The libssh2 coding examples will be available in backup saveset "
- $ write pt "[gnv.usr.share.doc.libssh2.examples]libssh2_examples_''versionname'.bck"
- $ write pt ""
- $ write pt "1 SOURCE"
- $ write pt "=prompt Do you want the complete libssh2 source tree ? "
- $ write pt "The libssh2 source tree will be available in backup saveset "
- $ write pt "[gnv.common_src]libssh2_''versionname'''datename'_src.bck"
- $close pt
- $exit
- $ endsubroutine
|