
Info-Zip Zip 2.3 Executables for Amiga -- NON-EXPORTABLE compilation
========================================================================

Date:  November 29, 1999

Authors:  The Info-Zip internet group, original coding by
          Mark Adler, Richard Wales, and Jean-loup Gailly.
          See the "infozip.who" file for a complete list of
          contributors.

What
----

Zip is a directory and file compression and archiving utility.  Zip
provides a rich set of file management and manipulation commands,
including splitting of large archives, selection of compression methods,
and wild card inclusion and exclusion features.  It is compatible with
PKZIP version 2.04g (but is not a PKZIP clone).  Info-Zip's Zip is free,
and runs on a wide variety of Unix and proprietary system platforms.

A companion utility, Unzip, is also provided by Info-Zip, and is
developed by other members of the group.  Chances are, you can obtain
the most current version of Unzip from the same place you obtained this.

These utilities have also been referred to as "Portable Zip and Unzip".

See the file, "zip.doc" for a description of the included utilities and
how to use them.


Amiga Contacts
--------------

  Original SAS/C porting:
        John Bush <john.bush@east.sun.com>

  Manx Aztec C porting and assembly code:
        Paul Kienitz <kie@pacbell.net>
	
  New SAS/C support and timezone enhancements:
        Haidinger Walter <walthaid@jupiter.ict.tuwien.ac.at>
                      or <e9225662@student.tuwien.ac.at>

Because recent revisions have not been very well tested with SAS/C, these
executables have been compiled with Aztec C.  SAS/C generates much better
code on average, but the use of assembly language "hot spots" helps to
minimize the performance differences.


Archive contents
----------------

This archive should contain the following files:
  Zip                        81216 ----rwed 29-Nov-99 21:33:54
  Zip-LOWMEM                 81252 ----rwed 29-Nov-99 21:40:20
  ZipNote                    40120 ----rwed 29-Nov-99 21:35:16
  ZipSplit                   42244 ----rwed 29-Nov-99 21:35:35
  README                      6674 ----rw-d 21-Sep-99 21:54:54
  README.AMI                 12194 ----rw-d 29-Nov-99 21:30:41
  WHATSNEW                    1060 ----rw-d 21-Sep-99 12:44:27
  WHERE                      18280 ----rw-d 17-Nov-98 19:15:22
  MANUAL                     41715 ----rw-d 31-Oct-99 13:55:51
  timezone.doc                4385 ----rw-d 21-Jan-98 13:30:58


NOTES
========================================================================

Encryption
----------
This distributed executable DOES NOT support encryption, and does not include
the ZipCloak tool.  Unfortunately, legal restrictions exist on encrypting
software in the United States, even software such as Zip for which source is
publically available and which is far too crackable for high-security
cryptographic uses.  What this means is that the encrypting version of Zip
generally cannot be put up for public FTP on sites inside the USA.  Instead,
it is made available on sites in Europe and elsewhere; see the file "WHERE"
for details.


Low memory operation
--------------------
This archive contains two different versions of Zip, in files named
"Zip" and "Zip-LOWMEM".  Both compress files into zip archives and are
used identically.  The difference is that Zip-LOWMEM only requires half
as much memory to operate as Zip does.  If you get an error message
saying that Zip cannot run because there is not enough memory (it
requires at least 350K free), try using Zip-LOWMEM instead.  Its
compression performance is poorer than that of the real Zip, but is
adequate for many purposes.  For instance, Zip-LOWMEM might be able to
compress a large text file by 55% while the real Zip can achieve 65% (with
option -9).  With smaller files or non-text files the difference is
usually smaller.


Filenotes
---------
Amiga filenotes are not normally stored in the zip archive.  But the zip
format supports storing a one-line comment with each file, and Zip has
an option "-N" which causes any Amiga files with attached filenotes to
be stored with their filenote in this comment field.  If "-N" is used
with the -c option, Zip will prompt for you to enter a comment line for
each file that does not have a filenote.  The equivalent "-N" option of
UnZip 5.2 or newer will cause such comments to be attached to the expanded
files as filenotes.  If desired the option "-N" can be specified in the
environment variable ZIPOPT so that filenotes are always stored.


Self-extracting archives
------------------------
As documented in the UnZip 5.4 package, creation of self-extracting
archives on the Amiga is more complex than on most other platforms.  One
consequence of this is that most ports of Zip other than the Amiga one are
currently not able to add or remove files to an Amiga self-extracting
archive program with the "-A" option.  If you are working with a version
of Zip for some system other than Amiga, or if you have an old version of
Amiga Zip, you must instead use the "-J" option to remove the self-
extracting executable header, and then reconvert the archive to self-
extracting form with the MakeSFX and UnZipSFX programs supplied with Amiga
UnZip 5.4, or you will get a self-extracting program that won't run.

MakeSFX can, if necessary, be compiled for other systems, so that Amiga
self-extracting archives can be created on non-Amiga systems.  The
source is included with the UnZip 5.4 source package, available as
described in the "WHERE" file included in this archive.


