mirror of
				https://github.com/libssh2/libssh2.git
				synced 2025-10-30 12:05:34 +03:00 
			
		
		
		
	
		
			
				
	
	
		
			223 lines
		
	
	
		
			9.1 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			223 lines
		
	
	
		
			9.1 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| $!
 | |
| $ 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 http://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
 | |
| 
 |