Info-Zip Zip 2.2 Executables for Amiga -- NON-EXPORTABLE compilation ======================================================================== Date: November 27, 1997 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 Manx Aztec C porting and assembly code: Paul Kienitz New SAS/C support and timezone enhancements: Haidinger Walter or 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: ZipSplit 40424 ----rwed 27-Nov-97 23:42:25 ZipNote 38184 ----rwed 27-Nov-97 23:42:09 Zip 79176 ----rwed 27-Nov-97 23:41:19 Zip-LOWMEM 79212 ----rwed 27-Nov-97 23:45:14 README.AMI 12172 ----rw-d 27-Nov-97 23:51:11 timezone.doc 4343 ----rw-d 27-Nov-97 15:21:22 WHERE 16717 ----rw-d 02-Nov-97 21:40:36 WHATSNEW 765 ----rw-d 15-Oct-97 11:27:43 README 6720 ----rw-d 03-Nov-97 22:48:39 MANUAL 35344 ----rw-d 15-Oct-97 12:32:30 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 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.2 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 a 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.2, 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.2 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.2, dated May 5, 1996, which is compatible. It is also compatible with PKUNZIP 2.04g and above for DOS. Two options are provided with Zip 2.2 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 ****