Info-Zip Zip 2.1 Executables for Amiga -- exportable compilation ======================================================================== Date: May 5, 1996 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 -------------- SAS/C porting: John Bush Manx Aztec C porting and assembly code: Paul Kienitz Because recent revisions have not been 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. Primary repositories -------------------- 1. Internet: ftp.uu.net:/pub/archiving/zip/AMIGA/ Index -- text file listing contents zip21x.zip -- zip archive for those with unzip zip21x.lha -- lha archive for those without unzip If you don't have lha or unzip, then first obtain the latest version of UnZip from the same directory. 2. Dialup: BIX "AMIGA" files section -- zip21x.lha Excerpts from the Index and README.AMI files should be posted with the file description in the BBS version. PLEASE PRESERVE IT IF UPLOADED ELSEWHERE. Archive contents ---------------- This archive should contain the following files: README 6760 ----rw-d 27-Apr-96 10:11:32 README.AMI 12239 ----rw-d 05-May-96 23:12:30 zip.doc 32815 ----rw-d 27-Apr-96 03:59:46 algorith.doc 3395 ----rw-d 01-Apr-96 09:10:34 history 30154 ----rw-d 27-Apr-96 04:33:14 infozip.who 12920 ----rw-d 27-Apr-96 10:14:56 Where 13973 ----rw-d 26-Apr-96 13:28:32 Zip 69720 ----rwed 05-May-96 23:07:12 ZipNote 36128 ----rwed 05-May-96 23:07:26 ZipSplit 38308 ----rwed 05-May-96 23:07:44 Zip-LOWMEM 74308 ----rwed 05-May-96 23:08:34 NOTES ======================================================================== Encryption ---------- This distributed executable does not support encryption. However, encryption is optionally available for Info-Zip's Zip. If you have a SAS/C version 6.3+ Manx Aztec version 5.2 compiler, you can obtain the source code from a non-USA based location where it was developed, and recompile with encryption enabled. See the file, "Where" for information on obtaining sources. The ZipCloak command is not included, because without encryption, it just reports that encryption is not supported. If you are Internet accessible within the USA, but don't have access to one of the above mentioned compilers, I will email you a uuencoded copy of an executable with encryption enabled. HOWEVER, to qualify for this, you must conform to the following. I will ignore any request without follow-up that doesn't provide the following information: 1. You must reside in the USA with a US-based internet domain address. 2. You must not promise not to upload the encryption enabled executable to any publicly accessible source. I reserve the right not to respond to requests if I can't do this in my spare time! (but I'll do my best) Requests to: John Bush 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), try using Zip-LOWMEM instead. Its compression performance is poorer than that of the real Zip, but is adequate for many purposes. 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 Zip is currently not able to add or remove files to a self-extracting archive program with the "-A" option. 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. USE OF THE "-A" OPTION WILL CREATE AN EXECUTABLE 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 below. 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. Support for this information was not quite complete for the Amiga at the time of this release, so unless you recompile Zip with the symbol USE_EF_UX_TIME defined, such timestamps are not stored. It is expected that a patch version of Zip should be released shortly which will store Unix timestamps in cases where the system it is run on has a "TZ" environment variable defined to specify what timezone it is in. Current directory specifier --------------------------- The Amiga uses an empty 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. 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 zip.doc 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 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. 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. Therefore, support is limited for pipe operations, and Amiga users should not expect that functionality to work until we specifically implement and announce support for it. 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 most internet servers that carry Amiga files, such as ftp.luth.se. 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.1 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 creating zip archives to be restored on a DOS machine that has PKUNZIP version 1.1, encourage your destination user to obtain the DOS version of Info-Zip unzip (UNZIP.EXE), or PKZIP version 2.04g or better. This will allow you to transfer archives using the best form of compression. If you have to exchange files with earlier releases of PKUNZIP, 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. See the "Index" file on the Internet ftp server described above for a list of what executable archives and formats are included. ======================================================================== **** PLEASE REPORT ALL BUGS TO ****