diff options
Diffstat (limited to 'vms/vms_zip.rnh')
-rw-r--r-- | vms/vms_zip.rnh | 548 |
1 files changed, 548 insertions, 0 deletions
diff --git a/vms/vms_zip.rnh b/vms/vms_zip.rnh new file mode 100644 index 0000000..c9599b0 --- /dev/null +++ b/vms/vms_zip.rnh @@ -0,0 +1,548 @@ +.! +.! File: ZIP.RNH +.! +.! Author: Hunter Goatley +.! +.! Date: October 22, 1991 +.! +.! Description: +.! +.! RUNOFF source file for portable ZIP on-line help for VMS. +.! Adapted from MANUAL, distributed with ZIP. +.! +.! To build: $ RUNOFF ZIP.RNH +.! $ LIBR/HELP/INSERT libr ZIP +.! +.! Modification history: +.! +.! Hunter Goatley 22-OCT-1991 20:45 +.! Genesis. +.! Jean-loup Gailly 25 March 92 +.! Adaptation to zip 1.6. +.! Igor Mandrichenko 9-JUN-1992 +.! Added explanation of -V option. +.! Jean-loup Gailly 14 June 92 +.! Adaptation to zip 1.8. +.! Jean-loup Gailly 20 Aug 92 +.! Adaptation to zip 1.9. +.! Jean-loup Gailly 31 Aug 93 +.! Adaptation to zip 2.0. +.! Christian Spieler 20 Sep 93 +.! Adaptation to zip 2.0 and OpenVMS completed. +.! Christian Spieler 05 Dec 95 +.! Adaptation to zip 2.1, new options. +.! Christian Spieler 20 Jan 96 +.! Changed -L and -v descriptions. +.! Christian Spieler 11 Feb 96 +.! Added -X option. +.! Onno van der Linden, +.! Christian Spieler 13 Mar 96 +.! Removed -ee option. +.! Christian Spieler 09 Feb 96 +.! Updated copyright notice, Zip version. +.! Christian Spieler 21 Jul 97 +.! Added -P, -R, -i@, -x@ and -tt options, modified for Zip 2.2. +.! Christian Spieler 14 Oct 97 +.! unified spelling of "Info-ZIP", final cleanups for 2.2. +.! +.noflags +.lm4 .rm72 +.indent -4 +1 ZIP +.br +Zip is a compression and file packaging utility for Unix, MSDOS, OS/2, and +VMS. It is analogous to a combination of tar and compress and is +compatible with PKZIP (Phil Katz ZIP) for MSDOS systems. +.sk +There is a companion to Zip called UnZip (of course). Zip and UnZip can +work with files produced by PKZIP under MSDOS, and PKZIP and PKUNZIP can +work with files produced by Zip. +.sk +Zip 2.2 is compatible with PKZIP 2.04. +Note that PKUNZIP 1.10 cannot extract files produced by PKZIP 2.04 +or zip 2.2. You must use PKZIP 2.04g or unzip 5.0p1 (or later versions) +to extract them. +.sk +For a brief help on Zip and Unzip, run each without specifying any +parameters on the command line. +.sk +The program is useful for packaging a set of files for distribution; +for archiving files; and for saving disk space by temporarily compressing +unused files or directories. +.sk +Zip puts one or more compressed files into a single "zip file", along with +information about the files (name, path, date and time of last modification, +protection, and check information to verify file integrity). Zip can pack +an entire directory structure in a zip file with a single command. +Compression ratios of 2:1 to 3:1 are common for text files. Zip has +one compression method (deflation) and can also store files without +compression. It automatically chooses the better of the two for each file +to be compressed. +.sk +Format: +.sk;.lm+1;.literal +ZIP [-options] [-b path] [-n suffixes] [-t mmddyyyy] [-tt mmddyyyy] + zipfile file(s) [-x list] [-i list] +.end literal;.lm-1 +.!------------------------------------------------------------------------------ +.indent -4 +2 Options +.br +The default action of Zip is to add or replace zipfile entries from list, which +can include the special name -@ to read names from SYS$INPUT. The following +list of options was taken from the on-line help generated when Zip is run +without any command-line parameters: +.sk +.literal + -A adjust self-extracting exe + -b use "path" for temp files + -c add one-line comments + -d delete entries in zipfile + -D do not add directory entries + -e encrypt + -f freshen: only changed files + -F fix zipfile (-FF try harder) + -g allow growing existing zipfile (unless updating or deleting) + -h show the zip help screen + -i include only names matching the following patterns + -i@ include only names matching the patterns in "file" + -j junk (don't record) directory names + -J junk (remove) prepended (SFX) stub + -k simulate PKZIP made zipfile + -l translate end-of-lines (LF -> CRLF) + -ll translate end-of-lines (CRLF -> LF) + -L show software license + -m move into zipfile (delete files) + -n don't compress theses suffixes + -o make zipfile as old as latest entry + -P encrypt with supplied "password" string + -q quiet operation + -r recurse into directories from specified path patterns + -R recurse into subdirs from current dir, match filenames only + -t only do files after "mmddyyyy" + -tt only do files before "mmddyyyy" + -T test zip file integrity (calls unzip) + -u update: only changed or new files + -v verbose messages/print version info + -V save VMS file attributes + -w append the VMS version number to name stored in zip file + -x exclude all names matching the following patterns + -x@ exclude all names matching the patterns in "file" + -X suppress storing of any extra file attributes + -z add zipfile comment + -0 store only + -1 compress faster + -9 compress better + -@ read list of input files from SYS$INPUT +.end literal +.!------------------------------------------------------------------------------ +.indent -4 +2 How_To_Use_Zip +.br +The simplest use of Zip is as follows: +.sk;.indent 10;$ zip stuff * +.sk +This will create the file "STUFF.ZIP" (assuming it does not exist) and put +all the files in the current directory in STUFF.ZIP in a compressed form. +The .ZIP suffix is added automatically, unless the zipfile name given +contains a dot already. This allows specifying suffixes other than ".ZIP". +.sk +To zip up an entire directory, the command: +.sk;.indent 10 +$ zip -r foo *.* +.sk +will create the file "FOO.ZIP" containing all the files and directories in +the in the current directory. The "r" option means recurse through the +directory structure. If you wish to recurse through the subdirectory [x.y] +use the following syntax: +.sk;.indent 10 +zip -r foo [x]y.dir +.sk +You may want to make a zip file that contains the files in [.FOO], but not +record the directory name, FOO. You can use the -j (junk path) option to +leave off the path: +.sk;.indent 10 +$ zip -j foo [.foo]*.* +.sk +You might be zipping to save disk space, in which case you could: +.sk;.indent 10 +$ zip -rm foo *.txt +.sk +where the "m" option means "move". This will delete all files matching +*.txt after making FOO.ZIP. No deletions will be done until the zip has +completed with no errors. This option is obviously more dangerous and +should be used with care. +.sk +If the zip file already exists, these commands will replace existing or add +new entries to the zip file. For example, if you were really short on disk +space, you might not have enough room simultaneously to hold the directory +[.FOO] and the compressed FOO.ZIP. In this case, you could do it in steps. +If [.FOO] contained the subdirectories [.TOM], [.DICK], and [.HARRY], then +you could: +.sk; +.indent 10;$ zip -rm foo [.foo.tom] +.indent 10;$ zip -rm foo [.foo.dick] +.indent 10;$ zip -rm foo [.foo.harry] +.sk +where the first command would create FOO.ZIP, and the next two would add to +it. At the completion of each zip command, the files in the directory just +zipped would be deleted, making room in which the next Zip command could +work. +.!------------------------------------------------------------------------------ +.indent -4 +2 Modifying_Existing_Zip_Files +.br +When given the name of an existing zip file with the above commands, Zip +will replace identically named entries in the Zip file or add entries for +new names. For example, if FOO.ZIP exists and contains foo/file1 and +foo/file2, and the directory [.FOO] contains the files foo/file1 and +foo/file3, then: +.sk;.indent 10 +$ zip -r foo [.foo] +.sk +will replace foo/file1 in foo.zip and add foo/file3 to FOO.ZIP. After +this, FOO.ZIP contains foo/file1, foo/file2, and foo/file3, with foo/file2 +unchanged from before. +.sk +When changing an existing zip file, Zip will write a temporary file with +the new contents, and only replace the old one when the zip has completed +with no errors. You can use +the -b option to specify a different path (usually a different dev- ice) to +put the temporary files in. For example: +.sk;.indent 10 +$ zip -b scratch$:[tmp] stuff * +.sk +will put the temporary zip file and the temporary compression files in the +directory "SCRATCH$:[TMP]", copying over STUFF.ZIP in the current directory +when done. +.sk +If you are only adding entries to a zip file, not replacing, and the -g +option is given, then Zip grows (appends to) the file instead of copying +it. The danger of this is that if the operation fails, the original zip +file is corrupted and lost. +.sk +There are two other ways to change or add entries in a zip file that are +restrictions of simple addition or replacement. The first is -u (update) +which will add new entries to the zip file as before but will replace +existing entries only if the modified date of the file is more recent than +the date recorded for that name in the zip file. For example: +.sk;.indent 10 +$ zip -u stuff * +.sk +will add any new files in the current directory, and update any changed +files in the zip file STUFF.ZIP. Note that Zip will not try to pack +STUFF.ZIP into itself when you do this. Zip will always exclude the zip +file from the files on which to be operated. +.sk +The second restriction is -f (freshen) which, like update, will only +replace entries with newer files; unlike update, will not add files that +are not already in the zip file. For this option, you may want to simply +freshen all of the files that are in the specified zip file. To do this +you would simply: +.sk;.indent 10 +$ zip -f foo +.sk +Note that the -f option with no arguments freshens all the entries in the +zip file. The same is true of -u, and hence "zip -u foo" and "zip -f foo" +both do the same thing. +.sk +This command should be run from the same directory from which the original +zip command was run, since paths stored in zip files are always relative. +.sk +Another restriction that can be used with adding, updating, or freshening +is -t (time), which will not operate on files modified earlier than the +specified date. For example: +.sk;.indent 10 +$ zip -rt 12071991 infamy [.FOO]*.* +.sk +will add all the files in [.FOO] and its subdirectories that were last +modified on December 7, 1991, or later to the zip file INFAMY.ZIP. +.sk +Also, files can be explicitly excluded using the -x option: +.sk;.indent 10 +$ zip -r foo [.FOO] -x *.obj +.sk +which will zip up the contents of [.FOO] into FOO.ZIP but exclude all the +files that end in ".OBJ". +.sk +The last operation is -d (delete) which will remove entries from a zip +file. An example might be: +.sk;.indent 10 +$ zip -d foo foo/harry/*.* *.obj +.sk +which will remove all of the files that start with "foo/harry/" and all of +the files that end with ".OBJ" (in any path). +.sk +Under VMS, -d is case sensitive when it matches names in the zip file. +This allows deleting names that were zipped on other systems, but requires +that the names be entered in upper case if they were zipped on an MSDOS +system (by PKZIP or in PKZIP compatibility mode), so that the names can be +found in the zip file and deleted. +.!------------------------------------------------------------------------------ +.indent -4 +2 More_Options +.br +As mentioned before, Zip will use the best of two methods: deflate or store. +The option -0 will force Zip to use store on all files. For example: +.sk;.indent 10 +zip -r0 foo foo.dir +.sk +will zip up the directory foo into foo.zip using only store. +.sk +The speed of deflation can also be controlled with options -1 (fastest +method but less compression) to -9 (best compression but slower). The +default value is -6. For example: +.sk;.indent 10 +zip -r8 foo foo.dir +.sk +In nearly all cases, a file that is already compressed cannot be compressed +further by Zip, or if it can, the effect is minimal. The -n option +prevents Zip from trying to compress files that have the +given suffixes. Such files are simply stored (0% +compression) in the +output zip file, so that Zip doesn't waste its time trying to compress +them. The suffixes are separated by +either colons or semicolons. For example, in DCL: +.sk +.indent 10;$ zip -rn ".Z:.zip:.tiff:.gif:.snd" foo [.FOO]*.* +.sk +will put everything in [.FOO] into FOO.ZIP, but will store any files that end +in .Z, .ZIP, .TIFF, .GIF, or .SND without trying to compress them. (Image and +sound files often have their own specialized compression methods.) +The default suffix list is ".Z:.zip;.zoo:.arc:.lzh:.arj". +The environment variable ZIPOPT can be used to change this default. For +example: +.sk +.indent 10;$ ZIPOPT == "-n .Z:.zip:.tiff:.gif:.snd" +.sk +The variable ZIPOPT can be used for any option (except -i and -x) +and can include several options. +.sk +For VMS Zip, the alternatively environment variable name ZIP_OPTS may +be used, if a more "VMS-like" name is prefered. If both ZIPOPT and +ZIP_OPTS are present (and do not equate to whitespace only), +the content of ZIPOPT takes precedence and ZIP_OPTS is ignored. +.sk +Under Unix, Zip will store the full path (relative to the current path) +and name of the file (or just the name if -j is specified) in the zip +file along with the Unix attributes, and it will mark the entry as made +under Unix. If the zip file is intended for PKUNZIP under MSDOS, then +the -k (Katz) option should be used to attempt to convert the names and +paths to conform to MSDOS, store only the MSDOS attribute (just the +user write attribute from Unix), and mark the entry as made under MSDOS +(even though it wasn't). +.sk +The -o (older) option will set the "last modified" time of the zip file to +the latest "last modified" time of the entries in the zip file. This can +be used without any other operations, if desired. For example: +.sk;.indent 10 +$ zip -o foo +.sk +will change the last modified time of FOO.ZIP to the latest time of the +entries in FOO.ZIP. +.sk +The -e and -c options operate on all files updated or added to the zip +file. Encryption (-e) will prompt for a password on the terminal and will +not echo the password as it is typed (if SYS$COMMAND is not a TTY, Zip will +exit with an error). New zip entries will be encrypted using that password. +For added peace of mind, Zip will prompt for the password a second time, +checking that the two inputs are the same before using it. +.sk +One-line comments can be added for each file with the -c option. The zip +file operations (adding or updating) will be done first, and you will then +be prompted for a one-line comment for each file. You can then enter the +comment followed by return, or just return for no comment. +.sk +The -z option will prompt you for a multi-line comment for the entire zip +file. This option can be used by itself, or in combination with other +options. The comment is ended by a line containing just a period, or an +end of file condition (^D on Unix, ^Z on MSDOS, OS/2, and OpenVMS). +.sk +The -q (quiet) option eliminates the informational messages and comment +prompts while Zip is operating. This might be used in shell scripts, for +example, or if the zip operation is being performed as a background task +("$ spawn/nowait zip -q foo *.c"). +.sk +Zip can take a list of file names to operate on from SYS$INPUT using the +"-@" +option. +.! In Unix, this option can be used with the find command to extend +.!greatly the functionality of Zip. For example, to zip up all the C source +.!files in the current directory and its subdirectories, you can: +.!.sk +.!find . -type f -name "*.[ch]" -print | zip source -@ +.!.sk +.!Note that the pattern must be quoted to keep the shell from expanding it. +.sk +The -X option (remember to quote it!) suppresses saving of additional +"extra file attributes" in the zipfile. Its effect is to disable the +VMS only -V option (see below), and prevent storing of UNIX compatible +GMT modification time stamps. These UNIX compatible GMT time stamps +-- which are quite useful when transporting Zip archives world wide (but +are only recognized by Info-ZIP's UnZip 5.20 or later) -- +are included in the zipfile unless -X or -V is specified (in case your +version of Zip has the USE_EF_UT_TIME option compiled in). +.sk +Under VMS only, the -w option will append the version number of the files +to the name and zip up multiple versions of files. Without -w, Zip will +only use the most recent version of the specified file(s). +.sk +One more option that valid only under VMS is -V option. This option saves +all (hopefully) file attributes needed to make EXACT copy of the +file after extraction from archive. To extract a file with saved attributes, +use UnZip version 5.20 or later. Note that to specify this option you should +quote it ("-V"). Be carefull: it's rather hard (if possible at all) to extract +a file archived on VMS with this option specified on other systems. See +documentation on UnZip for further information. +.sk +The -l option translates the Unix end-of-line character LF into the +MSDOS convention CR LF. This option should not be used on binary files. +This option can be used on Unix or VMS if the zip file is intended for +PKUNZIP under MSDOS. +.sk +If Zip is run with the -h option, or with no arguments and standard output is +a terminal, the license and the command-argument and option help is shown. +.sk +The -L option shows the Zip license. +.sk +The -v option, when given as the only command line argument, directs Zip to +display diagnostic information that shows when and how the executable was +built and set up. This includes info on used compiler and compiler version +(if available) as well as any optional compile time feature flags. +Additionally, the content of the environment variables +(logical names) read by Zip for runtime configuration are shown. This +information is especially valuable when reporting problems or bugs. +.!------------------------------------------------------------------------------ +.indent -4 +2 Diagnostics +.br + On VMS, Zip's UNIX style exit values are mapped into proper + VMS status codes: +.literal + 1 (success) normal exit, + (0x7fff0000 + 16*Zip_error_level) warnings + (0x7fff0002 + 16*Zip_error_level) normal errors + (0x7fff0004 + 16*Zip_error_level) fatal errors +.end literal + + The Zip error level (or exit code) approximates the exit + codes defined by PKWARE and takes on the following values: +.literal + + VMS Zip Type of error + severity errcode + - 0 normal; no errors or warnings detected. + F 2 unexpected end of zip file. + E 3 a generic error in the zipfile format was + detected. Processing may have completed + successfully anyway; some broken zipfiles + created by other archivers have simple work- + arounds. + F 4 zip was unable to allocate memory for one or + more buffers during program initialization. + F 5 a severe error in the zipfile format was + detected. Processing probably failed imme- + diately. + E 6 entry too large to be split with zipsplit + E 7 invalid comment format + F 8 zip -T failed or out of memory + E 9 the user aborted zip prematurely with con- + trol-C (or similar) + F 10 zip encountered an error while using a temp + file + F 11 read or seek error + W 12 zip has nothing to do + E 13 missing or empty zip file + F 14 error writing to a file + F 15 zip was unable to create a file to write to + E 16 bad command line parameters + E 18 zip could not open a specified file to read +.end literal +.!------------------------------------------------------------------------------ +.indent -4 +2 Copyright +.br + Copyright (C) 1990-1997 Mark Adler, Richard B. Wales, Jean-loup Gailly, + Onno van der Linden, Christian Spieler and Igor Mandrichenko. + Permission is granted to any individual or institution to use, copy, or + redistribute this software so long as all of the original files are + included, that it is not sold for profit, and that this copyright + notice is retained. +.sk + LIKE ANYTHING ELSE THAT'S FREE, ZIP AND ITS ASSOCIATED UTILITIES + ARE PROVIDED AS IS AND COME WITH NO WARRANTY OF ANY KIND, EITHER + EXPRESSED OR IMPLIED. IN NO EVENT WILL THE COPYRIGHT HOLDERS BE + LIABLE FOR ANY DAMAGES RESULTING FROM THE USE OF THIS SOFTWARE. +.sk + Please send bug reports or comments by email to: + Zip-Bugs@lists.wku.edu. For bug reports, please include + the version of Zip (see zip -h), the make options you used to + compile it (see zip -v), the machine and operating system you are using, + and as much additional information as possible. + Thank you for your support. +.!------------------------------------------------------------------------------ +.indent -4 +2 Acknowledgements +.br + Thanks to R. P. Byrne for his Shrink.Pas program, which + inspired this project, and from which the shrink algorithm + was stolen; to Phil Katz for placing in the public domain + the zip file format, compression format, and .ZIP filename + extension, and for accepting minor changes to the file for- + mat; to Steve Burg for clarifications on the deflate format; + to Keith Petersen, Rich Wales, Hunter Goatley and Mark Adler + for providing a mailing list and ftp site for the Info-ZIP + group to use; and most importantly, to the Info-ZIP group + itself (listed in the file infozip.who) without whose tire- + less testing and bug-fixing efforts a portable zip would not + have been possible. Finally we should thank (blame) the + first Info-ZIP moderator, David Kirschbaum, for getting us + into this mess in the first place. +.!------------------------------------------------------------------------------ +.indent -4 +2 Bugs +.sk + Zip 2.2 is not compatible with PKUNZIP 1.10. Use Zip 1.1 instead + to produce zip archives which can be extracted by PKUNZIP 1.10. +.sk + WARNING: zip files produced by this version of zip must not be + *updated* by zip 1.0 or PKZIP 1.10 or PKZIP 1.93a, if they contain + encrypted members, or if they have been produced in a pipe or on a non + seekable device. The old versions of zip or pkzip would destroy the + zip structure. The old versions can list the contents of the zip file + but cannot extract it anyway (because of the new compression algorithm). + If you do not use encryption and use regular disk files, you do + not have to care about this problem. +.sk + Under VMS, not all of the odd file formats are treated properly. + Only zip files of format stream-LF and fixed length 512 byte are + expected to work with Zip. Others can be converted using Rahul + Dhesi's BILF program. This version of Zip handles some of the + conversion internally. The use of the "-V" option to save the + VMS attributes should work without problem for at least all types + of sequential files. Beginning with Zip 2.2, the "-V" option uses + a new format to store the VMS attributes that should now allow + proper restoration of all sorts of indexed files. It has been + approved that there are problems with VMS UnZip to restore some + indexed files which were saved with previous versions of Zip. +.sk + When using Kermit to transfer zip files from VMS to MSDOS, type "set + file type block" on the VMS side. When transfering from MSDOS to VMS, + type "set file type fixed" on the VMS machine. In both cases, type + "set file type binary" on MSDOS. +.sk + Under VMS, zip hangs for file specification that uses DECnet + syntax (foo::*.*). +.sk + LIKE ANYTHING ELSE THAT'S FREE, ZIP AND ITS ASSOCIATED UTILITIES + ARE PROVIDED AS IS AND COME WITH NO WARRANTY OF ANY KIND, EITHER + EXPRESSED OR IMPLIED. IN NO EVENT WILL THE COPYRIGHT HOLDERS BE + LIABLE FOR ANY DAMAGES RESULTING FROM THE USE OF THIS SOFTWARE. +.sk + That having been said, please send any problems or comments + via email to the Internet address Zip-Bugs@lists.wku.edu. For + bug reports, please include the version of Zip, the make + options you used to compile it, the machine and operating + system you are using, and as much additional information as + possible. Thank you for your support. +.!------------------------------------------------------------------------------ |