99 lines
5.1 KiB
Plaintext
99 lines
5.1 KiB
Plaintext
|
VMS README for UnZip 5.3 and later, 25 February 1997
|
||
|
----------------------------------------------------
|
||
|
|
||
|
Notes about using UnZip and zipfiles under VMS (see INSTALL for instructions
|
||
|
on compiling):
|
||
|
|
||
|
- Install UnZip as foreign symbol by adding this to login.com:
|
||
|
$ unzip == "$disk:[dir]unzip.exe"
|
||
|
$ zipinfo == "$disk:[dir]unzip.exe ""-Z"""
|
||
|
where "disk" and "dir" are location of UnZip executable; the "$" before
|
||
|
the disk name is important. Some people, including the author, prefer
|
||
|
a short alias such as "ii" instead of "zipinfo"; edit to taste. (All of
|
||
|
the quotes around the -Z are necessary, but don't ask us to explain it...)
|
||
|
|
||
|
- Optionally install UnZipSFX for use with the MAKESFX.COM command file:
|
||
|
$ unzipsfx :== disk:[dir]unzipsfx.exe
|
||
|
Thereafter an archive "foo.zip" may be converted to "foo.exe" simply by
|
||
|
typing "@makesfx foo" (assuming MAKESFX.COM is in the current directory).
|
||
|
Note that there is *no* leading "$" in this case.
|
||
|
|
||
|
- After proper installation, the default version of UnZip is invoked just
|
||
|
as in Unix or MS-DOS: "unzip -opts archive files". The hyphen ('-') is
|
||
|
the switch character, not the slash ('/') as in native VMS commands. An
|
||
|
alternative is available if VMSCLI is defined during compilation; this
|
||
|
version does provide a native VMS-style command interface (e.g., /ZIPINFO
|
||
|
instead of -Z). Both versions accept the command "unzip -v", which can
|
||
|
be used to check whether VMSCLI was defined or not; but an even simpler
|
||
|
method is to type "unzip" and look at the help screen. Note that options
|
||
|
placed in an environment variable (UNZIP_OPTS) must be of the short, hy-
|
||
|
phenated form regardless of how UnZip was compiled.
|
||
|
|
||
|
- The VMS C runtime library translates all command-line text to lowercase
|
||
|
unless it is quoted, making some options and/or filenames not work as
|
||
|
intended. For example:
|
||
|
unzip -V zipfile vms/README;*
|
||
|
is translated to
|
||
|
unzip -v zipfile vms/readme;*
|
||
|
which may not match the contents of the zipfile and definitely won't
|
||
|
extract the file with its version number as intended. This can be
|
||
|
avoided by use of the -C option (/CASE_INSENSITIVE) or by enclosing
|
||
|
the uppercase stuff in quotes:
|
||
|
unzip "-V" zipfile "vms/README;*"
|
||
|
Note that quoting the whole line probably won't work, since it would
|
||
|
be interpreted as a single argument by the C library.
|
||
|
|
||
|
- Wildcards that refer to files internal to the archive behave like Unix
|
||
|
wildcards, not VMS ones (assuming UnZip was not compiled with VMSWILD
|
||
|
defined). This is both a matter of consistency (see above) and power--
|
||
|
full Unix regular expressions are supported, so that one can specify
|
||
|
"all .c and .h files that start with a, b, c or d and do not have a 2
|
||
|
before the dot" as "[a-d]*[^2].[ch]". Of course, "*.[ch]" is a much more
|
||
|
common wildcard specification, but the power is there if you need it.
|
||
|
Note that "*" matches zipfile directory separators ('/'), too. If UnZip
|
||
|
*was* compiled with VMSWILD defined (do "unzip -v" to check), the single-
|
||
|
character wildcard is "%" rather than "?", and character sets (ranges)
|
||
|
are delimited with () instead of [] (for example, "*.(ch)").
|
||
|
|
||
|
- Wildcards that refer to zipfiles (i.e., external VMS files) behave like
|
||
|
normal VMS wildcards regardless of whether VMSWILD was defined or not.
|
||
|
Ranges are not supported. Thus "unzip *font-%.zip" is about as much as
|
||
|
one can do for specifying wildcard zipfiles.
|
||
|
|
||
|
- Created files get whatever permissions were stored in the archive (mapped
|
||
|
to VMS and/or masked with your default permissions, depending on the
|
||
|
originating operating system), but created directories additionally in-
|
||
|
herit the (possibly more restrictive) permissions of the parent directory.
|
||
|
And obviously things won't work if you don't have permission to write to
|
||
|
the extraction directory.
|
||
|
|
||
|
- When transferring files, particularly via Kermit, pay attention to the
|
||
|
settings! In particular, zipfiles must be transferred in some binary
|
||
|
mode, which is NOT Kermit's default mode, and this mode must usually be
|
||
|
set on BOTH sides of the transfer (e.g., both VAX and PC). See the notes
|
||
|
below for details.
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
From Info-ZIP Digest (Wed, 6 Nov 1991), Volume 91, Issue 290:
|
||
|
|
||
|
Date: Tue, 5 Nov 91 15:31 CDT
|
||
|
From: Hugh Schmidt <HUGH@macc.wisc.edu>
|
||
|
|
||
|
****************************************************
|
||
|
*** VMS ZIP and PKZIP compatibility using KERMIT ***
|
||
|
****************************************************
|
||
|
|
||
|
Many use Procomm's kermit to transfer zipped files between PC and VMS
|
||
|
VAX. The following VMS kermit settings make VMS Zip/UnZip compatible
|
||
|
with PC Zip/UnZip or PKZIP/PKUNZIP:
|
||
|
VMS kermit Procomm kermit
|
||
|
------------------- --------------------
|
||
|
Uploading PC zipfile to VMS: set file type fixed set file type binary
|
||
|
Downloading VMS zipfile to PC: set file type block set file type binary
|
||
|
|
||
|
"Block I/O lets you bypass the VMS RMS record-processing capabilities
|
||
|
entirely", (Guide to VMS file applications, Section 8.5). The kermit
|
||
|
guys must have known this!
|