X-Authentication-Warning: delorie.com: mail set sender to djgpp-bounces using -f Message-Id: <201507112243.t6BMh7Xe022378@delorie.com> Date: Sat, 11 Jul 2015 22:40:59 +0200 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 XZ utils 5.0.8 uploaded (DJGPP 2.05 only). Content-Type: text/plain; charset=ISO-8859-15; format=flowed Reply-To: djgpp AT delorie DOT com This is a port of XZ utils 5.0.8 to MSDOS/DJGPP. XZ utils provide a general-purpose data compression library and command line tools. The native file format is the .xz format, but also the legacy .lzma format is supported. The .xz format supports multiple compression algorithms, which are called "filters" in context of XZ Utils. The primary filter is currently LZMA2. With typical files, XZ utils create about 30 % smaller files than gzip. To ease adapting support for the .xz format into existing applications and scripts, the API of liblzma is somewhat similar to the API of the popular zlib library. For the same reason, the command line tool xz has similar command line syntax than that of gzip. DJGPP specific changes. ======================= The sources do not compile with djdev203 because inttypes.h and snprintf are missed. This port uses the CVS repository version of snprintf. The required definition for PRIx32 and PRIx64 have been taken from the CVS repository version of inttypes.h. The library code itself has not been changed. The code has already enough DJGPP support. But the driver program has no SFN support at all. It simply appends a ".xz" or ".lzma" extension to the original file name according to the compression algorithm used. This will work on systems with LFN support but not on plain DOS. I have applied the same schema that I have used for the BZIP2 port. Unfortunately the original file name is not stored in the compressed file header so there will be no way to restore the original file name extension on SFN systems. The program will try to preserve as much characters as possible from the extension. For SFN systems the following rules apply for ".xz" extension: compressed name uncompressed name filename.exx --> filename.ex filename.exz --> filename.e filename.xz --> filename uncompressed name compressed name filename.ext --> filename.exx filename.ex --> filename.exx filename.e --> filename.exz filename --> filename.xz For SFN systems the following rules apply for ".lzma" extension: compressed name uncompressed name filename.exl --> filename.ex filename.elz --> filename.e filename.lzm --> filename uncompressed name compressed name filename.ext --> filename.exl filename.ex --> filename.exl filename.e --> filename.elz filename --> filename.lzm 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, ".txz" and ".tlz" extensions are always identified as tar files. Their file name will always get a ".tar" extension. On LFN systems the port will behave as the original concerning the generation of the extension. To compile the sources and run the test suite you will need LFN support. The source package is configured to be build in the "_build.205" directory. The port has been configured and compiled on WinXP SP3. There is no guarantee that this may be possible with any other DOS-like OS. Due to the use of long file names it will not be possible to configure and compile without LFN support. The DJGPP 2.05 version of the port has been compiled using gcc510 and bnu225br2. This is the first port that has been compiled using djdev205. Starting with this port version I will no longer support neither djdev204 nor djdev203. The port has been tested by using it. I have used them only on WinXP. It has worked flawlessly. I do not konw if this will ever be the case on FreeDOS. I have never used/tested them in that environment. The port does not provide NLS support. No one of the required libraries have been ported using DJGPP 2.05. All the changes done to the original distribution are documented in the diffs file and located together with all the files needed to configure the package (config.bat, config.sed, config.site, etc.) in the /djgpp directory. For further information about XZ utils please read the info docs and NEWS file. This is an verbatim extract of the NEWS file: ------------------------------------------------------------------------------- 5.0.8 (2014-12-21) * Fixed an old bug in xzgrep that affected OpenBSD and probably a few other operating systems too. * Updated French and German translations. * Added support for detecting the amount of RAM on AmigaOS/AROS. * Minor build system updates. 5.0.7 (2014-09-20) * Fix regressions introduced in 5.0.6: - Fix building with non-GNU make. - Fix invalid Libs.private value in liblzma.pc which broke static linking against liblzma if the linker flags were taken from pkg-config. 5.0.6 (2014-09-14) * xzgrep now exits with status 0 if at least one file matched. * A few minor portability and build system fixes ------------------------------------------------------------------------------- The port consists of the usual four packages produced using djdev205 that can be downloaded from ftp.delorie.com and mirrors as (time stamp 2015-07-11): XZ utils 5.0.8 binaries, scripts and man format documentation: ftp://ftp.delorie.com/pub/djgpp/beta/v2apps/xz-508b.zip XZ utils 5.0.8 lzma library and headers: ftp://ftp.delorie.com/pub/djgpp/beta/v2apps/xz-508a.zip XZ utils 5.0.8 pdf format documentation: ftp://ftp.delorie.com/pub/djgpp/beta/v2apps/xz-508d.zip XZ utils 5.0.8 source: ftp://ftp.delorie.com/pub/djgpp/beta/v2apps/xz-508s.zip Send XZ utils specific bug reports to . Send suggestions and bug reports concerning the DJGPP port to comp.os.msdos.djgpp or . Enjoy. Guerrero, Juan Manuel