This is the second beta release of unpack. Unpack will unpack PackIt, StuffIt, Compactor and most StuffItClassic/StuffItDeluxe archives. (PackIt, StuffIt and Compactor are archivers written by respectively: Harry R. Chesley, Raymond Lau and Bill Goodman.) It does not deal with: a. Password protected archives. b. Multi-file archives. c. StuffItClassic/StuffItDeluxe archives with compression methods 6 and 8. (These are respectively a Fixed Huffman encoding and Bigram encoding. I have never seen an archive that contains such files, so I am not willing to write and am not able to test code!) Requirements: a. Of course a C compiler. b. A 32-bit machine with large memory (or at least the ability to 'malloc' large chunks of memory). For reasons of efficiency and simplicity the program unpacks 'in-core', also Compactor archives are first read in core. If somebody can take the trouble to do it differently, go ahead! There are also probably in a number of places implicit assumptions that an int is 32 bits. If you encounter such occurrences feel free to notify me. c. A Unix (tm) machine, or something very close. There are probably quite a lot of Unix dependencies. Also here, if you have replacements, feel free to send comments. d. This version normally uses the 'mkdir' system call available on BSD Unix and some versions of SysV Unix. You can change that, see the makefile for details. Acknowledgements: a. This program is for a large part based on the utilities 'unpit' and 'unsit' written by: Allan G. Weber weber%brand.usc.edu@oberon.usc.edu (wondering whether that is still valid!). I combined the two into a single program and did a lot of modification. For information on the originals, see the README.* files in the unpack directory. b. The crc-calculating routines are based on a routine originally written by: Mark G. Mendel UUCP: ihnp4!umn-cs!hyper!mark (this will not work anymore for sure!). Also here I modified the stuff and expanded it, see the README files in the crc directory. c. LZW-decompression is taken from the sources of compress that are floating around. Probably I did not use the most efficient version, but this program was written to get it done. The version I based it on (4.0) is authored by: Steve Davies (decvax!vax135!petsd!peora!srd) Jim McKie (decvax!mcvax!jim) (Hi Jim!) Joe Orost (decvax!vax135!petsd!joe) Spencer W. Thomas (decvax!harpo!utah-cs!utah-gr!thomas) Ken Turkowski (decvax!decwrl!turtlevax!ken) James A. Woods (decvax!ihnp4!ames!jaw) I am sure those e-mail addresses also will not work! d. Optional AUFS support comes from information supplied by: Casper H.S. Dik University of Amsterdam Kruislaan 409 1098 SJ Amsterdam Netherlands phone: +31205922022 email: casper@uva.uucp This is an e-mail address that will work. See the makefile. Some caveats are applicable: 1. I did not fully test it (we do not use it). But the unpacking appears to be correct. Anyhow, as the people who initially compile it and use it will be system administrators I am confident they are able to locate bugs! (What if an archive contains a Macfile with the name .finderinfo or .resource? I have had two inputs for AUFS support [I took Caspers; his came first], but both do not deal with that. Does CAP deal with it?) Also I have no idea whether this version supports it under SysV, so beware. 2. From one of the README's supplied by Casper: Files will not appear in an active folder, because Aufs doesn't like people working behind it's back. Simply opening and closing the folder will suffice. Appears to be the same problem as when you are unpacking or in some other way creating files in a folder open to multifinder. I have seen bundle bits disappear this way. So if after unpacking you see the generic icon; check whether a different icon should appear and check the bundle bit. The desktop isn't updated, but that doesn't seem to matter. I dunno, not using it. e. A man page is now supplied. The base was provided by: Douglas Siebert ISCA dsiebert@icaen.uiowa.edu f. Because of some problems the Uncompactor has been rewritten, it is now based on sources from the dearchiver unzip (of PC fame). Apparently the base code is by: Samuel H. Smith I have no further address available, but as soon as I find a better attribution, I will include it. g. UnstuffIt's LZAH code comes from lharc (also of PC fame) by: Haruhiko Okumura, Haruyasu Yoshizaki, Yooichi Tagawa. h. Some SysV incompatibilities have been removed. I am not sure whether I have them all now. (Apparently System V comes in a lot of varieties!) i. Some changes from a letter I got that was inadvertently trashed. Thanks anonymous! j. Naming. Some people have complained about the name conflict with the unpack utility that is already available on Sys V boxes. I had forgotten it, so there really is a problem. The best way to solve it is to trash pack/unpack/pcat and replace it by compress/uncompress/zcat. Sure, man uses it; but man uses pcat, so you can retain pcat. If that is not an option feel free to rename the program. The best suggested new name I have heard is macunpack (a bit long but it clearly displays mac in the name). I am open to other suggestions; if there comes something really catchy I will adopt it. The program uses a table driven program to do Mac filename -> Unix filename translation. When compiled without further changes the translation is as follows: Printable ASCII characters except space and slash are not changed. Slash and space are changed to underscore, as are all characters that do not fall in the following group. Accented letters are translated to their unaccented counterparts. If your system supports the Latin-1 character set, you can change this translation scheme by specifying '-DLATIN1' for the 'CF' macro in the makefile. This will translate all accented letters (and some symbols) to their Latin-1 counterpart. This feature is untested (I do not have access to systems that cater for Latin-1), so use with care. Future revisions of the program will have user settable conversions. Another feature of filename translation is that when the -DNODOT flag is specified in the CF macro an initial period will be translated to underscore. When you have problems unpacking an archive feel free to ask for information. I am especially keen when the StuffIt part detects Fixed Huffman or bigram compression methods. If you encounter such an archive, please, mail a 'binhexed' copy of the archive to me so that I can deal with it. Password protected archives are (as already stated) not implemented. I do not have much inclination to do that. Also I feel no inclination to do multi-file archives. This is the first in a set of Mac utilities on Unix I am writing; there is more in the pipeline. All comments are still welcome. Although I will not answer before (approx.) the fifth of august. Thanks for the comments I already received. dik t. winter, amsterdam, nederland email: dik@cwi.nl -- Note: There may or may not be Copyright problems with the previous version of this program. In the current version all algorithms are implemented based on publicly available software to prevent any claim to Copyright. It is my opinion that the previous version did not infringe on Copyright but, to be sure, this one certainly does not. If you have an older version lurking around, please remove it.