Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

ANNOUNCE: DJGPP port of XZ utils 5.0.0 uploaded.

3 views
Skip to first unread message

Juan Manuel Guerrero

unread,
Nov 14, 2010, 1:18:51 PM11/14/10
to djgpp-a...@delorie.com
This is a port of XZ utils 5.0.0 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. If
you use djdev204 you will have to adjust your /dev/env/DJDIR/include/time.h.
_rdtsc declaration and definition both needs static as qualifier and the
extern qualifier removed from the declaration.

Please read the docs to become familiar with the products.


The port consists of two packages that have been compiled using djdev203 and
that can be downloaded from ftp.delorie.com and mirrors as (timestamp 2010-11-14):

XZ utils 5.0.0 scripts, headers, libs and man format documentation:
ftp://ftp.delorie.com/pub/djgpp/current/v2apps/xz-500b.zip

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


For the convenience of the WinXP users the binaries has been produced
a second time using the djdev204 beta library. This package is available
at ftp.delorie.com and mirrors as (timestamp 2010-11-14):

XZ utils 5.0.0 scripts, headers, libs and man format documentation:
ftp://ftp.delorie.com/pub/djgpp/beta/v2apps/xz-500b.zip


Send libpng specific bug reports to <lasse....@tukaani.org>.
Send suggestions and bug reports concerning the DJGPP port to
comp.os.msdos.djgpp or <dj...@delorie.com>.


Enjoy.

Guerrero, Juan Manuel <juan.g...@gmx.de>

Juan Manuel Guerrero

unread,
Nov 18, 2010, 3:39:36 PM11/18/10
to
On 14 Nov., 19:18, Juan Manuel Guerrero <juan.guerr...@gmx.de> wrote:
> This is a port of XZ utils 5.0.0 to MSDOS/DJGPP.
snip

>   The port consists of two packages that have been compiled using djdev203 and
>   that can be downloaded from ftp.delorie.com and mirrors as (timestamp 2010-11-14):
>
>     XZ utils 5.0.0 scripts, headers, libs and man format documentation:
>    ftp://ftp.delorie.com/pub/djgpp/current/v2apps/xz-500b.zip
>
>     XZ utils 5.0.0 source:
>    ftp://ftp.delorie.com/pub/djgpp/current/v2apps/xz-500s.zip

Unfortunately I have forgotten to apply the patch contained
in the diffs file to the sources of XZ utils so you will not
be able to build the binaries out-of-the-box.
To avoid this inconveniences I have replaced the old source
zip file with a new one. Of course, you do not need to
download this new zip file, you can simply apply the patch
to your old sources.

Regards,
Juan M. Guerrero

Rugxulo

unread,
Nov 20, 2010, 2:26:35 PM11/20/10
to
Hi,

On Nov 18, 2:39 pm, Juan Manuel Guerrero <juan.guerr...@gmx.de> wrote:
>
> Unfortunately I have forgotten to apply the patch contained
> in the diffs file to the sources of XZ utils so you will not
> be able to build the binaries out-of-the-box.
> To avoid this inconveniences I have replaced the old source
> zip file with a new one.  Of course, you do not need to
> download this new zip file, you can simply apply the patch
> to your old sources.

Thanks again for your contributions.

0 new messages