delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/2013/12/15/12:37:05

X-Authentication-Warning: delorie.com: mail set sender to djgpp-bounces using -f
Message-Id: <201312151735.rBFHZfTG016089@delorie.com>
Date: Sun, 15 Dec 2013 12:48:58 +0100
From: Juan Manuel Guerrero <juan DOT guerrero AT gmx DOT de>
To: djgpp-announce AT delorie DOT com
Subject: ANNOUNCE: DJGPP port of XZ utils 5.0.5 uploaded.
Reply-To: djgpp AT delorie DOT com

This is a port of XZ utils 5.0.5 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.

   Please read the docs to become familiar with the products.



   This is an verbatim extract of the NEWS file:
-------------------------------------------------------------------------------
5.0.5 (2013-06-30)

     * lzmadec and liblzma's lzma_alone_decoder(): Support decompressing
       .lzma files that have less common settings in the headers
       (dictionary size other than 2^n or 2^n + 2^(n-1), or uncompressed
       size greater than 256 GiB). The limitations existed to avoid false
       positives when detecting .lzma files. The lc + lp <= 4 limitation
       still remains since liblzma's LZMA decoder has that limitation.

       NOTE: xz's .lzma support or liblzma's lzma_auto_decoder() are NOT
       affected by this change. They still consider uncommon .lzma headers
       as not being in the .lzma format. Changing this would give way too
       many false positives.

     * xz:

         - Interaction of preset and custom filter chain options was
           made less illogical. This affects only certain less typical
           uses cases so few people are expected to notice this change.

           Now when a custom filter chain option (e.g. --lzma2) is
           specified, all preset options (-0 ... -9, -e) earlier are on
           the command line are completely forgotten. Similarly, when
           a preset option is specified, all custom filter chain options
           earlier on the command line are completely forgotten.

           Example 1: "xz -9 --lzma2=preset=5 -e" is equivalent to "xz -e"
           which is equivalent to "xz -6e". Earlier -e didn't put xz back
           into preset mode and thus the example command was equivalent
           to "xz --lzma2=preset=5".

           Example 2: "xz -9e --lzma2=preset=5 -7" is equivalent to
           "xz -7". Earlier a custom filter chain option didn't make
           xz forget the -e option so the example was equivalent to
           "xz -7e".

         - Fixes and improvements to error handling.

         - Various fixes to the man page.

     * xzless: Fixed to work with "less" versions 448 and later.

     * xzgrep: Made -h an alias for --no-filename.

     * Include the previously missing debug/translation.bash which can
       be useful for translators.

     * Include a build script for Mac OS X. This has been in the Git
       repository since 2010 but due to a mistake in Makefile.am the
       script hasn't been included in a release tarball before.


-------------------------------------------------------------------------------



   The port has been compiled using stock djdev203 (patchlevel 2) and consists
   of the four packages that can be downloaded from ftp.delorie.com and mirrors
   as (time stamp 2013-12-14):

     XZ utils 5.0.5 binaries, scripts and man format documentation:
     ftp://ftp.delorie.com/pub/djgpp/current/v2apps/xz-505b.zip

     XZ utils 5.0.5 lzma library and headers:
     ftp://ftp.delorie.com/pub/djgpp/current/v2apps/xz-505a.zip

     XZ utils 5.0.5 pdf format documentation:
     ftp://ftp.delorie.com/pub/djgpp/current/v2apps/xz-505d.zip

     XZ utils 5.0.5 source:
     ftp://ftp.delorie.com/pub/djgpp/current/v2apps/xz-505s.zip


   The binaries have been produced a second time using the stock version of
   djdev204 beta library.  This package is available at ftp.delorie.com and
   mirrors as (time stamp 2013-12-14):

     XZ utils 5.0.5 binaries, scripts and man format documentation:
     ftp://ftp.delorie.com/pub/djgpp/beta/v2apps/xz-505b.zip

     XZ utils 5.0.5 lzma library and headers:
     ftp://ftp.delorie.com/pub/djgpp/beta/v2apps/xz-505a.zip


   Send XZ utils specific bug reports to <lasse DOT collin AT tukaani DOT org>.
   Send suggestions and bug reports concerning the DJGPP port to
   comp.os.msdos.djgpp or <djgpp AT delorie DOT com>.


Enjoy.

         Guerrero, Juan Manuel <juan DOT guerrero AT gmx DOT de>

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019