unzip/vms/unzip_def.rnh

297 lines
13 KiB
Plaintext

.!
.! File: UNZIP_DEF.RNH
.!
.! Author: Hunter Goatley
.!
.! Date: October 23, 1991
.!
.! Description:
.!
.! RUNOFF source file for VMS on-line help for portable UnZip.
.! Adapted from UNZIP.MAN (now UNZIP.TXT).
.!
.! To build: $ REN UNZIP_DEF.RNH UNZIP.RNH
.! $ RUNOFF UNZIP.RNH
.! $ LIBR/HELP/INSERT libr UNZIP
.!
.! Modification history:
.!
.! 01-001 Hunter Goatley 23-OCT-1991 09:21
.! Genesis.
.! 01-002 Cave Newt 16-MAR-1992 22:37
.! Updated for UnZip 4.2.
.! 01-003 Igor Mandrichenko 23-MAY-1992 22:14
.! Added -X option to command syntax.
.! 01-004 Cave Newt 24-MAY-1992 13:30
.! Added UNZIP_OPTS environment variable help.
.! 01-005 Igor Mandrichenko 14-DEC-1993 18:55
.! Modified for UnZip V5.1
.! 01-006 Cave Newt 21-DEC-1993 12:38
.! Added -x option and cleaned up.
.! 01-007 Cave Newt 14-JUL-1994 09:45
.! Added -Z, -C and -L options, removed -U, minor clean-up.
.! 01-008 Cave Newt 28-JUL-1994 08:57
.! Removed semi-colons from comments.
.! 02-001 Christian Spieler 09-DEC-1995 02:25
.! Modified for UnZip 5.2.
.! 02-002 Christian Spieler 06-FEB-1996 02:25
.! Added -h "help" option.
.! 02-003 Christian Spieler 04-MAR-1997 20:25
.! Added -P "command line password" option.
.! 02-004 Christian Spieler 26-JUL-1997 00:05
.! Added Exit_Codes subtopic, explaining UnZip's VMS return codes.
.! 02-005 Christian Spieler 28-APR-2000 03:22
.! Changed references to plaintext UnZip documentation file
.! into "UNZIP.TXT".
.! 02-006 Christian Spieler 15-APR-2001 22:29
.! Added description for extended functionality of -b option.
.! 02-007 Christian Spieler 10-DEC-2001 13:58
.! Added description for new -: traverse dirs option.
.! 02-008 Christian Spieler 29-JAN-2005 01:50
.! Added description for the -T "set archive timestamp" option.
.! 02-009 Christian Spieler 04-MAR-2007 14:37
.! Added description for the -S "Stream-LF text files" option;
.! updated the documentation of the VMS exit codes.
.! 02-010 S. Schweda, C. Spieler 28-Dec-2007 21:28
.! Added description for the -D "timestamp restoration" option.
.!
.noflags
.lm4 .rm72
.indent -4
1 UNZIP
.br
UnZip is used to extract files compressed and packaged by Zip (see HELP ZIP
for information on ZIP).
.sk
For a brief help on Zip and Unzip, run each without specifying any
parameters on the command line, or specify the -h flag (but not in UnZip's
Zipinfo mode).
.sk
UNZIP will list, test, or extract from a ZIP archive. ZIP archives are commonly
found on MS-DOS systems; a VMS version of ZIP can also be found here.
.sk
Archive member extraction is implied by the absence of the -c, -p, -t, -l, -v or
-z options. All archive members are processed unless a filespec is provided to
specify a subset of the archive members.
Format:
.sk;.lm+1;.literal
UNZIP [-cfhlptTuvxz[ajnoqCDLMSVXY:2]] file[.zip] [list] [-x xlist] [-d out_dir]
.end literal;.lm-1
.!------------------------------------------------------------------------------
.indent -4
2 Parameters
.sk;.indent -4
file[.zip]
.sk
File specification for the ZIP archive(s) with optional wildcards. UnZip will
perform actions specified for every zipfile matching the specification.
Default file specification is SYS$DISK:[].ZIP.
Note that self-extracting ZIP files are supported; just specify the .EXE
suffix yourself.
.sk;.indent -4
[list]
.sk
An optional list of archive members to be processed; if no list is given, all
archive members are processed. Expressions may be
used to match multiple members. Expressions should be enclosed in double-quotes
to prevent interpretation by DCL. Multiple filenames should be separated by
blanks. Each file specification is similar to a Unix egrep expression and may
contain:
.sk
.literal
* matches a sequence of 0 or more characters
? matches exactly 1 character
[...] matches any single character found inside the brackets;
ranges are specified by a beginning character, a hyphen,
and an ending character. If a '!' or '^' immediately
follows the left bracket, then any character not in the
given range is matched.
Hint: To specify a verbatim left bracket '[', the
three-character sequence "[[]" has to be used.
.end literal
.sk
.sk;.indent -4
[-x xlist]
.sk
An optional list of archive members to be excluded from processing. The xlist
overrides any files included in the normal list.
.sk;.indent -4
[-d out_dir]
.sk
Optional directory specification to be used as target root directory
for files to be extracted. Directory should be specified in "[.foo]"
format rather than "foo.dir" or "foo/" format.
.!------------------------------------------------------------------------------
.indent -4
2 Options
.br
The default action of UnZip is to extract all zipfile entries. The following
options and modifiers can be provided:
.sk;.literal
-Z ZipInfo mode
-c extract files to SYS$OUTPUT (terminal)
-f freshen existing files (replace if newer); create none
-h show brief help screen and exit quietly
-l list archive files (short format)
-p extract files to SYS$OUTPUT; no informational messages
-t test archive files
-T set zipfile timestamps to that of each archive's newest entry
-u update existing files; create new ones if needed
-v list archive files (verbose format)
-z display only the archive comment
.end literal;.sk;.literal
MODIFIERS
-a extract text files in standard VMS text file format
-aa extract all files as text
-b auto-extract only binary files in fixed 512-byte record format
-bb extract all files as binary in fixed 512-byte record format
-j junk paths (don't recreate archive's directory structure)
-n never overwrite or make a new version of an existing file
-o always make a new version (-oo: overwrite orig) existing file
-q perform operations quietly (-qq => even quieter)
-C match filenames case-insensitively
-D do not restore any timestamps (--D restore them even for dirs)
-L convert filenames to lowercase if created under DOS, VMS, etc.
-M feed screen output through built-in "more" pager
-P<password> supply decryption password on the cmd line (insecure!)
-S use Stream_LF record format to extract text files (with -a[a])
-V retain (VMS) file version numbers
-X restore owner/ACL protection info (may require privileges)
-Y treat ".nnn" suffix as version number ("a.b.3" -> "a.b;3")
-: allow "../" path components to traverse across top extract dir
-2 force creation of ODS2-compatible file names
.end literal;.sk
Note that uppercase options (-C, -D, -L, -M, -P, -S, -T, -V, -X, -Y, and
-Z) must be specified in quotes (unless SET PROC/PARSE=EXTEND is set).
For example:
.sk;.literal
unzip "-VX" -a zipfile
.end literal;.sk
When extracting to SYS$OUTPUT (-c or -p options) redirected to a file,
you may want to override the default text file conversion by specifying
the -b option. A single "-b" option switches to "binary piping" mode
for Zip entries marked as non-text, only. To force "binary piping" mode
even for Zip file entries marked as text, the "-bb" option should be used.
(Please note that a later "-a" cancels any -b option, see below.)
.sk
The output conversion options -b and -a may be combined to perform
binary conversions on binary files and text conversion on text files.
But note: For compatibility with implementation on other systems, -b cancels
any -a option; to get the intended result, -a must be specified AFTER -b.
And, in combination, "text" recognition takes precedence; this means
that -bba (-bb -a) has the same effect as -ba (-b -a), and -aa overrides
binary conversion for ALL files.
.sk
The conversion option -S is only effective when used together with
-a or -aa. When specified, "text" files are written in Stream-LF record
format instead of the VMS default of Variable-Length record format.
(When no conversion options are specified, all non-VMS entries are always
written as Stream-LF files.)
.sk
Please note that using the "-P<password>" option is higly insecure, the
plaintext password may be seen by others. For this reason (and because of
lack of space), the "-P<password>" option is not advertised on UnZip's
online help screen.
.!------------------------------------------------------------------------------
.indent -4
2 Exit_Status
.br
On VMS, UnZip's UNIX-style exit values are mapped into VMS-style status
codes with facility code 1954 = %x7A2, and with the inhibit-message
(%x10000000) and facility-specific (%x00008000) bits set:
.sk
.literal
%x17A28001 normal exit
%x17A28000 + 16*UnZip_error_code warnings
%x17A28002 + 16*UnZip_error_code normal errors
%x17A28004 + 16*UnZip_error_code fatal errors
.end literal
.sk
Note that multiplying the UNIX-style UnZip error code by 16 places it
conveniently in the hexadecimal representation of the VMS exit code,
"__" in %x17A28__s, where "s" is the severity code. For example, a
missing archive might cause UnZip error code 9, which would be
transformed into the VMS exit status %X17A28092.
.sk
The UnZip VMS exit codes include severity values which approximate those
defined by PKWARE, as shown in the following table:
.literal
VMS UnZip err
severity code Error description
----------+---------+----------------------------------------------
Success 0 Normal. No errors or warnings detected.
Warning 1 One or more warnings were encountered, but
processing completed successfully anyway.
This includes archives where one or more
(but not all) files were skipped because of
unsupported compress or encrypt methods, or
bad passwords.
Error 2 Error in the archive format. Processing may
have completed successfully anyway. Some
defects in archives (made by other programs)
can be repaired transparently.
Fatal 3 Severe error in the archive format. Process-
ing probably failed immediately.
Fatal 4 Memory allocation failed in program initial-
ization.
Fatal 5 Memory allocation failed in password pro-
cessing.
Fatal 6 Memory allocation failed while decompressing
to disk.
Fatal 7 Memory allocation failed while decompressing
in memory.
Fatal 8 Memory allocation failed (reserved for
future use).
Error 9 Specified archive files were not found.
Error 10 Invalid command-line options or parameters.
Error 11 No files matched selection criteria.
Fatal 50 Disk full.
Fatal 51 Unexpected end-of-file while reading the
archive.
Error 80 User interrupt (Ctrl/C).
Error 81 No files were processed, because of unsup-
ported compress or encrypt methods.
Error 82 No files were processed, because of bad
password(s).
Fatal 83 Large-file archive could not be processed by
this small-file program.
.end literal
.!------------------------------------------------------------------------------
.indent -4
2 Logical_Names
.br
UnZip allows to modify its default behaviour by specifying option defaults
via the UNZIP_OPTS logical name.
For example, the following will cause UnZip to restore owner/protection
information and perform all operations at quiet-level 1 by default:
.sk;.literal
define UNZIP_OPTS "-qX"
.end literal;.sk
Note that the quotation marks here are required to preserve lowercase options
(opposite of the command-line behavior).
To negate a default option on the command line, add one or more minus
signs before the option letter, in addition to the leading switch character
`-':
.sk;.literal
unzip --ql zipfile
.end literal
or
.literal
unzip -l-q zipfile
.end literal;.sk
At present it is not possible to decrement an option below zero--that is,
more than a few minuses have no effect.
.sk
UNZIP_OPTS may be defined as a symbol rather than a logical name, but if
both are defined, the logical name takes precedence.
.!-----------------------------------------------------------------------------
.indent -4
2 Authors
.br
Info-ZIP; currently maintained by Christian Spieler. VMS support maintained
by Christian Spieler and Hunter Goatley. Originally based on a program
by Samuel H. Smith.
.sk
VMS on-line help ported from UNZIP.TXT by Hunter Goatley.