Timezone information
--------------------
Zip 2.1 and UnZip 5.2 allow files to be stored with Unix-compatible
timestamps specified in universal (Greenwich) time, so that the correct
times will be restored when files are unzipped even when the unzipping
is done in a different timezone from where the archive was created.  A
change since Zip 2.1 is that Zip now supports the complete syntax for
specifying alternate daylight savings time rules in the TZ environment
variable, as documented in the file "timezone.doc".  Note: if your normal
practice is to manually set your Amiga's clock one hour forward in spring
and back in the fall to match local time, then you should NOT use a
timezone specification that includes daylight savings time.  Instead use
a specification such as (for California):

    setenv TZ PST8

and not "PST8PDT".  And you should set the number in the TZ string one
lower in the summer, changing the definition when you change the clock,
for instance "PST7".  In Germany you would change it from "MET-1" to
"MET-2".  Alternatively, you can just use the locale preferences setting
and leave TZ unset, moving it one zone to the east when you set your clock
forward for summer.  If you use a full TZ specification that includes
daylight savings time, it will only give accurate results if you leave
your Amiga's system clock set to standard time all year round.  Naturally,
none of this is important if you are not concerned with making sure that
file times are exactly correct.  This may be important if it is necessary
to, for instance, be sure which of two versions is newer by half an hour,
but for most purposes errors of a few hours are nothing to worry about.


Current directory specifier
---------------------------
The Amiga uses an empty quoted string ("") to specify the current
directory, rather than the dot (".") used on many other systems.  This
construct did not work with some compilations of Zip 2.0 but does work
with Zip 2.1 and up.  For instance, one can archive all files in the
current directory and its subdirectories with a command such as this:

    Zip -r foo ""

To archive files in the current directory without including
subdirectories, one would instead use wildcards, for instance:

    Zip foo *


Wildcards
---------
Wildcard selection is supported.  In addition to the basic regular
expression interpretation as described in the section on PATTERN
MATCHING in zip.doc, we have provided limited Amiga-style support.  The
"#?" combination is treated exactly like "*" which matches any number
of any characters.  However, the "#" by itself is not supported except
when in combination with the "?".  The Amiga alternation syntax (e.g.
"(foo|bar|zot).*") is not supported at all.

One extension not described in the MANUAL file is the use of "^" in
wildcard strings.  Specifically, "[^x]" will match any character other
than "x".  The "^" prefix in a bracketed string negates the expression
which follows.  For example, the expression "#?.[^o]" will match all names
ending with a single character filename extension, excluding those that
end with ".o", and the expression "[^a-z]*" will match any file whose name
starts with a non-alphabetic character.  The character "!" can be used
instead of "^".

The zip.doc file also talks about "escaping" wildcard specifiers to be
passed to Zip, to prevent interpretation by the host shell.  This is not
neccessary in the Amiga version, except possibly when using a Unix-like
replacement command shell.


Archive testing
---------------
The Zip archive testing option "-T" only works if UnZip is in your
command path.  It works by simply running "UnZip -t" quietly.


Path stripping
--------------
Directory paths can normally be stripped from stored files by specifying
"zip -j".  However, even if "-j" is not specified, the Amiga version of
Zip will strip volume names and leading slashes from stored names.


Pipes
-----
Certain features can not be equally represented on all platforms.
Some examples in the online manual page file (zip.doc) are subject to
interpretation for the Amiga platform.  For example, true pipes are not
supported on Amiga except with certain third-party command shells.  The
Amiga PIPE: device is not capable of adequate support for Zip by any
simple method.  However, Zip's pipe-oriented features have been tested
with WShell by William Hawes, and should probably work with other shells
that support pipe syntax.


Unix utilities
--------------
By default, the Amiga doesn't provide some utilities mentioned in
zip.doc, such as tar and dd.  However, ports of the Gnu versions of
these utilities are available from various Aminet FTP servers, such as
ftp.netnet.net.


Compatibility with UnZip and PKZIP
----------------------------------
Files produced by this version of Zip can be un-archived with Info-Zip's
unzip version 5.0p1 or higher.  The current Amiga release of UnZip is
version 5.4, dated December 2, 1998, which is compatible.

It is also compatible with PKUNZIP 2.04g and above for DOS.

Two options are provided with Zip 2.3 to assist in conversion between
DOS and Unix.  The "-l" and "-ll" options convert text files between LF
and CR LF forms of delimiters.

In addition, the "-k" option is provided to remap filenames and
attributes to MSDOS form.  Be careful using the "-k" option, especially
if the transfer is bidirectional, since full filename information will
be irreversibly converted to DOS naming conventions.  What this means is
all filenames will be truncated to "8.3" format, and translated to upper
case.  Characters not allowed in DOS will be filtered or translated, and
the host-made-by field will be faked to indicate DOS.  Normally, it is
best to name files in the first place according to the lowest common
denominator where they will be used, rather than wrestle with such
conversions.

If you have to exchange files with earlier releases of PKUNZIP such as
v1.1, then you must avoid the "deflation" method of compression (also
known as type 8), by always specifying the "-0" option with Zip.  This
performs a "store only" operation, in which files are simply copied into
the archive with no actual compression.  Users of earlier releases of
PKUNZIP have the same problem receiving files from PKZIP 2.04 users as
well.


Source code availability
------------------------
See the "WHERE" file included with the executable archive for pointers to
source archives, as well as executables for other platforms.


========================================================================

****  PLEASE REPORT ALL BUGS TO <Zip-Bugs@lists.wku.edu>  ****

