Short: Small and efficient tar.gz unarchiver Uploader: owagner@vapor.com (Oliver Wagner) Author: owagner@vapor.com (Oliver Wagner) Type: util/arc Version: 1.5 Kurz: Kurzer und effizienter tar.gz-Extrahierer Long: UnTGZ 1.5 ========= Introduction ------------ UnTGZ is a extractor/list for the combined tar/gzip archive format which is esspecially popular in the unix world. Actually, a tar.gz (or .tgz) archive is a collection of files which have been archived with the tar (tape archive) program, which's output in turn has been compressed using the gzip packer. The major advantage of this procedure is that all the files in the archive are compressed in a single block, instead of single files. Due to the nature of the used compression techniques which try to find duplicate "strings" in the data this yields much better compression ratios as if all the files would be compressed one by one, because the search for duplicate data can span several of the source files. As a result, a tar.gz archive in average gives much better compression ratio than the LHA format which is currently in use in the Amiga world. The now out-of-development LZX archiver used a similiar technique, and therefore the tar.gz combination gives similiar compression ratios than the LZX format. However, the tar.gz format is not in wide use in the Amiga community because many people find the usage of two programs which have a very "unixish" syntax just to extract a single archive a bit stressing. UnTGZ, however, is a single, compact program which's sole purpose is to list and extract tar.gz archives with a mode of operation similiar to existant archive utilities. Advantages ---------- - UnTGZ is heavily optimized for speed and memory usage. Memory requirement for a decompression run is about 80k. - UnTGZ itself is very compact (currently 13k), thus saving space on distribution disks. It can be made resident. - UnTGZ has been designed in a way that the "look & feel" of existant archive utilities like LHA or LZX is preserved. - UnTGZ works with AmigaOS 1.2/1.3 machines. No special libraries - UnTGZ can be used as a default tool from Workbench Project Icons to easily provide "Click&Extract" functionality. WB Operation can be customized via icon tooltypes. Actions are displayed via standard console windows (it will automatically recognize an installed KingCon Handler and use a KCON: window for scrollback and appicon support) Shell-Usage ----------- Shell usage is very straightforward: UnTGZ [-v] archivename [destination directory] "-v" specifies that the archive is to be listed, not extracted. UnTGZ also recognizes "-l", "v" and "l" as synonyms for that. "destination directory" optionally specifies the, you guessed it, destination directory where the files are to be extracted into. This defaults to the current directory as to the time of invocation. Note that UnTGZ automatically tries to locate archive files by appending ".tar.gz" and ".tgz" to the archivename if no extension is given. Workbench usage --------------- In order to use UnTGZ from the Workbench, you have to create project icons for the ".tar.gz" files, which's default tool points to the UnTGZ executable. You can specify tooltypes in this project icons to customize UnTGZ's behavior: Window=con:blabla Define the console window used for output and queries. Defaults to "CON:0/0/640/400/UnTGZ" for OS 1.2/1.3 and to "[K]CON:0/0/640/400/UnTGZ/WAIT/CLOSE" for OS2+ environments. Destination=Path Define destination path. Defaults to "RAM:". This can be modified by the user, unless "ForceExtract" is specified. ForceView Force display of archive contents, not asking the user for actions. ForceExtract Force extraction of files, not asking the user for actions. Message=Text... Output this text before asking the user for actions. Defaults to no text. You should specify a stack size of 20480 in the project icon to avoid having UnTGZ allocate it's own stack, thus saving a few k of memory. History ------- 1.5 - fixed problem that under certain circumstances the last file written to remains open 1.4 - recompiled with SAS/C 6.57 - modified behavior as a Workbench tool: Clicking on the close gadget of the CON: window will silently quit the program, instead of starting the unpack process. 1.3 - First release version Copyright --------- UnTGZ was written by Oliver Wagner . The "inflate" decompression code used inside the program was written and placed in the public domain by Mark Adler. UnTGZ 1.5 may be freely distributed. Commercial usage of any kind requires prior permission. No warranties of any kind, use on your own risk, don't put in child's hands etc. You can be assured it won't ObtainSemaphore() your screen's Layer on input.device schedule, though :-) EMail bug reports and related stuff to . See http://www.vapor.com/ for other neat stuff.