Message-Id: <202102252144.11PLisIm003975@delorie.com> Date: Thu, 25 Feb 2021 22:44:15 +0100 From: "Juan Manuel Guerrero (juan DOT guerrero AT gmx DOT de) [via djgpp-announce AT delorie DOT com]" To: djgpp-announce AT delorie DOT com Subject: ANNOUNCE: DJGPP port of clzip 1.12 uploaded. Content-Type: text/plain; charset=ISO-8859-15; format=flowed Reply-To: djgpp AT delorie DOT com This is a port of clzip 1.12 to MSDOS/DJGPP. clzip is a lossless data compressor with a user interface similar to the one of gzip or bzip2. Clzip is about as fast as gzip, compresses most files more than bzip2, and is better than both from a data recovery perspective. DJGPP specific changes. ======================= - The port implements SFN support in a similar manner than it has been done for the bzip2 and xz ports. If only SFN support is available the file name and its extension must be truncated and modified to encode the compressor extension and the numbers to identify a multi volume archive. The program does not store the original file name in the header of the archive thus there is no chance to regenerate them when uncompressiong the archive in a SFN environment. Here the same naming schema than used in the bzip2 and xz ports is applied. The archiver extension is ".lz". On SFN systems, the ".lz" extension will consume one or two characters of the original file name extension. For SFN systems the following rules apply for ".lz" extension: compressed name uncompressed name filename.exl --> filename.ex filename.elz --> filename.e filename.lz --> filename uncompressed name compressed name filename.ext --> filename.exl filename.ex --> filename.exl filename.e --> filename.elz filename --> filename.lz The port will detect at run time if LFN support is available or not and will select the method to handle the extension creation accordingly. For LFN and SFN systems, the ".tlz" extension will always be identified as tar archives. Their file name will always have a ".tar" extension. If only SFN support is available, the DJGPP port of clzip will always consume the last 5 characters of the 8 possible name characters to encode the volume number. E.g.: when compressing a file with the file name filename.ext and splitting it into multiple volumes, the different volumes will become fil00001.exl, fil00002.exl, etc. It is clear that neither the original filename nor the original extension can be recreated. - LFN support enabled is required to run the testsuite. The test data is binary data thus the used unzip program must treat them as binary and not as text data. - The port has been configured and compiled on WinXP SP3 and Win98SE. There is no guarantee that this may be possible with any other DOS-like OS. Due to the massive use of long file names it will not be possible to configure and compile without LFN support. To build this port you will need an OS with LFN support to configure and compile the source package. As usual, all djgpp specific files (diffs, README files, etc.) are stored in the /djgpp directory. The sources have been configured to be build in the "_build" directory. If for some reason it does not work for you, delete it contents and configure from scratch again. For further information about clzip please read the info docs and NEWS file. Here is an extract of the NEWS file showing the user visible changes from the last port (clzip 1.8) to this one: ------------------------------------------------------------------------------- 2021-01-04 Antonio Diaz Diaz * Version 1.12 released. * main.c (main): Report an error if a file name is empty. Make '-o' behave like '-c', but writing to file instead of stdout. Make '-c' and '-o' check whether the output is a terminal only once. Do not open output if input is a terminal. * Replace 'decompressed', 'compressed' with 'out', 'in' in output. * lzip_index.c: Improve messages for corruption in last header. * main.c: Set a valid invocation_name even if argc == 0. * Document extraction from tar.lz in manual, '--help', and man page. * clzip.texi (Introduction): Mention plzip and tarlz as alternatives. * clzip.texi: Several fixes and improvements. * testsuite: Add 9 new test files. 2019-01-03 Antonio Diaz Diaz * Version 1.11 released. * Rename File_* to Lzip_*. * lzip.h (Lzip_trailer): New function 'Lt_verify_consistency'. * lzip_index.c: Detect some kinds of corrupt trailers. * main.c (main): Check return value of close( infd ). * main.c: Compile on DOS with DJGPP. * clzip.texi: Improve descriptions of '-0..-9', '-m', and '-s'. * configure: Accept appending to CFLAGS, 'CFLAGS+=OPTIONS'. * INSTALL: Document use of CFLAGS+='-D __USE_MINGW_ANSI_STDIO'. 2018-02-06 Antonio Diaz Diaz * Version 1.10 released. * New option '--loose-trailing'. * Improve corrupt header detection to HD=3. * main.c: Show corrupt or truncated header in multimember file. * main.c (main): Option '-S, --volume-size' now keeps input files. * encoder_base.*: Adjust dictionary size for each member. * Replace 'bits/byte' with inverse compression ratio in output. * Show progress of decompression at verbosity level 2 (-vv). * Show progress of (de)compression only if stderr is a terminal. * main.c: Show final diagnostic when testing multiple files. * main.c: Do not add a second .lz extension to the arg of -o. * decoder.c (LZd_verify_trailer): Show stored sizes also in hex. Show dictionary size at verbosity level 4 (-vvvv). * clzip.texi: New chapter 'Meaning of clzip's output'. 2017-04-13 Antonio Diaz Diaz * Version 1.9 released. * The option '-l, --list' has been ported from lziprecover. * Don't allow mixing different operations (-d, -l or -t). * Compression time of option '-0' has been reduced by 6%. * Compression time of options -1 to -9 has been reduced by 1%. * Decompression time has been reduced by 7%. * main.c: Continue testing if any input file is a terminal. * main.c: Show trailing data in both hexadecimal and ASCII. * lzip_index.c: Improve detection of bad dict and trailing data. * lzip.h: Unify messages for bad magic, trailing data, etc. * clzip.texi: Add missing chapters from lzip.texi. ------------------------------------------------------------------------------- The port consists of the usual three packages that have been produced using djdev205 (CVS repository code) and can be downloaded from ftp.delorie.com and mirrors as (time stamp 2021-01-23): clzip 1.12 binary and info format documentation: ftp://ftp.delorie.com/pub/djgpp/current/v2apps/clzp112b.zip clzip 1.12 dvi, html, ps and pdf format documentation: ftp://ftp.delorie.com/pub/djgpp/current/v2apps/clzp112d.zip clzip 1.12 source: ftp://ftp.delorie.com/pub/djgpp/current/v2apps/clzp112s.zip Send clzip specific bug reports to . Send suggestions and bug reports concerning the DJGPP port to comp.os.msdos.djgpp or . Enjoy. Guerrero, Juan Manuel