head	1.1;
branch	1.1.1;
access;
symbols
	netbsd-11-0-RC4:1.1.1.3.14.1
	xz-5-8-3:1.1.1.4
	netbsd-11-0-RC3:1.1.1.3
	netbsd-11-0-RC2:1.1.1.3
	netbsd-11-0-RC1:1.1.1.3
	perseant-exfatfs-base-20250801:1.1.1.3
	netbsd-11:1.1.1.3.0.14
	netbsd-11-base:1.1.1.3
	netbsd-10-1-RELEASE:1.1.1.3
	perseant-exfatfs-base-20240630:1.1.1.3
	perseant-exfatfs:1.1.1.3.0.12
	perseant-exfatfs-base:1.1.1.3
	netbsd-8-3-RELEASE:1.1.1.2
	netbsd-9-4-RELEASE:1.1.1.3
	netbsd-10-0-RELEASE:1.1.1.3
	netbsd-10-0-RC6:1.1.1.3
	netbsd-10-0-RC5:1.1.1.3
	netbsd-10-0-RC4:1.1.1.3
	netbsd-10-0-RC3:1.1.1.3
	netbsd-10-0-RC2:1.1.1.3
	netbsd-10-0-RC1:1.1.1.3
	netbsd-10:1.1.1.3.0.10
	netbsd-10-base:1.1.1.3
	netbsd-9-3-RELEASE:1.1.1.3
	cjep_sun2x-base1:1.1.1.3
	cjep_sun2x:1.1.1.3.0.8
	cjep_sun2x-base:1.1.1.3
	cjep_staticlib_x-base1:1.1.1.3
	netbsd-9-2-RELEASE:1.1.1.3
	cjep_staticlib_x:1.1.1.3.0.6
	cjep_staticlib_x-base:1.1.1.3
	netbsd-9-1-RELEASE:1.1.1.3
	phil-wifi-20200421:1.1.1.3
	phil-wifi-20200411:1.1.1.3
	is-mlppp:1.1.1.3.0.4
	is-mlppp-base:1.1.1.3
	phil-wifi-20200406:1.1.1.3
	netbsd-8-2-RELEASE:1.1.1.2
	netbsd-9-0-RELEASE:1.1.1.3
	netbsd-9-0-RC2:1.1.1.3
	netbsd-9-0-RC1:1.1.1.3
	phil-wifi-20191119:1.1.1.3
	netbsd-9:1.1.1.3.0.2
	netbsd-9-base:1.1.1.3
	phil-wifi-20190609:1.1.1.3
	netbsd-8-1-RELEASE:1.1.1.2
	netbsd-8-1-RC1:1.1.1.2
	pgoyette-compat-merge-20190127:1.1.1.2.14.1
	pgoyette-compat-20190127:1.1.1.3
	pgoyette-compat-20190118:1.1.1.3
	pgoyette-compat-1226:1.1.1.3
	pgoyette-compat-1126:1.1.1.3
	pgoyette-compat-1020:1.1.1.3
	pgoyette-compat-0930:1.1.1.3
	xz-5-2-4:1.1.1.3
	pgoyette-compat-0906:1.1.1.2
	netbsd-7-2-RELEASE:1.1.1.1
	pgoyette-compat-0728:1.1.1.2
	netbsd-8-0-RELEASE:1.1.1.2
	phil-wifi:1.1.1.2.0.16
	phil-wifi-base:1.1.1.2
	pgoyette-compat-0625:1.1.1.2
	netbsd-8-0-RC2:1.1.1.2
	pgoyette-compat-0521:1.1.1.2
	pgoyette-compat-0502:1.1.1.2
	pgoyette-compat-0422:1.1.1.2
	netbsd-8-0-RC1:1.1.1.2
	pgoyette-compat-0415:1.1.1.2
	pgoyette-compat-0407:1.1.1.2
	pgoyette-compat-0330:1.1.1.2
	pgoyette-compat-0322:1.1.1.2
	pgoyette-compat-0315:1.1.1.2
	netbsd-7-1-2-RELEASE:1.1.1.1
	pgoyette-compat:1.1.1.2.0.14
	pgoyette-compat-base:1.1.1.2
	netbsd-7-1-1-RELEASE:1.1.1.1
	matt-nb8-mediatek:1.1.1.2.0.12
	matt-nb8-mediatek-base:1.1.1.2
	perseant-stdc-iso10646:1.1.1.2.0.10
	perseant-stdc-iso10646-base:1.1.1.2
	netbsd-8:1.1.1.2.0.8
	netbsd-8-base:1.1.1.2
	prg-localcount2-base3:1.1.1.2
	prg-localcount2-base2:1.1.1.2
	prg-localcount2-base1:1.1.1.2
	prg-localcount2:1.1.1.2.0.6
	prg-localcount2-base:1.1.1.2
	pgoyette-localcount-20170426:1.1.1.2
	bouyer-socketcan-base1:1.1.1.2
	pgoyette-localcount-20170320:1.1.1.2
	netbsd-7-1:1.1.1.1.0.30
	netbsd-7-1-RELEASE:1.1.1.1
	netbsd-7-1-RC2:1.1.1.1
	netbsd-7-nhusb-base-20170116:1.1.1.1
	bouyer-socketcan:1.1.1.2.0.4
	bouyer-socketcan-base:1.1.1.2
	pgoyette-localcount-20170107:1.1.1.2
	netbsd-7-1-RC1:1.1.1.1
	pgoyette-localcount-20161104:1.1.1.2
	netbsd-7-0-2-RELEASE:1.1.1.1
	localcount-20160914:1.1.1.2
	netbsd-7-nhusb:1.1.1.1.0.28
	netbsd-7-nhusb-base:1.1.1.1
	pgoyette-localcount-20160806:1.1.1.2
	pgoyette-localcount-20160726:1.1.1.2
	pgoyette-localcount:1.1.1.2.0.2
	pgoyette-localcount-base:1.1.1.2
	netbsd-7-0-1-RELEASE:1.1.1.1
	netbsd-7-0:1.1.1.1.0.26
	netbsd-7-0-RELEASE:1.1.1.1
	netbsd-7-0-RC3:1.1.1.1
	netbsd-7-0-RC2:1.1.1.1
	netbsd-7-0-RC1:1.1.1.1
	xz-5-2-1:1.1.1.2
	netbsd-6-0-6-RELEASE:1.1.1.1
	netbsd-6-1-5-RELEASE:1.1.1.1
	netbsd-7:1.1.1.1.0.24
	netbsd-7-base:1.1.1.1
	yamt-pagecache-base9:1.1.1.1
	yamt-pagecache-tag8:1.1.1.1
	netbsd-6-1-4-RELEASE:1.1.1.1
	netbsd-6-0-5-RELEASE:1.1.1.1
	tls-earlyentropy:1.1.1.1.0.22
	tls-earlyentropy-base:1.1.1.1
	riastradh-xf86-video-intel-2-7-1-pre-2-21-15:1.1.1.1
	riastradh-drm2-base3:1.1.1.1
	netbsd-6-1-3-RELEASE:1.1.1.1
	netbsd-6-0-4-RELEASE:1.1.1.1
	netbsd-6-1-2-RELEASE:1.1.1.1
	netbsd-6-0-3-RELEASE:1.1.1.1
	netbsd-6-1-1-RELEASE:1.1.1.1
	riastradh-drm2-base2:1.1.1.1
	riastradh-drm2-base1:1.1.1.1
	riastradh-drm2:1.1.1.1.0.16
	riastradh-drm2-base:1.1.1.1
	netbsd-6-1:1.1.1.1.0.20
	netbsd-6-0-2-RELEASE:1.1.1.1
	netbsd-6-1-RELEASE:1.1.1.1
	netbsd-6-1-RC4:1.1.1.1
	netbsd-6-1-RC3:1.1.1.1
	agc-symver:1.1.1.1.0.18
	agc-symver-base:1.1.1.1
	netbsd-6-1-RC2:1.1.1.1
	netbsd-6-1-RC1:1.1.1.1
	yamt-pagecache-base8:1.1.1.1
	netbsd-6-0-1-RELEASE:1.1.1.1
	yamt-pagecache-base7:1.1.1.1
	matt-nb6-plus-nbase:1.1.1.1
	yamt-pagecache-base6:1.1.1.1
	netbsd-6-0:1.1.1.1.0.14
	netbsd-6-0-RELEASE:1.1.1.1
	netbsd-6-0-RC2:1.1.1.1
	tls-maxphys:1.1.1.1.0.12
	tls-maxphys-base:1.1.1.1
	matt-nb6-plus:1.1.1.1.0.10
	matt-nb6-plus-base:1.1.1.1
	netbsd-6-0-RC1:1.1.1.1
	yamt-pagecache-base5:1.1.1.1
	yamt-pagecache-base4:1.1.1.1
	xz-5-0-3:1.1.1.1
	netbsd-6:1.1.1.1.0.8
	netbsd-6-base:1.1.1.1
	yamt-pagecache-base3:1.1.1.1
	yamt-pagecache-base2:1.1.1.1
	yamt-pagecache:1.1.1.1.0.6
	yamt-pagecache-base:1.1.1.1
	cherry-xenmp:1.1.1.1.0.4
	cherry-xenmp-base:1.1.1.1
	bouyer-quota2-nbase:1.1.1.1
	bouyer-quota2:1.1.1.1.0.2
	bouyer-quota2-base:1.1.1.1
	matt-mips64-premerge-20101231:1.1.1.1
	xz-5-0-0:1.1.1.1
	XZ:1.1.1;
locks; strict;
comment	@# @;


1.1
date	2010.11.02.15.20.27;	author joerg;	state Exp;
branches
	1.1.1.1;
next	;

1.1.1.1
date	2010.11.02.15.20.27;	author joerg;	state Exp;
branches;
next	1.1.1.2;

1.1.1.2
date	2015.04.17.18.24.54;	author christos;	state Exp;
branches
	1.1.1.2.14.1
	1.1.1.2.16.1;
next	1.1.1.3;
commitid	juY9PuCdiOh0oYhy;

1.1.1.3
date	2018.09.24.22.36.01;	author joerg;	state Exp;
branches
	1.1.1.3.14.1;
next	1.1.1.4;
commitid	qbIr2HhHGiIvppTA;

1.1.1.4
date	2026.04.08.20.28.13;	author christos;	state Exp;
branches;
next	;
commitid	E7kpWUUfSey5ccBG;

1.1.1.2.14.1
date	2018.09.30.01.45.30;	author pgoyette;	state Exp;
branches;
next	;
commitid	SQ44grEPCeKPh4UA;

1.1.1.2.16.1
date	2019.06.10.22.05.06;	author christos;	state Exp;
branches;
next	;
commitid	jtc8rnCzWiEEHGqB;

1.1.1.3.14.1
date	2026.05.07.17.41.22;	author martin;	state Exp;
branches;
next	;
commitid	UDYUnD7C1YWLlUEG;


desc
@@


1.1
log
@Initial revision
@
text
@
XZ Utils
========

    0. Overview
    1. Documentation
       1.1. Overall documentation
       1.2. Documentation for command line tools
       1.3. Documentation for liblzma
    2. Version numbering
    3. Reporting bugs
    4. Translating the xz tool
    5. Other implementations of the .xz format
    6. Contact information


0. Overview
-----------

    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.

    When aiming for the highest compression ratio, LZMA2 encoder uses
    a lot of CPU time and may use, depending on the settings, even
    hundreds of megabytes of RAM. However, in fast modes, LZMA2 encoder
    competes with bzip2 in compression speed, RAM usage, and compression
    ratio.

    LZMA2 is reasonably fast to decompress. It is a little slower than
    gzip, but a lot faster than bzip2. Being fast to decompress means
    that the .xz format is especially nice when the same file will be
    decompressed very many times (usually on different computers), which
    is the case e.g. when distributing software packages. In such
    situations, it's not too bad if the compression takes some time,
    since that needs to be done only once to benefit many people.

    With some file types, combining (or "chaining") LZMA2 with an
    additional filter can improve compression ratio. A filter chain may
    contain up to four filters, although usually only one two is used.
    For example, putting a BCJ (Branch/Call/Jump) filter before LZMA2
    in the filter chain can improve compression ratio of executable files.

    Since the .xz format allows adding new filter IDs, it is possible that
    some day there will be a filter that is, for example, much faster to
    compress than LZMA2 (but probably with worse compression ratio).
    Similarly, it is possible that some day there is a filter that will
    compress better than LZMA2.

    XZ Utils doesn't support multithreaded compression or decompression
    yet. It has been planned though and taken into account when designing
    the .xz file format.


1. Documentation
----------------

1.1. Overall documentation

    README              This file

    INSTALL.generic     Generic install instructions for those not familiar
                        with packages using GNU Autotools
    INSTALL             Installation instructions specific to XZ Utils
    PACKAGERS           Information to packagers of XZ Utils

    COPYING             XZ Utils copyright and license information
    COPYING.GPLv2       GNU General Public License version 2
    COPYING.GPLv3       GNU General Public License version 3
    COPYING.LGPLv2.1    GNU Lesser General Public License version 2.1

    AUTHORS             The main authors of XZ Utils
    THANKS              Incomplete list of people who have helped making
                        this software
    NEWS                User-visible changes between XZ Utils releases
    ChangeLog           Detailed list of changes (commit log)
    TODO                Known bugs and some sort of to-do list

    Note that only some of the above files are included in binary
    packages.


1.2. Documentation for command line tools

    The command line tools are documented as man pages. In source code
    releases (and possibly also in some binary packages), the man pages
    are also provided in plain text (ASCII only) and PDF formats in the
    directory "doc/man" to make the man pages more accessible to those
    whose operating system doesn't provide an easy way to view man pages.


1.3. Documentation for liblzma

    The liblzma API headers include short docs about each function
    and data type as Doxygen tags. These docs should be quite OK as
    a quick reference.

    I have planned to write a bunch of very well documented example
    programs, which (due to comments) should work as a tutorial to
    various features of liblzma. No such example programs have been
    written yet.

    For now, if you have never used liblzma, libbzip2, or zlib, I
    recommend learning *basics* of zlib API. Once you know that, it
    should be easier to learn liblzma.

        http://zlib.net/manual.html
        http://zlib.net/zlib_how.html


2. Version numbering
--------------------

    The version number format of XZ Utils is X.Y.ZS:

      - X is the major version. When this is incremented, the library
        API and ABI break.

      - Y is the minor version. It is incremented when new features are
        added without breaking existing API or ABI. Even Y indicates
        stable release and odd Y indicates unstable (alpha or beta
        version).

      - Z is the revision. This has different meaning for stable and
        unstable releases:
          * Stable: Z is incremented when bugs get fixed without adding
            any new features.
          * Unstable: Z is just a counter. API or ABI of features added
            in earlier unstable releases having the same X.Y may break.

      - S indicates stability of the release. It is missing from the
        stable releases where Y is an even number. When Y is odd, S
        is either "alpha" or "beta" to make it very clear that such
        versions are not stable releases. The same X.Y.Z combination is
        not used for more than one stability level i.e. after X.Y.Zalpha,
        the next version can be X.Y.(Z+1)beta but not X.Y.Zbeta.


3. Reporting bugs
-----------------

    Naturally it is easiest for me if you already know what causes the
    unexpected behavior. Even better if you have a patch to propose.
    However, quite often the reason for unexpected behavior is unknown,
    so here are a few things to do before sending a bug report:

      1. Try to create a small example how to reproduce the issue.

      2. Compile XZ Utils with debugging code using configure switches
         --enable-debug and, if possible, --disable-shared. If you are
         using GCC, use CFLAGS='-O0 -ggdb3'. Don't strip the resulting
         binaries.

      3. Turn on core dumps. The exact command depends on your shell;
         for example in GNU bash it is done with "ulimit -c unlimited",
         and in tcsh with "limit coredumpsize unlimited".

      4. Try to reproduce the suspected bug. If you get "assertion failed"
         message, be sure to include the complete message in your bug
         report. If the application leaves a coredump, get a backtrace
         using gdb:
           $ gdb /path/to/app-binary   # Load the app to the debugger.
           (gdb) core core   # Open the coredump.
           (gdb) bt   # Print the backtrace. Copy & paste to bug report.
           (gdb) quit   # Quit gdb.

    Report your bug via email or IRC (see Contact information below).
    Don't send core dump files or any executables. If you have a small
    example file(s) (total size less than 256 KiB), please include
    it/them as an attachment. If you have bigger test files, put them
    online somewhere and include an URL to the file(s) in the bug report.

    Always include the exact version number of XZ Utils in the bug report.
    If you are using a snapshot from the git repository, use "git describe"
    to get the exact snapshot version. If you are using XZ Utils shipped
    in an operating system distribution, mention the distribution name,
    distribution version, and exact xz package version; if you cannot
    repeat the bug with the code compiled from unpatched source code,
    you probably need to report a bug to your distribution's bug tracking
    system.


4. Translating the xz tool
--------------------------

    The messages from the xz tool have been translated into a few
    languages. Before starting to translate into a new language, ask
    the author that someone else hasn't already started working on it.

    Test your translation. Testing includes comparing the translated
    output to the original English version by running the same commands
    in both your target locale and with LC_ALL=C. Ask someone to
    proof-read and test the translation.

    Testing can be done e.g. by installing xz into a temporary directory:

        ./configure --disable-shared --prefix=/tmp/xz-test
        # <Edit the .po file in the po directory.>
        make -C po update-po
        make install
        bash debug/translations.bash | less
        bash debug/translations.bash | less -S  # For --list outputs

    Repeat the above as needed (no need to re-run configure though).

    Note especially the following:

      - The output of --help and --long-help must look nice on
        a 80-column terminal. It's OK to add extra lines if needed.

      - In contrast, don't add extra lines to error messages and such.
        They are often preceded with e.g. a filename on the same line,
        so you have no way to predict where to put a \n. Let the terminal
        do the wrapping even if it looks ugly. Adding new lines will be
        even uglier in the generic case even if it looks nice in a few
        limited examples.

      - Be careful with column alignment in tables and table-like output
        (--list, --list --verbose --verbose, --info-memory, --help, and
        --long-help):

          * All descriptions of options in --help should start in the
            same column (but it doesn't need to be the same column as
            in the English messages; just be consistent if you change it).
            Check that both --help and --long-help look OK, since they
            share several strings.

          * --list --verbose and --info-memory print lines that have
            the format "Description:   %s". If you need a longer
            description, you can put extra space between the colon
            and %s. Then you may need to add extra space to other
            strings too so that the result as a whole looks good (all
            values start at the same column).

          * The columns of the actual tables in --list --verbose --verbose
            should be aligned properly. Abbreviate if necessary. It might
            be good to keep at least 2 or 3 spaces between column headings
            and avoid spaces in the headings so that the columns stand out
            better, but this is a matter of opinion. Do what you think
            looks best.

      - Be careful to put a period at the end of a sentence when the
        original version has it, and don't put it when the original
        doesn't have it. Similarly, be careful with \n characters
        at the beginning and end of the strings.

      - Read the TRANSLATORS comments that have been extracted from the
        source code and included in xz.pot. If they suggest testing the
        translation with some type of command, do it. If testing needs
        input files, use e.g. tests/files/good-*.xz.

      - When updating the translation, read the fuzzy (modified) strings
        carefully, and don't mark them as updated before you actually
        have updated them. Reading through the unchanged messages can be
        good too; sometimes you may find a better wording for them.

      - If you find language problems in the original English strings,
        feel free to suggest improvements. Ask if something is unclear.

      - The translated messages should be understandable (sometimes this
        may be a problem with the original English messages too). Don't
        make a direct word-by-word translation from English especially if
        the result doesn't sound good in your language.

    In short, take your time and pay attention to the details. Making
    a good translation is not a quick and trivial thing to do. The
    translated xz should look as polished as the English version.


5. Other implementations of the .xz format
------------------------------------------

    7-Zip and the p7zip port of 7-Zip support the .xz format starting
    from the version 9.00alpha.

        http://7-zip.org/
        http://p7zip.sourceforge.net/

    XZ Embedded is a limited implementation written for use in the Linux
    kernel, but it is also suitable for other embedded use.

        http://tukaani.org/xz/embedded.html


6. Contact information
----------------------

    If you have questions, bug reports, patches etc. related to XZ Utils,
    contact Lasse Collin <lasse.collin@@tukaani.org> (in Finnish or English).
    I'm sometimes slow at replying. If you haven't got a reply within two
    weeks, assume that your email has got lost and resend it or use IRC.

    You can find me also from #tukaani on Freenode; my nick is Larhzu.
    The channel tends to be pretty quiet, so just ask your question and
    someone may wake up.

@


1.1.1.1
log
@Import stripped down version of xz-5.0.0. All non-public domain parts
are removed to provide a prestine version.
@
text
@@


1.1.1.2
log
@Date:   2015-02-26 16:53:44 +0200

    Bump version and soname for 5.2.1.


Date:   2015-02-26 13:01:09 +0200

    Update NEWS for 5.2.1.


Date:   2015-02-22 19:38:48 +0200

    xz: Use pipe2() if available.


Date:   2015-02-21 23:40:26 +0200

    liblzma: Fix a compression-ratio regression in LZMA1/2 in fast mode.

    The bug was added in the commit
    f48fce093b07aeda95c18850f5e086d9f2383380 and thus
    affected 5.1.4beta and 5.2.0. Luckily the bug cannot
    cause data corruption or other nasty things.


Date:   2015-02-21 23:00:19 +0200

    xz: Fix the fcntl() usage when creating a pipe for the self-pipe trick.

    Now it reads the old flags instead of blindly setting O_NONBLOCK.
    The old code may have worked correctly, but this is better.


Date:   2015-02-10 15:29:34 +0200

    Update THANKS.


Date:   2015-02-10 15:28:30 +0200

    tuklib_cpucores: Use cpuset_getaffinity() on FreeBSD if available.

    In FreeBSD, cpuset_getaffinity() is the preferred way to get
    the number of available cores.

    Thanks to Rui Paulo for the patch. I edited it slightly, but
    hopefully I didn't break anything.


Date:   2015-02-09 22:08:37 +0200

    xzdiff: Make the mktemp usage compatible with FreeBSD's mktemp.

    Thanks to Rui Paulo for the fix.


Date:   2015-02-03 21:45:53 +0200

    Add a few casts to tuklib_integer.h to silence possible warnings.

    I heard that Visual Studio 2013 gave warnings without the casts.

    Thanks to Gabi Davar.


Date:   2015-01-26 21:24:39 +0200

    liblzma: Set LZMA_MEMCMPLEN_EXTRA depending on the compare method.


Date:   2015-01-26 20:40:16 +0200

    Update THANKS.


Date:   2015-01-26 20:39:28 +0200

    liblzma: Silence harmless Valgrind errors.

    Thanks to Torsten Rupp for reporting this. I had
    forgotten to run Valgrind before the 5.2.0 release.


Date:   2015-01-09 21:50:19 +0200

    xz: Fix comments.


Date:   2015-01-09 21:35:06 +0200

    Update THANKS.


Date:   2015-01-09 21:34:06 +0200

    xz: Don't fail if stdout doesn't support O_NONBLOCK.

    This is similar to the case with stdin.

    Thanks to Brad Smith for the bug report and testing
    on OpenBSD.


Date:   2015-01-07 19:18:20 +0200

    xz: Fix a memory leak in DOS-specific code.


Date:   2015-01-07 19:08:06 +0200

    xz: Don't fail if stdin doesn't support O_NONBLOCK.

    It's a problem at least on OpenBSD which doesn't support
    O_NONBLOCK on e.g. /dev/null. I'm not surprised if it's
    a problem on other OSes too since this behavior is allowed
    in POSIX-1.2008.

    The code relying on this behavior was committed in June 2013
    and included in 5.1.3alpha released on 2013-10-26. Clearly
    the development releases only get limited testing.


Date:   2015-01-06 20:30:15 +0200

    Tests: Don't hide unexpected error messages in test_files.sh.

    Hiding them makes no sense since normally there's no error
    when testing the "good" files. With "bad" files errors are
    expected and then it makes sense to keep the messages hidden.


Date:   2014-12-30 11:17:16 +0200

    Update Solaris notes in INSTALL.

    Mention the possible "make check" failure on Solaris in the
    Solaris-specific section of INSTALL. It was already in
    section 4.5 but it is better mention it in the OS-specific
    section too.


Date:   2014-12-26 12:00:05 +0200

    Build: POSIX shell isn't required if scripts are disabled.


Date:   2014-12-21 20:48:37 +0200

    DOS: Update Makefile.


Date:   2014-12-21 19:50:38 +0200

    Windows: Fix bin_i486 to bin_i686 in build.bash.


Date:   2014-12-21 18:58:44 +0200

    Docs: Use lzma_cputhreads() in 04_compress_easy_mt.c.


Date:   2014-12-21 18:56:44 +0200

    Docs: Update docs/examples/00_README.txt.


Date:   2014-12-21 18:11:17 +0200

    Bump version and soname for 5.2.0.

    I know that soname != app version, but I skip AGE=1
    in -version-info to make the soname match the liblzma
    version anyway. It doesn't hurt anything as long as
    it doesn't conflict with library versioning rules.


Date:   2014-12-21 18:05:03 +0200

    Avoid variable-length arrays in the debug programs.


Date:   2014-12-21 18:01:45 +0200

    Build: Include 04_compress_easy_mt.c in the tarball.


Date:   2014-12-21 18:00:38 +0200

    Fix build when --disable-threads is used.


Date:   2014-12-21 15:56:15 +0100

    po/fr: improve wording for help for --lzma1/--lzma2.


Date:   2014-12-21 15:55:48 +0100

    po/fr: missing line in translation of --extreme.


Date:   2014-12-21 14:32:33 +0200

    Update NEWS for 5.2.0.


Date:   2014-12-21 14:32:22 +0200

    Update NEWS for 5.0.8.


Date:   2014-12-21 14:07:54 +0200

    xz: Fix a comment.


Date:   2014-12-20 20:43:14 +0200

    Update INSTALL about the dependencies of the scripts.


Date:   2014-12-20 20:42:33 +0200

    Windows: Update build instructions.


Date:   2014-12-20 20:41:48 +0200

    Windows: Update the build script and README-Windows.txt.

    The 32-bit build is now for i686 or newer because the
    prebuilt MinGW-w64 toolchains include i686 code in the
    executables even if one uses -march=i486.

    The build script builds 32-bit SSE2 enabled version too.
    Run-time detection of SSE2 support would be nice (on any OS)
    but it's not implemented in XZ Utils yet.


Date:   2014-12-19 15:51:50 +0200

    Windows: Define TUKLIB_SYMBOL_PREFIX in config.h.

    It is to keep all symbols in the lzma_ namespace.


Date:   2014-12-16 21:00:09 +0200

    xz: Update the man page about --threads.


Date:   2014-12-16 20:57:43 +0200

    xz: Update the man page about --block-size.


Date:   2014-12-10 22:26:57 +0100

    po/fr: several more translation updates: reword and handle --ignore-check.


Date:   2014-12-10 22:23:01 +0100

    po/fr: yet another place where my email address had to be updated.


Date:   2014-12-10 22:22:20 +0100

    po/fr: fix several typos that have been around since the beginning.


Date:   2014-12-03 20:02:31 +0100

    po/fr: last batch of new translations for now.

    Four new error messages.


Date:   2014-12-03 20:01:32 +0100

    po/fr: translations for --threads, --block-size and --block-list.


Date:   2014-12-03 20:00:53 +0100

    po/fr: remove fuzzy marker for error messages that will be kept in English.

    The following is a copy of a comment inside fr.po:

    Note from translator on "file status flags".
    The following entry is kept un-translated on purpose. It is difficult to
    translate and should only happen in exceptional circumstances which means
    that translating would:
    - lose some of the meaning
    - make it more difficult to look up in search engines; it might happen one
    in
    a million times, if we dilute the error message in 20 languages, it will be
    almost impossible to find an explanation and support for the error.


Date:   2014-12-03 19:58:25 +0100

    po/fr: several minor updates and better wording.

    Meaning doesn't change at all: it's only for better wording and/or
    formatting of a few strings.


Date:   2014-12-03 19:56:12 +0100

    po/fr: update my email address and copyright years.


Date:   2014-11-26 10:08:26 +0100

    fr.po: commit file after only "update-po" so actual is readable.


Date:   2014-12-02 20:04:07 +0200

    liblzma: Document how lzma_mt.block_size affects memory usage.


Date:   2014-11-28 20:07:18 +0200

    Update INSTALL about a "make check" failure in test_scripts.sh.


Date:   2014-11-26 20:12:27 +0200

    Remove LZMA_UNSTABLE macro.


Date:   2014-11-26 20:10:33 +0200

    liblzma: Update lzma_stream_encoder_mt() API docs.


Date:   2014-11-25 12:32:05 +0200

    liblzma: Verify the filter chain in threaded encoder initialization.

    This way an invalid filter chain is detected at the Stream
    encoder initialization instead of delaying it to the first
    call to lzma_code() which triggers the initialization of
    the actual filter encoder(s).


Date:   2014-11-17 19:11:49 +0200

    Build: Update m4/ax_pthread.m4 from Autoconf Archive.


Date:   2014-11-17 18:52:21 +0200

    Build: Replace obsolete AC_HELP_STRING with AS_HELP_STRING.


Date:   2014-11-17 18:43:19 +0200

    Build: Fix Autoconf warnings about escaped backquotes.

    Thanks to Daniel Richard G. for pointing out that it's
    good to sometimes run autoreconf -fi with -Wall.


Date:   2014-11-10 18:54:40 +0200

    xzdiff: Use mkdir if mktemp isn't available.


Date:   2014-11-10 18:45:01 +0200

    xzdiff: Create a temporary directory to hold a temporary file.

    This avoids the possibility of "File name too long" when
    creating a temp file when the input file name is very long.

    This also means that other users on the system can no longer
    see the input file names in /tmp (or whatever $TMPDIR is)
    since the temporary directory will have a generic name. This
    usually doesn't matter since on many systems one can see
    the arguments given to all processes anyway.

    The number X chars to mktemp where increased from 6 to 10.

    Note that with some shells temp files or dirs won't be used at all.


Date:   2014-11-10 15:38:47 +0200

    liblzma: Fix lzma_mt.preset in lzma_stream_encoder_mt_memusage().

    It read the filter chain from a wrong variable. This is a similar
    bug that was fixed in 9494fb6d0ff41c585326f00aa8f7fe58f8106a5e.


Date:   2014-11-10 14:49:55 +0200

    Update THANKS.


Date:   2014-10-29 21:28:25 +0200

    Update .gitignore files.


Date:   2014-10-29 21:15:35 +0200

    Build: Prepare to support Automake's subdir-objects.

    Due to a bug in Automake, subdir-objects won't be enabled
    for now.

    http://debbugs.gnu.org/cgi/bugreport.cgi?bug=17354

    Thanks to Daniel Richard G. for the original patches.


Date:   2014-10-24 20:09:29 +0300

    Translations: Update the Italian translation.

    Thanks to Milo Casagrande.


Date:   2014-10-18 18:51:45 +0300

    Translations: Update the Polish translation.

    Thanks to Jakub Bogusz.


Date:   2014-10-14 17:30:30 +0200

    l10n: de.po: Change translator email address.

    Although the old address is still working, the new one should
    be preferred. So this commit changes all three places in de.po
    accordingly.

    Signed-off-by: Andre Noll <maan@@tuebingen.mpg.de>


Date:   2014-10-14 17:30:29 +0200

    l10n: de.po: Update German translation

    Signed-off-by: Andre Noll <maan@@systemlinux.org>


Date:   2014-10-14 17:30:28 +0200

    l10n: de.po: Fix typo: Schießen -> Schließen.

    That's a funny one since "schießen" means to shoot :)

    Signed-off-by: Andre Noll <maan@@systemlinux.org>


Date:   2014-10-09 19:42:26 +0300

    Update THANKS.


Date:   2014-10-09 19:41:51 +0300

    Add support for AmigaOS/AROS to tuklib_physmem().

    Thanks to Fredrik Wikstrom.


Date:   2014-10-09 18:42:14 +0300

    xzgrep: Avoid passing both -q and -l to grep.

    The behavior of grep -ql varies:
      - GNU grep behaves like grep -q.
      - OpenBSD grep behaves like grep -l.

    POSIX doesn't make it 100 % clear what behavior is expected.
    Anyway, using both -q and -l at the same time makes no sense
    so both options simply should never be used at the same time.

    Thanks to Christian Weisgerber.


Date:   2014-09-25 09:22:45 +0700

    l10n: vi.po: Update Vietnamese translation

    Signed-off-by: Trần Ngọc Quân <vnwildman@@gmail.com>


Date:   2014-09-25 18:38:48 +0300

    Build: Detect supported compiler warning flags better.

    Clang and nowadays also GCC accept any -Wfoobar option
    but then may give a warning that an unknown warning option
    was specified. To avoid adding unsupported warning options,
    the options are now tested with -Werror.

    Thanks to Charles Diza.


Date:   2014-09-20 21:01:21 +0300

    Update NEWS for 5.0.7.


Date:   2014-09-20 19:42:56 +0300

    liblzma: Fix a portability problem in Makefile.am.

    POSIX supports $< only in inference rules (suffix rules).
    Using it elsewhere is a GNU make extension and doesn't
    work e.g. with OpenBSD make.

    Thanks to Christian Weisgerber for the patch.


Date:   2014-09-14 21:54:09 +0300

    Bump the version number to 5.1.4beta.


Date:   2014-09-14 21:50:13 +0300

    Update NEWS for 5.0.6 and 5.1.4beta.


Date:   2014-09-14 21:02:41 +0300

    Update TODO.


Date:   2014-08-05 22:32:36 +0300

    xz: Add --ignore-check.


Date:   2014-08-05 22:15:07 +0300

    liblzma: Add support for LZMA_IGNORE_CHECK.


Date:   2014-08-05 22:03:30 +0300

    liblzma: Add support for lzma_block.ignore_check.

    Note that this slightly changes how lzma_block_header_decode()
    has been documented. Earlier it said that the .version is set
    to the lowest required value, but now it says that the .version
    field is kept unchanged if possible. In practice this doesn't
    affect any old code, because before this commit the only
    possible .version was 0.


Date:   2014-08-04 19:25:58 +0300

    liblzma: Use lzma_memcmplen() in the BT3 match finder.

    I had missed this when writing the commit
    5db75054e900fa06ef5ade5f2c21dffdd5d16141.

    Thanks to Jun I Jin.


Date:   2014-08-04 00:25:44 +0300

    Update THANKS.


Date:   2014-08-03 21:32:25 +0300

    liblzma: SHA-256: Optimize the Maj macro slightly.

    The Maj macro is used where multiple things are added
    together, so making Maj a sum of two expressions allows
    some extra freedom for the compiler to schedule the
    instructions.

    I learned this trick from
    <http://www.hackersdelight.org/corres.txt>.


Date:   2014-08-03 21:08:12 +0300

    liblzma: SHA-256: Optimize the way rotations are done.

    This looks weird because the rotations become sequential,
    but it helps quite a bit on both 32-bit and 64-bit x86:

      - It requires fewer instructions on two-operand
        instruction sets like x86.

      - It requires one register less which matters especially
        on 32-bit x86.

    I hope this doesn't hurt other archs.

    I didn't invent this idea myself, but I don't remember where
    I saw it first.


Date:   2014-08-03 20:38:13 +0300

    liblzma: SHA-256: Remove the GCC #pragma that became unneeded.

    The unrolling in the previous commit should avoid the
    situation where a compiler may think that an uninitialized
    variable might be accessed.


Date:   2014-08-03 20:33:38 +0300

    liblzma: SHA-256: Unroll a little more.

    This way a branch isn't needed for each operation
    to choose between blk0 and blk2, and still the code
    doesn't grow as much as it would with full unrolling.


Date:   2014-08-03 19:56:43 +0300

    liblzma: SHA-256: Do the byteswapping without a temporary buffer.


Date:   2014-07-25 22:38:28 +0300

    liblzma: Use lzma_memcmplen() in normal mode of LZMA.

    Two locations were not changed yet because the simplest change
    assumes that the initial "len" may be greater than "limit".


Date:   2014-07-25 22:30:38 +0300

    liblzma: Simplify LZMA fast mode code by using memcmp().


Date:   2014-07-25 22:29:49 +0300

    liblzma: Use lzma_memcmplen() in fast mode of LZMA.


Date:   2014-07-25 21:16:23 +0300

    Update THANKS.


Date:   2014-07-25 21:15:07 +0300

    liblzma: Use lzma_memcmplen() in the match finders.

    This doesn't change the match finder output.


Date:   2014-07-25 20:57:20 +0300

    liblzma: Add lzma_memcmplen() for fast memory comparison.

    This commit just adds the function. Its uses will be in
    separate commits.

    This hasn't been tested much yet and it's perhaps a bit early
    to commit it but if there are bugs they should get found quite
    quickly.

    Thanks to Jun I Jin from Intel for help and for pointing out
    that string comparison needs to be optimized in liblzma.


Date:   2014-07-12 21:10:09 +0300

    Update THANKS.


Date:   2014-07-12 20:06:08 +0300

    Translations: Add Vietnamese translation.

    Thanks to Trần Ngọc Quân.


Date:   2014-06-29 20:54:14 +0300

    xz: Update the help message of a few options.

    Updated: --threads, --block-size, and --block-list
    Added: --flush-timeout


Date:   2014-06-18 22:07:06 +0300

    xz: Use lzma_cputhreads() instead of own copy of tuklib_cpucores().


Date:   2014-06-18 22:04:24 +0300

    liblzma: Add lzma_cputhreads().


Date:   2014-06-18 19:11:52 +0300

    xz: Check for filter chain compatibility for --flush-timeout.

    This avoids LZMA_PROG_ERROR from lzma_code() with filter chains
    that don't support LZMA_SYNC_FLUSH.


Date:   2014-06-13 19:21:54 +0300

    xzgrep: List xzgrep_expected_output in tests/Makefile.am.


Date:   2014-06-13 18:58:22 +0300

    xzgrep: Improve the test script.

    Now it should be close to the functionality of the original
    version by Pavel Raiskup.


Date:   2014-06-11 21:03:25 +0300

    xzgrep: Add a test for the previous fix.

    This is a simplified version of Pavel Raiskup's
    original patch.


Date:   2014-06-11 20:43:28 +0300

    xzgrep: exit 0 when at least one file matches.

    Mimic the original grep behavior and return exit_success when
    at least one xz compressed file matches given pattern.

    Original bugreport:
    https://bugzilla.redhat.com/show_bug.cgi?id=1108085

    Thanks to Pavel Raiskup for the patch.


Date:   2014-06-09 21:21:24 +0300

    xz: Force single-threaded mode when --flush-timeout is used.


Date:   2014-05-25 22:05:39 +0300

    Update THANKS.


Date:   2014-05-25 21:45:56 +0300

    liblzma: Use lzma_alloc_zero() in LZ encoder initialization.

    This avoids a memzero() call for a newly-allocated memory,
    which can be expensive when encoding small streams with
    an over-sized dictionary.

    To avoid using lzma_alloc_zero() for memory that doesn't
    need to be zeroed, lzma_mf.son is now allocated separately,
    which requires handling it separately in normalize() too.

    Thanks to Vincenzo Innocente for reporting the problem.


Date:   2014-05-25 19:25:57 +0300

    liblzma: Add the internal function lzma_alloc_zero().


Date:   2014-05-08 18:03:09 +0300

    xz: Fix uint64_t vs. size_t which broke 32-bit build.

    Thanks to Christian Hesse.


Date:   2014-05-04 11:09:11 +0300

    Docs: Update comments to refer to lzma/lzma12.h in example programs.


Date:   2014-05-04 11:07:17 +0300

    liblzma: Rename the private API header lzma/lzma.h to lzma/lzma12.h.

    It can be confusing that two header files have the same name.
    The public API file is still lzma.h.


Date:   2014-04-25 17:53:42 +0300

    Build: Fix the combination of --disable-xzdec --enable-lzmadec.

    In this case "make install" could fail if the man page directory
    didn't already exist at the destination. If it did exist, a
    dangling symlink was created there. Now the link is omitted
    instead. This isn't the best fix but it's better than the old
    behavior.


Date:   2014-04-25 17:44:26 +0300

    Build: Add --disable-doc to configure.


Date:   2014-04-24 18:06:24 +0300

    Update INSTALL.

    Add a note about failing "make check". The source of
    the problem should be fixed in libtool (if it really is
    a libtool bug and not mine) but I'm unable to spend time
    on that for now. Thanks to Nelson H. F. Beebe for reporting
    the issue.

    Add a note about a possible need to run "ldconfig" after
    "make install".


Date:   2014-04-09 17:26:10 +0300

    xz: Rename a variable to avoid a namespace collision on Solaris.

    I don't know the details but I have an impression that there's
    no problem in practice if using GCC since people have built xz
    with GCC (without patching xz), but renaming the variable cannot
    hurt either.

    Thanks to Mark Ashley.


Date:   2014-01-29 20:19:41 +0200

    Docs: Add example program for threaded encoding.

    I didn't add -DLZMA_UNSTABLE to Makefile so one has to
    specify it manually as long as LZMA_UNSTABLE is needed.


Date:   2014-01-29 20:13:51 +0200

    liblzma: Fix lzma_mt.preset not working with lzma_stream_encoder_mt().

    It read the filter chain from a wrong variable.


Date:   2014-01-20 11:20:40 +0200

    liblzma: Fix typo in a comment.


Date:   2014-01-12 19:38:43 +0200

    Windows: Add config.h for building liblzma with MSVC 2013.

    This is for building liblzma. Building xz tool too requires
    a little more work. Maybe it will be supported, but for most
    MSVC users it's enough to be able to build liblzma.

    C99 support in MSVC 2013 is almost usable which is a big
    improvement over earlier versions. It's "almost" because
    there's a dumb bug that breaks mixed declarations after
    an "if" statements unless the "if" statement uses braces:

    https://connect.microsoft.com/VisualStudio/feedback/details/808650/visual-studio-2013-c99-compiler-bug
    https://connect.microsoft.com/VisualStudio/feedback/details/808472/c99-support-of-mixed-declarations-and-statements-fails-with-certain-types-and-constructs

    Hopefully it will get fixed. Then liblzma should be
    compilable with MSVC 2013 without patching.


Date:   2014-01-12 17:41:14 +0200

    xz: Fix a comment.


Date:   2014-01-12 17:04:33 +0200

    Windows: Add MSVC defines for inline and restrict keywords.


Date:   2014-01-12 16:44:52 +0200

    liblzma: Avoid C99 compound literal arrays.

    MSVC 2013 doesn't like them. Maybe they aren't so good
    for readability either since many aren't used to them.


Date:   2014-01-12 12:50:30 +0200

    liblzma: Remove a useless C99ism from sha256.c.

    Unsurprisingly it makes no difference in compiled output.


Date:   2014-01-12 12:17:08 +0200

    xz: Fix use of wrong variable.

    Since the only call to suffix_set() uses optarg
    as the argument, fixing this bug doesn't change
    the behavior of the program.


Date:   2014-01-12 12:11:36 +0200

    Fix typos in comments.


Date:   2013-11-26 18:20:16 +0200

    Update THANKS.


Date:   2013-11-26 18:20:09 +0200

    liblzma: Document the need for block->check for lzma_block_header_decode().

    Thanks to Tomer Chachamu.


Date:   2013-11-12 16:38:57 +0200

    xz: Update the man page about --block-size and --block-list.


Date:   2013-11-12 16:30:53 +0200

    Update THANKS.


Date:   2013-11-12 16:29:48 +0200

    xz: Make --block-list and --block-size work together in single-threaded.

    Previously, --block-list and --block-size only worked together
    in threaded mode. Boundaries are specified by --block-list, but
    --block-size specifies the maximum size for a Block. Now this
    works in single-threaded mode too.

    Thanks to James M Leddy for the original patch.


Date:   2013-10-26 13:26:14 +0300

    Bump the version number to 5.1.3alpha.


Date:   2013-10-26 13:25:02 +0300

    Update NEWS for 5.1.3alpha.


Date:   2013-10-26 12:47:04 +0300

    Update TODO.


Date:   2013-10-25 22:41:28 +0300

    xz: Document behavior of --block-list with threads.

    This needs to be updated before 5.2.0.


Date:   2013-10-22 20:03:12 +0300

    xz: Document --flush-timeout=TIMEOUT on the man page.


Date:   2013-10-22 19:51:55 +0300

    xz: Take advantage of LZMA_FULL_BARRIER with --block-list.

    Now if --block-list is used in threaded mode, the encoder
    won't need to flush at each Block boundary specified via
    --block-list. This improves performance a lot, making
    threading helpful with --block-list.

    The flush timer was reset after LZMA_FULL_FLUSH but since
    LZMA_FULL_BARRIER doesn't flush, resetting the timer is
    no longer done.


Date:   2013-10-02 20:05:23 +0300

    liblzma: Support LZMA_FULL_FLUSH and _BARRIER in threaded encoder.

    Now --block-list=SIZES works with in the threaded mode too,
    although the performance is still bad due to the use of
    LZMA_FULL_FLUSH instead of the new LZMA_FULL_BARRIER.


Date:   2013-10-02 12:55:11 +0300

    liblzma: Add LZMA_FULL_BARRIER support to single-threaded encoder.

    In the single-threaded encoder LZMA_FULL_BARRIER is simply
    an alias for LZMA_FULL_FLUSH.


Date:   2013-09-17 11:57:51 +0300

    liblzma: Add block_buffer_encoder.h into Makefile.inc.

    This should have been in b465da5988dd59ad98fda10c2e4ea13d0b9c73bc.


Date:   2013-09-17 11:55:38 +0300

    xz: Add a missing test for TUKLIB_DOSLIKE.


Date:   2013-09-17 11:52:28 +0300

    Add native threading support on Windows.

    Now liblzma only uses "mythread" functions and types
    which are defined in mythread.h matching the desired
    threading method.

    Before Windows Vista, there is no direct equivalent to
    pthread condition variables. Since this package doesn't
    use pthread_cond_broadcast(), pre-Vista threading can
    still be kept quite simple. The pre-Vista code doesn't
    use anything that wasn't already available in Windows 95,
    so the binaries should run even on Windows 95 if someone
    happens to care.


Date:   2013-09-11 14:40:35 +0300

    Build: Remove a comment about Automake 1.10 from configure.ac.

    The previous commit supports silent rules and that requires
    Automake 1.11.


Date:   2013-09-09 20:37:03 +0300

    Build: Create liblzma.pc in a src/liblzma/Makefile.am.

    Previously it was done in configure, but doing that goes
    against the Autoconf manual. Autoconf requires that it is
    possible to override e.g. prefix after running configure
    and that doesn't work correctly if liblzma.pc is created
    by configure.

    A potential downside of this change is that now e.g.
    libdir in liblzma.pc is a standalone string instead of
    being defined via ${prefix}, so if one overrides prefix
    when running pkg-config the libdir won't get the new value.
    I don't know if this matters in practice.

    Thanks to Vincent Torri.


Date:   2013-08-04 15:24:09 +0300

    Fix the previous commit which broke the build.

    Apparently I didn't even compile-test the previous commit.

    Thanks to Christian Hesse.


Date:   2013-08-03 13:52:58 +0300

    Windows: Add Windows support to tuklib_cpucores().

    It is used for Cygwin too. I'm not sure if that is
    a good or bad idea.

    Thanks to Vincent Torri.


Date:   2013-08-02 15:59:46 +0200

    macosx: separate liblzma package


Date:   2013-08-02 15:58:44 +0200

    macosx: set minimum to leopard


Date:   2011-08-07 13:13:30 +0200

    move configurables into variables


Date:   2013-07-15 14:08:41 +0300

    Update THANKS.


Date:   2013-07-15 14:08:02 +0300

    Build: Fix the detection of missing CRC32.

    Thanks to Vincent Torri.


Date:   2013-07-04 14:18:46 +0300

    xz: Add preliminary support for --flush-timeout=TIMEOUT.

    When --flush-timeout=TIMEOUT is used, xz will use
    LZMA_SYNC_FLUSH if read() would block and at least
    TIMEOUT milliseconds has elapsed since the previous flush.

    This can be useful in realtime-like use cases where the
    data is simultanously decompressed by another process
    (possibly on a different computer). If new uncompressed
    input data is produced slowly, without this option xz could
    buffer the data for a long time until it would become
    decompressible from the output.

    If TIMEOUT is 0, the feature is disabled. This is the default.

    This commit affects the compression side. Using xz for
    the decompression side for the above purpose doesn't work
    yet so well because there is quite a bit of input and
    output buffering when decompressing.

    The --long-help or man page were not updated yet.
    The details of this feature may change.


Date:   2013-07-04 13:41:03 +0300

    xz: Don't set src_eof=true after an I/O error because it's useless.


Date:   2013-07-04 13:25:11 +0300

    xz: Fix the test when to read more input.

    Testing for end of file was no longer correct after full flushing
    became possible with --block-size=SIZE and --block-list=SIZES.
    There was no bug in practice though because xz just made a few
    unneeded zero-byte reads.


Date:   2013-07-04 12:51:57 +0300

    xz: Move some of the timing code into mytime.[hc].

    This switches units from microseconds to milliseconds.

    New clock_gettime(CLOCK_MONOTONIC) will be used if available.
    There is still a fallback to gettimeofday().


Date:   2013-07-01 14:35:03 +0300

    Update THANKS.


Date:   2013-07-01 14:34:11 +0300

    xz: Silence a warning seen with _FORTIFY_SOURCE=2.

    Thanks to Christian Hesse.
@
text
@d8 1
a8 1
       1.2. Documentation for command-line tools
d20 2
a21 2
    XZ Utils provide a general-purpose data-compression library plus
    command-line tools. The native file format is the .xz format, but
d23 1
a23 1
    multiple compression algorithms, which are called "filters" in the
d29 2
a30 2
    popular zlib library. For the same reason, the command-line tool xz
    has a command-line syntax similar to that of gzip.
d32 1
a32 1
    When aiming for the highest compression ratio, the LZMA2 encoder uses
d34 1
a34 1
    hundreds of megabytes of RAM. However, in fast modes, the LZMA2 encoder
d47 2
a48 2
    additional filter can improve the compression ratio. A filter chain may
    contain up to four filters, although usually only one or two are used.
d91 1
a91 1
1.2. Documentation for command-line tools
d93 1
a93 1
    The command-line tools are documented as man pages. In source code
d112 2
a113 2
    recommend learning the *basics* of the zlib API. Once you know that,
    it should be easier to learn liblzma.
d127 4
a130 4
      - Y is the minor version. It is incremented when new features
        are added without breaking the existing API or ABI. An even Y
        indicates a stable release and an odd Y indicates unstable
        (alpha or beta version).
d132 1
a132 1
      - Z is the revision. This has a different meaning for stable and
a133 1

d135 1
a135 4
            any new features. This is intended to be convenient for
            downstream distributors that want bug fixes but don't want
            any new features to minimize the risk of introducing new bugs.

d140 1
a140 1
        stable releases, where Y is an even number. When Y is odd, S
d143 1
a143 1
        not used for more than one stability level, i.e. after X.Y.Zalpha,
d179 1
a179 1
    online somewhere and include a URL to the file(s) in the bug report.
d196 1
a196 1
    the author whether someone else hasn't already started working on it.
d209 2
a210 2
        bash debug/translation.bash | less
        bash debug/translation.bash | less -S  # For --list outputs
d217 1
a217 1
        an 80-column terminal. It's OK to add extra lines if needed.
@


1.1.1.2.16.1
log
@Sync with HEAD
@
text
@d294 1
a294 1
        https://tukaani.org/xz/embedded.html
@


1.1.1.2.14.1
log
@Ssync with HEAD
@
text
@d294 1
a294 1
        https://tukaani.org/xz/embedded.html
@


1.1.1.3
log
@Import xz 5.2.4.
@
text
@d294 1
a294 1
        https://tukaani.org/xz/embedded.html
@


1.1.1.3.14.1
log
@Pull up the following, requested by christos in ticket #270:

	external/public-domain/xz/dist/doc/examples/11_file_info.c up to 1.1.1.1
	external/public-domain/xz/dist/po/pt_BR.gmo     up to 1.1.1.1
	external/public-domain/xz/dist/po/ca.gmo        up to 1.1.1.1
	external/public-domain/xz/dist/po/ca.po         up to 1.1.1.1
	external/public-domain/xz/dist/po/da.gmo        up to 1.1.1.1
	external/public-domain/xz/dist/po/da.po         up to 1.1.1.1
	external/public-domain/xz/dist/po/eo.gmo        up to 1.1.1.1
	external/public-domain/xz/dist/po/eo.po         up to 1.1.1.1
	external/public-domain/xz/dist/po/es.gmo        up to 1.1.1.1
	external/public-domain/xz/dist/po/es.po         up to 1.1.1.1
	external/public-domain/xz/dist/po/fi.gmo        up to 1.1.1.1
	external/public-domain/xz/dist/po/fi.po         up to 1.1.1.1
	external/public-domain/xz/dist/po/hr.gmo        up to 1.1.1.1
	external/public-domain/xz/dist/po/hr.po         up to 1.1.1.1
	external/public-domain/xz/dist/po/hu.gmo        up to 1.1.1.1
	external/public-domain/xz/dist/po/hu.po         up to 1.1.1.1
	external/public-domain/xz/dist/po/ka.gmo        up to 1.1.1.1
	external/public-domain/xz/dist/po/ka.po         up to 1.1.1.1
	external/public-domain/xz/dist/po/ko.gmo        up to 1.1.1.1
	external/public-domain/xz/dist/po/ko.po         up to 1.1.1.1
	external/public-domain/xz/dist/po/nl.gmo        up to 1.1.1.1
	external/public-domain/xz/dist/po/nl.po         up to 1.1.1.1
	external/public-domain/xz/dist/po/pt.gmo        up to 1.1.1.1
	external/public-domain/xz/dist/po/pt.po         up to 1.1.1.1
	external/public-domain/xz/dist/po/pt_BR.po      up to 1.1.1.1
	external/public-domain/xz/dist/po/ro.gmo        up to 1.1.1.1
	external/public-domain/xz/dist/po/ro.po         up to 1.1.1.1
	external/public-domain/xz/dist/po/sr.gmo        up to 1.1.1.1
	external/public-domain/xz/dist/po/sr.po         up to 1.1.1.1
	external/public-domain/xz/dist/po/sv.gmo        up to 1.1.1.1
	external/public-domain/xz/dist/po/sv.po         up to 1.1.1.1
	external/public-domain/xz/dist/po/tr.gmo        up to 1.1.1.1
	external/public-domain/xz/dist/po/tr.po         up to 1.1.1.1
	external/public-domain/xz/dist/po/uk.gmo        up to 1.1.1.1
	external/public-domain/xz/dist/po/uk.po         up to 1.1.1.1
	external/public-domain/xz/dist/po/zh_CN.gmo     up to 1.1.1.1
	external/public-domain/xz/dist/po/zh_CN.po      up to 1.1.1.1
	external/public-domain/xz/dist/po/zh_TW.gmo     up to 1.1.1.1
	external/public-domain/xz/dist/po/zh_TW.po      up to 1.1.1.1
	external/public-domain/xz/dist/src/common/my_landlock.h up to 1.1.1.1
	external/public-domain/xz/dist/src/common/tuklib_mbstr_nonprint.c up to 1.1.1.1
	external/public-domain/xz/dist/src/common/tuklib_mbstr_nonprint.h up to 1.1.1.1
	external/public-domain/xz/dist/src/common/tuklib_mbstr_wrap.c up to 1.1.1.1
	external/public-domain/xz/dist/src/common/tuklib_mbstr_wrap.h up to 1.1.1.1
	external/public-domain/xz/dist/src/common/w32_application.manifest up to 1.1.1.1
	external/public-domain/xz/dist/src/common/w32_application.manifest.comments.txt up to 1.1.1.1
	external/public-domain/xz/dist/src/liblzma/check/crc_common.h up to 1.1.1.1
	external/public-domain/xz/dist/src/liblzma/check/crc_x86_clmul.h up to 1.1.1.1
	external/public-domain/xz/dist/src/liblzma/check/crc32_arm64.h up to 1.1.1.1
	external/public-domain/xz/dist/src/liblzma/check/crc32_loongarch.h up to 1.1.1.1
	external/public-domain/xz/dist/src/liblzma/check/crc_clmul_consts_gen.c up to 1.1.1.1
	external/public-domain/xz/dist/src/liblzma/common/file_info.c up to 1.1.1.1
	external/public-domain/xz/dist/src/liblzma/common/index_decoder.h up to 1.1.1.1
	external/public-domain/xz/dist/src/liblzma/common/lzip_decoder.c up to 1.1.1.1
	external/public-domain/xz/dist/src/liblzma/common/lzip_decoder.h up to 1.1.1.1
	external/public-domain/xz/dist/src/liblzma/common/microlzma_decoder.c up to 1.1.1.1
	external/public-domain/xz/dist/src/liblzma/common/microlzma_encoder.c up to 1.1.1.1
	external/public-domain/xz/dist/src/liblzma/common/stream_decoder_mt.c up to 1.1.1.1
	external/public-domain/xz/dist/src/liblzma/common/string_conversion.c up to 1.1.1.1
	external/public-domain/xz/dist/src/liblzma/simple/arm64.c up to 1.1.1.1
	external/public-domain/xz/dist/src/liblzma/simple/riscv.c up to 1.1.1.1
	external/public-domain/xz/dist/src/liblzma/liblzma_generic.map up to 1.1.1.1
	external/public-domain/xz/dist/src/liblzma/liblzma_linux.map up to 1.1.1.1
	external/public-domain/xz/dist/src/xz/sandbox.c up to 1.1.1.1
	external/public-domain/xz/dist/src/xz/sandbox.h up to 1.1.1.1
	external/public-domain/xz/dist/tests/files/good-1-v0-trailing-1.lz up to 1.1.1.1
	external/public-domain/xz/dist/tests/files/good-2-v0-v1.lz up to 1.1.1.1
	external/public-domain/xz/dist/tests/files/bad-1-check-crc32-2.xz.base64 up to 1.1.1.1
	external/public-domain/xz/dist/tests/files/bad-1-lzma2-10.xz.base64 up to 1.1.1.1
	external/public-domain/xz/dist/tests/files/bad-1-lzma2-9.xz.base64 up to 1.1.1.1
	external/public-domain/xz/dist/tests/files/bad-1-lzma2-11.xz.base64 up to 1.1.1.1
	external/public-domain/xz/dist/tests/files/bad-1-v0-uncomp-size.lz up to 1.1.1.1
	external/public-domain/xz/dist/tests/files/bad-1-v1-crc32.lz up to 1.1.1.1
	external/public-domain/xz/dist/tests/files/bad-1-v1-dict-1.lz up to 1.1.1.1
	external/public-domain/xz/dist/tests/files/bad-1-v1-dict-2.lz up to 1.1.1.1
	external/public-domain/xz/dist/tests/files/bad-1-v1-magic-1.lz up to 1.1.1.1
	external/public-domain/xz/dist/tests/files/bad-1-v1-magic-2.lz up to 1.1.1.1
	external/public-domain/xz/dist/tests/files/bad-1-v1-member-size.lz up to 1.1.1.1
	external/public-domain/xz/dist/tests/files/bad-1-v1-trailing-magic.lz up to 1.1.1.1
	external/public-domain/xz/dist/tests/files/bad-1-v1-uncomp-size.lz up to 1.1.1.1
	external/public-domain/xz/dist/tests/files/bad-3-index-uncomp-overflow.xz.base64 up to 1.1.1.1
	external/public-domain/xz/dist/tests/files/bad-too_big_size-with_eopm.lzma up to 1.1.1.1
	external/public-domain/xz/dist/tests/files/bad-too_small_size-without_eopm-1.lzma up to 1.1.1.1
	external/public-domain/xz/dist/tests/files/bad-too_small_size-without_eopm-2.lzma up to 1.1.1.1
	external/public-domain/xz/dist/tests/files/bad-too_small_size-without_eopm-3.lzma up to 1.1.1.1
	external/public-domain/xz/dist/tests/files/bad-unknown_size-without_eopm.lzma up to 1.1.1.1
	external/public-domain/xz/dist/tests/files/good-1-arm64-lzma2-1.xz.base64 up to 1.1.1.1
	external/public-domain/xz/dist/tests/files/good-1-arm64-lzma2-2.xz.base64 up to 1.1.1.1
	external/public-domain/xz/dist/tests/files/good-1-empty-bcj-lzma2.xz.base64 up to 1.1.1.1
	external/public-domain/xz/dist/tests/files/good-1-v0.lz up to 1.1.1.1
	external/public-domain/xz/dist/tests/files/good-1-v1-trailing-1.lz up to 1.1.1.1
	external/public-domain/xz/dist/tests/files/good-1-v1-trailing-2.lz up to 1.1.1.1
	external/public-domain/xz/dist/tests/files/good-1-v1.lz up to 1.1.1.1
	external/public-domain/xz/dist/tests/files/good-2-v1-v0.lz up to 1.1.1.1
	external/public-domain/xz/dist/tests/files/good-2-v1-v1.lz up to 1.1.1.1
	external/public-domain/xz/dist/tests/files/good-known_size-with_eopm.lzma up to 1.1.1.1
	external/public-domain/xz/dist/tests/files/good-known_size-without_eopm.lzma up to 1.1.1.1
	external/public-domain/xz/dist/tests/files/good-unknown_size-with_eopm.lzma up to 1.1.1.1
	external/public-domain/xz/dist/tests/files/unsupported-1-v234.lz up to 1.1.1.1
	external/public-domain/xz/dist/tests/ossfuzz/config/fuzz_decode_alone.options up to 1.1.1.1
	external/public-domain/xz/dist/tests/ossfuzz/config/fuzz_decode_stream.options up to 1.1.1.1
	external/public-domain/xz/dist/tests/ossfuzz/config/fuzz_decode_stream_mt.options up to 1.1.1.1
	external/public-domain/xz/dist/tests/ossfuzz/config/fuzz_encode_stream.options up to 1.1.1.1
	external/public-domain/xz/dist/tests/ossfuzz/config/fuzz_lzma.dict up to 1.1.1.1
	external/public-domain/xz/dist/tests/ossfuzz/config/fuzz_xz.dict up to 1.1.1.1
	external/public-domain/xz/dist/tests/ossfuzz/fuzz_common.h up to 1.1.1.1
	external/public-domain/xz/dist/tests/ossfuzz/fuzz_decode_alone.c up to 1.1.1.1
	external/public-domain/xz/dist/tests/ossfuzz/fuzz_decode_stream.c up to 1.1.1.1
	external/public-domain/xz/dist/tests/ossfuzz/fuzz_decode_stream_mt.c up to 1.1.1.1
	external/public-domain/xz/dist/tests/ossfuzz/fuzz_encode_stream.c up to 1.1.1.1
	external/public-domain/xz/dist/tests/test_compress_generated_abc up to 1.1.1.1
	external/public-domain/xz/dist/tests/test_compress_generated_random up to 1.1.1.1
	external/public-domain/xz/dist/tests/test_compress_generated_text up to 1.1.1.1
	external/public-domain/xz/dist/tests/test_filter_str.c up to 1.1.1.1
	external/public-domain/xz/dist/tests/test_hardware.c up to 1.1.1.1
	external/public-domain/xz/dist/tests/test_index_hash.c up to 1.1.1.1
	external/public-domain/xz/dist/tests/test_lzip_decoder.c up to 1.1.1.1
	external/public-domain/xz/dist/tests/test_memlimit.c up to 1.1.1.1
	external/public-domain/xz/dist/tests/test_microlzma.c up to 1.1.1.1
	external/public-domain/xz/dist/tests/test_suffix.sh up to 1.1.1.1
	external/public-domain/xz/dist/tests/test_vli.c up to 1.1.1.1
	external/public-domain/xz/dist/tests/tests.cmake up to 1.1.1.1
	external/public-domain/xz/dist/tests/tests_w32res.rc up to 1.1.1.1
	external/public-domain/xz/dist/tests/tuktest.h  up to 1.1.1.1
	external/public-domain/xz/dist/build-aux/license-check.sh up to 1.1.1.1
	external/public-domain/xz/dist/build-aux/test-driver up to 1.1.1.1
	external/public-domain/xz/dist/cmake/remove-ordinals.cmake up to 1.1.1.1
	external/public-domain/xz/dist/cmake/tuklib_common.cmake up to 1.1.1.1
	external/public-domain/xz/dist/cmake/tuklib_cpucores.cmake up to 1.1.1.1
	external/public-domain/xz/dist/cmake/tuklib_integer.cmake up to 1.1.1.1
	external/public-domain/xz/dist/cmake/tuklib_large_file_support.cmake up to 1.1.1.1
	external/public-domain/xz/dist/cmake/tuklib_mbstr.cmake up to 1.1.1.1
	external/public-domain/xz/dist/cmake/tuklib_physmem.cmake up to 1.1.1.1
	external/public-domain/xz/dist/cmake/tuklib_progname.cmake up to 1.1.1.1
	external/public-domain/xz/dist/CMakeLists.txt   up to 1.1.1.1
	external/public-domain/xz/dist/COPYING.0BSD     up to 1.1.1.1
	external/public-domain/xz/dist/doxygen/Doxyfile up to 1.1.1.1
	external/public-domain/xz/dist/doxygen/update-doxygen up to 1.1.1.1
	external/public-domain/xz/dist/po4a/po4a.conf   up to 1.1.1.1
	external/public-domain/xz/dist/po4a/ar.po       up to 1.1.1.1
	external/public-domain/xz/dist/po4a/de.po       up to 1.1.1.1
	external/public-domain/xz/dist/po4a/fr.po       up to 1.1.1.1
	external/public-domain/xz/dist/po4a/it.po       up to 1.1.1.1
	external/public-domain/xz/dist/po4a/ko.po       up to 1.1.1.1
	external/public-domain/xz/dist/po4a/man/ar/lzmainfo.1 up to 1.1.1.1
	external/public-domain/xz/dist/po4a/man/ar/xz.1 up to 1.1.1.1
	external/public-domain/xz/dist/po4a/man/ar/xzdec.1 up to 1.1.1.1
	external/public-domain/xz/dist/po4a/man/ar/xzdiff.1 up to 1.1.1.1
	external/public-domain/xz/dist/po4a/man/ar/xzgrep.1 up to 1.1.1.1
	external/public-domain/xz/dist/po4a/man/ar/xzless.1 up to 1.1.1.1
	external/public-domain/xz/dist/po4a/man/ar/xzmore.1 up to 1.1.1.1
	external/public-domain/xz/dist/po4a/man/de/lzmainfo.1 up to 1.1.1.1
	external/public-domain/xz/dist/po4a/man/de/xz.1 up to 1.1.1.1
	external/public-domain/xz/dist/po4a/man/de/xzdec.1 up to 1.1.1.1
	external/public-domain/xz/dist/po4a/man/de/xzdiff.1 up to 1.1.1.1
	external/public-domain/xz/dist/po4a/man/de/xzgrep.1 up to 1.1.1.1
	external/public-domain/xz/dist/po4a/man/de/xzless.1 up to 1.1.1.1
	external/public-domain/xz/dist/po4a/man/de/xzmore.1 up to 1.1.1.1
	external/public-domain/xz/dist/po4a/man/fr/lzmainfo.1 up to 1.1.1.1
	external/public-domain/xz/dist/po4a/man/fr/xz.1 up to 1.1.1.1
	external/public-domain/xz/dist/po4a/man/fr/xzdec.1 up to 1.1.1.1
	external/public-domain/xz/dist/po4a/man/fr/xzless.1 up to 1.1.1.1
	external/public-domain/xz/dist/po4a/man/it/lzmainfo.1 up to 1.1.1.1
	external/public-domain/xz/dist/po4a/man/it/xz.1 up to 1.1.1.1
	external/public-domain/xz/dist/po4a/man/it/xzdec.1 up to 1.1.1.1
	external/public-domain/xz/dist/po4a/man/it/xzdiff.1 up to 1.1.1.1
	external/public-domain/xz/dist/po4a/man/it/xzgrep.1 up to 1.1.1.1
	external/public-domain/xz/dist/po4a/man/it/xzless.1 up to 1.1.1.1
	external/public-domain/xz/dist/po4a/man/it/xzmore.1 up to 1.1.1.1
	external/public-domain/xz/dist/po4a/man/ko/lzmainfo.1 up to 1.1.1.1
	external/public-domain/xz/dist/po4a/man/ko/xz.1 up to 1.1.1.1
	external/public-domain/xz/dist/po4a/man/ko/xzdec.1 up to 1.1.1.1
	external/public-domain/xz/dist/po4a/man/ko/xzdiff.1 up to 1.1.1.1
	external/public-domain/xz/dist/po4a/man/ko/xzgrep.1 up to 1.1.1.1
	external/public-domain/xz/dist/po4a/man/ko/xzless.1 up to 1.1.1.1
	external/public-domain/xz/dist/po4a/man/ko/xzmore.1 up to 1.1.1.1
	external/public-domain/xz/dist/po4a/man/pt_BR/lzmainfo.1 up to 1.1.1.1
	external/public-domain/xz/dist/po4a/man/pt_BR/xz.1 up to 1.1.1.1
	external/public-domain/xz/dist/po4a/man/pt_BR/xzdec.1 up to 1.1.1.1
	external/public-domain/xz/dist/po4a/man/pt_BR/xzless.1 up to 1.1.1.1
	external/public-domain/xz/dist/po4a/man/ro/lzmainfo.1 up to 1.1.1.1
	external/public-domain/xz/dist/po4a/man/ro/xz.1 up to 1.1.1.1
	external/public-domain/xz/dist/po4a/man/ro/xzdec.1 up to 1.1.1.1
	external/public-domain/xz/dist/po4a/man/ro/xzdiff.1 up to 1.1.1.1
	external/public-domain/xz/dist/po4a/man/ro/xzgrep.1 up to 1.1.1.1
	external/public-domain/xz/dist/po4a/man/ro/xzless.1 up to 1.1.1.1
	external/public-domain/xz/dist/po4a/man/ro/xzmore.1 up to 1.1.1.1
	external/public-domain/xz/dist/po4a/man/sr/lzmainfo.1 up to 1.1.1.1
	external/public-domain/xz/dist/po4a/man/sr/xz.1 up to 1.1.1.1
	external/public-domain/xz/dist/po4a/man/sr/xzdec.1 up to 1.1.1.1
	external/public-domain/xz/dist/po4a/man/sr/xzdiff.1 up to 1.1.1.1
	external/public-domain/xz/dist/po4a/man/sr/xzgrep.1 up to 1.1.1.1
	external/public-domain/xz/dist/po4a/man/sr/xzless.1 up to 1.1.1.1
	external/public-domain/xz/dist/po4a/man/sr/xzmore.1 up to 1.1.1.1
	external/public-domain/xz/dist/po4a/man/sv/lzmainfo.1 up to 1.1.1.1
	external/public-domain/xz/dist/po4a/man/sv/xz.1 up to 1.1.1.1
	external/public-domain/xz/dist/po4a/man/sv/xzdec.1 up to 1.1.1.1
	external/public-domain/xz/dist/po4a/man/sv/xzdiff.1 up to 1.1.1.1
	external/public-domain/xz/dist/po4a/man/sv/xzgrep.1 up to 1.1.1.1
	external/public-domain/xz/dist/po4a/man/sv/xzless.1 up to 1.1.1.1
	external/public-domain/xz/dist/po4a/man/sv/xzmore.1 up to 1.1.1.1
	external/public-domain/xz/dist/po4a/man/uk/lzmainfo.1 up to 1.1.1.1
	external/public-domain/xz/dist/po4a/man/uk/xz.1 up to 1.1.1.1
	external/public-domain/xz/dist/po4a/man/uk/xzdec.1 up to 1.1.1.1
	external/public-domain/xz/dist/po4a/man/uk/xzdiff.1 up to 1.1.1.1
	external/public-domain/xz/dist/po4a/man/uk/xzgrep.1 up to 1.1.1.1
	external/public-domain/xz/dist/po4a/man/uk/xzless.1 up to 1.1.1.1
	external/public-domain/xz/dist/po4a/man/uk/xzmore.1 up to 1.1.1.1
	external/public-domain/xz/dist/po4a/pt_BR.po    up to 1.1.1.1
	external/public-domain/xz/dist/po4a/ro.po       up to 1.1.1.1
	external/public-domain/xz/dist/po4a/sr.po       up to 1.1.1.1
	external/public-domain/xz/dist/po4a/sv.po       up to 1.1.1.1
	external/public-domain/xz/dist/po4a/uk.po       up to 1.1.1.1
	external/public-domain/xz/dist/po4a/update-po   up to 1.1.1.1
	external/public-domain/xz/dist/po4a/xz-man.pot  up to 1.1.1.1
	external/public-domain/xz/dist/doc/examples_old/xz_pipe_comp.c delete
	external/public-domain/xz/dist/doc/examples_old/xz_pipe_decomp.c delete
	external/public-domain/xz/dist/macosx/build.sh  delete
	external/public-domain/xz/dist/src/liblzma/liblzma.map delete
	external/public-domain/xz/dist/src/liblzma/check/crc32_table.c delete
	external/public-domain/xz/dist/src/liblzma/check/crc64_table.c delete
	external/public-domain/xz/dist/src/liblzma/check/crc_macros.h delete
	external/public-domain/xz/dist/tests/files/good-1-sparc-lzma2.xz.base64 delete
	external/public-domain/xz/dist/tests/files/good-1-x86-lzma2.xz.base64 delete
	external/public-domain/xz/dist/tests/bcj_test.c delete
	external/public-domain/xz/dist/tests/compress_prepared_bcj_sparc.base64 delete
	external/public-domain/xz/dist/tests/compress_prepared_bcj_x86.base64 delete
	external/public-domain/xz/Makefile.inc          up to 1.7
	external/public-domain/xz/prepare-import.sh     up to 1.6
	external/public-domain/xz/bin/lzmainfo/Makefile up to 1.3
	external/public-domain/xz/bin/xz/Makefile       up to 1.8
	external/public-domain/xz/dist/AUTHORS          up to 1.1.1.3
	external/public-domain/xz/dist/COPYING          up to 1.1.1.3
	external/public-domain/xz/dist/ChangeLog        up to 1.1.1.5
	external/public-domain/xz/dist/INSTALL          up to 1.1.1.5
	external/public-domain/xz/dist/NEWS             up to 1.1.1.5
	external/public-domain/xz/dist/PACKAGERS        up to 1.1.1.2
	external/public-domain/xz/dist/README           up to 1.1.1.4
	external/public-domain/xz/dist/THANKS           up to 1.1.1.5
	external/public-domain/xz/dist/TODO             up to 1.1.1.3
	external/public-domain/xz/dist/config.h.in      up to 1.1.1.4
	external/public-domain/xz/dist/configure        up to 1.3
	external/public-domain/xz/dist/configure.ac     up to 1.6
	external/public-domain/xz/dist/build-aux/compile up to 1.1.1.2
	external/public-domain/xz/dist/build-aux/config.guess up to 1.3
	external/public-domain/xz/dist/build-aux/config.rpath up to 1.1.1.2
	external/public-domain/xz/dist/build-aux/config.sub up to 1.1.1.2
	external/public-domain/xz/dist/build-aux/depcomp up to 1.1.1.2
	external/public-domain/xz/dist/build-aux/install-sh up to 1.1.1.2
	external/public-domain/xz/dist/build-aux/ltmain.sh up to 1.1.1.2
	external/public-domain/xz/dist/build-aux/manconv.sh up to 1.1.1.2
	external/public-domain/xz/dist/build-aux/missing up to 1.1.1.2
	external/public-domain/xz/dist/build-aux/version.sh up to 1.1.1.2
	external/public-domain/xz/dist/doc/faq.txt      up to 1.1.1.4
	external/public-domain/xz/dist/doc/lzma-file-format.txt up to 1.1.1.3
	external/public-domain/xz/dist/doc/xz-file-format.txt up to 1.1.1.2
	external/public-domain/xz/dist/doc/examples/01_compress_easy.c up to 1.1.1.2
	external/public-domain/xz/dist/doc/examples/02_decompress.c up to 1.1.1.3
	external/public-domain/xz/dist/doc/examples/03_compress_custom.c up to 1.1.1.2
	external/public-domain/xz/dist/doc/examples/04_compress_easy_mt.c up to 1.1.1.2
	external/public-domain/xz/dist/m4/tuklib_common.m4 up to 1.1.1.2
	external/public-domain/xz/dist/m4/tuklib_cpucores.m4 up to 1.1.1.4
	external/public-domain/xz/dist/m4/tuklib_integer.m4 up to 1.1.1.3
	external/public-domain/xz/dist/m4/tuklib_mbstr.m4 up to 1.1.1.2
	external/public-domain/xz/dist/m4/tuklib_physmem.m4 up to 1.1.1.4
	external/public-domain/xz/dist/m4/tuklib_progname.m4 up to 1.1.1.2
	external/public-domain/xz/dist/po/cs.gmo        up to 1.1.1.5
	external/public-domain/xz/dist/po/cs.po         up to 1.1.1.5
	external/public-domain/xz/dist/po/de.gmo        up to 1.1.1.5
	external/public-domain/xz/dist/po/de.po         up to 1.1.1.5
	external/public-domain/xz/dist/po/fr.gmo        up to 1.1.1.4
	external/public-domain/xz/dist/po/fr.po         up to 1.1.1.4
	external/public-domain/xz/dist/po/it.gmo        up to 1.1.1.5
	external/public-domain/xz/dist/po/it.po         up to 1.1.1.5
	external/public-domain/xz/dist/po/pl.gmo        up to 1.1.1.4
	external/public-domain/xz/dist/po/pl.po         up to 1.1.1.4
	external/public-domain/xz/dist/po/vi.gmo        up to 1.1.1.3
	external/public-domain/xz/dist/po/vi.po         up to 1.1.1.3
	external/public-domain/xz/dist/src/common/common_w32res.rc up to 1.1.1.3
	external/public-domain/xz/dist/src/common/mythread.h up to 1.1.1.3
	external/public-domain/xz/dist/src/common/sysdefs.h up to 1.1.1.4
	external/public-domain/xz/dist/src/common/tuklib_common.h up to 1.1.1.2
	external/public-domain/xz/dist/src/common/tuklib_config.h up to 1.1.1.2
	external/public-domain/xz/dist/src/common/tuklib_cpucores.c up to 1.1.1.4
	external/public-domain/xz/dist/src/common/tuklib_cpucores.h up to 1.1.1.2
	external/public-domain/xz/dist/src/common/tuklib_exit.c up to 1.1.1.2
	external/public-domain/xz/dist/src/common/tuklib_exit.h up to 1.1.1.2
	external/public-domain/xz/dist/src/common/tuklib_gettext.h up to 1.1.1.2
	external/public-domain/xz/dist/src/common/tuklib_integer.h up to 1.2
	external/public-domain/xz/dist/src/common/tuklib_mbstr.h up to 1.1.1.2
	external/public-domain/xz/dist/src/common/tuklib_mbstr_fw.c up to 1.1.1.2
	external/public-domain/xz/dist/src/common/tuklib_mbstr_width.c up to 1.1.1.2
	external/public-domain/xz/dist/src/common/tuklib_open_stdxxx.c up to 1.1.1.3
	external/public-domain/xz/dist/src/common/tuklib_open_stdxxx.h up to 1.1.1.2
	external/public-domain/xz/dist/src/common/tuklib_physmem.c up to 1.1.1.4
	external/public-domain/xz/dist/src/common/tuklib_physmem.h up to 1.1.1.2
	external/public-domain/xz/dist/src/common/tuklib_progname.c up to 1.1.1.2
	external/public-domain/xz/dist/src/common/tuklib_progname.h up to 1.1.1.2
	external/public-domain/xz/dist/src/liblzma/liblzma.pc.in up to 1.1.1.3
	external/public-domain/xz/dist/src/liblzma/liblzma_w32res.rc up to 1.1.1.2
	external/public-domain/xz/dist/src/liblzma/validate_map.sh up to 1.1.1.2
	external/public-domain/xz/dist/src/liblzma/api/lzma.h up to 1.1.1.4
	external/public-domain/xz/dist/src/liblzma/api/lzma/base.h up to 1.1.1.4
	external/public-domain/xz/dist/src/liblzma/api/lzma/bcj.h up to 1.1.1.2
	external/public-domain/xz/dist/src/liblzma/api/lzma/block.h up to 1.1.1.4
	external/public-domain/xz/dist/src/liblzma/api/lzma/check.h up to 1.1.1.2
	external/public-domain/xz/dist/src/liblzma/api/lzma/container.h up to 1.1.1.5
	external/public-domain/xz/dist/src/liblzma/api/lzma/delta.h up to 1.1.1.2
	external/public-domain/xz/dist/src/liblzma/api/lzma/filter.h up to 1.1.1.4
	external/public-domain/xz/dist/src/liblzma/api/lzma/hardware.h up to 1.1.1.3
	external/public-domain/xz/dist/src/liblzma/api/lzma/index.h up to 1.1.1.4
	external/public-domain/xz/dist/src/liblzma/api/lzma/index_hash.h up to 1.1.1.3
	external/public-domain/xz/dist/src/liblzma/api/lzma/lzma12.h up to 1.1.1.2
	external/public-domain/xz/dist/src/liblzma/api/lzma/stream_flags.h up to 1.1.1.2
	external/public-domain/xz/dist/src/liblzma/api/lzma/version.h up to 1.1.1.5
	external/public-domain/xz/dist/src/liblzma/api/lzma/vli.h up to 1.1.1.2
	external/public-domain/xz/dist/src/liblzma/check/check.c up to 1.1.1.2
	external/public-domain/xz/dist/src/liblzma/check/check.h up to 1.5
	external/public-domain/xz/dist/src/liblzma/check/crc32_fast.c up to 1.1.1.3
	external/public-domain/xz/dist/src/liblzma/check/crc32_small.c up to 1.1.1.2
	external/public-domain/xz/dist/src/liblzma/check/crc32_table_be.h up to 1.1.1.2
	external/public-domain/xz/dist/src/liblzma/check/crc32_table_le.h up to 1.1.1.2
	external/public-domain/xz/dist/src/liblzma/check/crc32_tablegen.c up to 1.1.1.2
	external/public-domain/xz/dist/src/liblzma/check/crc32_x86.S up to 1.1.1.2
	external/public-domain/xz/dist/src/liblzma/check/crc64_fast.c up to 1.1.1.2
	external/public-domain/xz/dist/src/liblzma/check/crc64_small.c up to 1.1.1.2
	external/public-domain/xz/dist/src/liblzma/check/crc64_table_be.h up to 1.1.1.2
	external/public-domain/xz/dist/src/liblzma/check/crc64_table_le.h up to 1.1.1.2
	external/public-domain/xz/dist/src/liblzma/check/crc64_tablegen.c up to 1.1.1.2
	external/public-domain/xz/dist/src/liblzma/check/crc64_x86.S up to 1.1.1.2
	external/public-domain/xz/dist/src/liblzma/check/sha256.c up to 1.1.1.3
	external/public-domain/xz/dist/src/liblzma/common/alone_decoder.c up to 1.1.1.5
	external/public-domain/xz/dist/src/liblzma/common/alone_decoder.h up to 1.1.1.3
	external/public-domain/xz/dist/src/liblzma/common/alone_encoder.c up to 1.1.1.5
	external/public-domain/xz/dist/src/liblzma/common/auto_decoder.c up to 1.1.1.4
	external/public-domain/xz/dist/src/liblzma/common/block_buffer_decoder.c up to 1.1.1.3
	external/public-domain/xz/dist/src/liblzma/common/block_buffer_encoder.c up to 1.1.1.4
	external/public-domain/xz/dist/src/liblzma/common/block_buffer_encoder.h up to 1.1.1.2
	external/public-domain/xz/dist/src/liblzma/common/block_decoder.c up to 1.1.1.4
	external/public-domain/xz/dist/src/liblzma/common/block_decoder.h up to 1.1.1.3
	external/public-domain/xz/dist/src/liblzma/common/block_encoder.c up to 1.1.1.5
	external/public-domain/xz/dist/src/liblzma/common/block_encoder.h up to 1.1.1.3
	external/public-domain/xz/dist/src/liblzma/common/block_header_decoder.c up to 1.1.1.3
	external/public-domain/xz/dist/src/liblzma/common/block_header_encoder.c up to 1.1.1.3
	external/public-domain/xz/dist/src/liblzma/common/block_util.c up to 1.1.1.3
	external/public-domain/xz/dist/src/liblzma/common/common.c up to 1.1.1.5
	external/public-domain/xz/dist/src/liblzma/common/common.h up to 1.1.1.5
	external/public-domain/xz/dist/src/liblzma/common/easy_buffer_encoder.c up to 1.1.1.3
	external/public-domain/xz/dist/src/liblzma/common/easy_decoder_memusage.c up to 1.1.1.2
	external/public-domain/xz/dist/src/liblzma/common/easy_encoder.c up to 1.1.1.3
	external/public-domain/xz/dist/src/liblzma/common/easy_encoder_memusage.c up to 1.1.1.2
	external/public-domain/xz/dist/src/liblzma/common/easy_preset.c up to 1.1.1.2
	external/public-domain/xz/dist/src/liblzma/common/easy_preset.h up to 1.1.1.2
	external/public-domain/xz/dist/src/liblzma/common/filter_buffer_decoder.c up to 1.1.1.3
	external/public-domain/xz/dist/src/liblzma/common/filter_buffer_encoder.c up to 1.1.1.3
	external/public-domain/xz/dist/src/liblzma/common/filter_common.c up to 1.1.1.4
	external/public-domain/xz/dist/src/liblzma/common/filter_common.h up to 1.1.1.3
	external/public-domain/xz/dist/src/liblzma/common/filter_decoder.c up to 1.1.1.3
	external/public-domain/xz/dist/src/liblzma/common/filter_decoder.h up to 1.1.1.3
	external/public-domain/xz/dist/src/liblzma/common/filter_encoder.c up to 1.1.1.3
	external/public-domain/xz/dist/src/liblzma/common/filter_encoder.h up to 1.1.1.3
	external/public-domain/xz/dist/src/liblzma/common/filter_flags_decoder.c up to 1.1.1.3
	external/public-domain/xz/dist/src/liblzma/common/filter_flags_encoder.c up to 1.1.1.2
	external/public-domain/xz/dist/src/liblzma/common/hardware_cputhreads.c up to 1.1.1.2
	external/public-domain/xz/dist/src/liblzma/common/hardware_physmem.c up to 1.1.1.2
	external/public-domain/xz/dist/src/liblzma/common/index.c up to 1.1.1.4
	external/public-domain/xz/dist/src/liblzma/common/index.h up to 1.1.1.2
	external/public-domain/xz/dist/src/liblzma/common/index_decoder.c up to 1.1.1.5
	external/public-domain/xz/dist/src/liblzma/common/index_encoder.c up to 1.1.1.5
	external/public-domain/xz/dist/src/liblzma/common/index_encoder.h up to 1.1.1.3
	external/public-domain/xz/dist/src/liblzma/common/index_hash.c up to 1.1.1.3
	external/public-domain/xz/dist/src/liblzma/common/memcmplen.h up to 1.2
	external/public-domain/xz/dist/src/liblzma/common/outqueue.c up to 1.1.1.2
	external/public-domain/xz/dist/src/liblzma/common/outqueue.h up to 1.1.1.2
	external/public-domain/xz/dist/src/liblzma/common/stream_buffer_decoder.c up to 1.1.1.3
	external/public-domain/xz/dist/src/liblzma/common/stream_buffer_encoder.c up to 1.1.1.4
	external/public-domain/xz/dist/src/liblzma/common/stream_decoder.c up to 1.1.1.4
	external/public-domain/xz/dist/src/liblzma/common/stream_decoder.h up to 1.1.1.3
	external/public-domain/xz/dist/src/liblzma/common/stream_encoder.c up to 1.1.1.5
	external/public-domain/xz/dist/src/liblzma/common/stream_encoder_mt.c up to 1.1.1.3
	external/public-domain/xz/dist/src/liblzma/common/stream_flags_common.c up to 1.1.1.2
	external/public-domain/xz/dist/src/liblzma/common/stream_flags_common.h up to 1.1.1.2
	external/public-domain/xz/dist/src/liblzma/common/stream_flags_decoder.c up to 1.1.1.2
	external/public-domain/xz/dist/src/liblzma/common/stream_flags_encoder.c up to 1.1.1.2
	external/public-domain/xz/dist/src/liblzma/common/vli_decoder.c up to 1.1.1.2
	external/public-domain/xz/dist/src/liblzma/common/vli_encoder.c up to 1.1.1.2
	external/public-domain/xz/dist/src/liblzma/common/vli_size.c up to 1.1.1.2
	external/public-domain/xz/dist/src/liblzma/delta/delta_common.c up to 1.1.1.4
	external/public-domain/xz/dist/src/liblzma/delta/delta_common.h up to 1.1.1.2
	external/public-domain/xz/dist/src/liblzma/delta/delta_decoder.c up to 1.1.1.4
	external/public-domain/xz/dist/src/liblzma/delta/delta_decoder.h up to 1.1.1.3
	external/public-domain/xz/dist/src/liblzma/delta/delta_encoder.c up to 1.1.1.5
	external/public-domain/xz/dist/src/liblzma/delta/delta_encoder.h up to 1.1.1.3
	external/public-domain/xz/dist/src/liblzma/delta/delta_private.h up to 1.1.1.4
	external/public-domain/xz/dist/src/liblzma/lz/lz_decoder.c up to 1.1.1.5
	external/public-domain/xz/dist/src/liblzma/lz/lz_decoder.h up to 1.1.1.4
	external/public-domain/xz/dist/src/liblzma/lz/lz_encoder.c up to 1.1.1.5
	external/public-domain/xz/dist/src/liblzma/lz/lz_encoder.h up to 1.1.1.4
	external/public-domain/xz/dist/src/liblzma/lz/lz_encoder_hash.h up to 1.1.1.3
	external/public-domain/xz/dist/src/liblzma/lz/lz_encoder_hash_table.h up to 1.1.1.2
	external/public-domain/xz/dist/src/liblzma/lz/lz_encoder_mf.c up to 1.1.1.3
	external/public-domain/xz/dist/src/liblzma/lzma/fastpos.h up to 1.1.1.3
	external/public-domain/xz/dist/src/liblzma/lzma/fastpos_table.c up to 1.1.1.2
	external/public-domain/xz/dist/src/liblzma/lzma/fastpos_tablegen.c up to 1.1.1.2
	external/public-domain/xz/dist/src/liblzma/lzma/lzma2_decoder.c up to 1.1.1.5
	external/public-domain/xz/dist/src/liblzma/lzma/lzma2_decoder.h up to 1.1.1.3
	external/public-domain/xz/dist/src/liblzma/lzma/lzma2_encoder.c up to 1.1.1.5
	external/public-domain/xz/dist/src/liblzma/lzma/lzma2_encoder.h up to 1.1.1.3
	external/public-domain/xz/dist/src/liblzma/lzma/lzma_common.h up to 1.1.1.3
	external/public-domain/xz/dist/src/liblzma/lzma/lzma_decoder.c up to 1.1.1.4
	external/public-domain/xz/dist/src/liblzma/lzma/lzma_decoder.h up to 1.1.1.3
	external/public-domain/xz/dist/src/liblzma/lzma/lzma_encoder.c up to 1.1.1.4
	external/public-domain/xz/dist/src/liblzma/lzma/lzma_encoder.h up to 1.1.1.4
	external/public-domain/xz/dist/src/liblzma/lzma/lzma_encoder_optimum_fast.c up to 1.1.1.4
	external/public-domain/xz/dist/src/liblzma/lzma/lzma_encoder_optimum_normal.c up to 1.1.1.4
	external/public-domain/xz/dist/src/liblzma/lzma/lzma_encoder_presets.c up to 1.1.1.4
	external/public-domain/xz/dist/src/liblzma/lzma/lzma_encoder_private.h up to 1.1.1.4
	external/public-domain/xz/dist/src/liblzma/rangecoder/price.h up to 1.1.1.2
	external/public-domain/xz/dist/src/liblzma/rangecoder/price_table.c up to 1.1.1.2
	external/public-domain/xz/dist/src/liblzma/rangecoder/price_tablegen.c up to 1.1.1.2
	external/public-domain/xz/dist/src/liblzma/rangecoder/range_common.h up to 1.1.1.3
	external/public-domain/xz/dist/src/liblzma/rangecoder/range_decoder.h up to 1.1.1.3
	external/public-domain/xz/dist/src/liblzma/rangecoder/range_encoder.h up to 1.1.1.2
	external/public-domain/xz/dist/src/liblzma/simple/arm.c up to 1.1.1.5
	external/public-domain/xz/dist/src/liblzma/simple/armthumb.c up to 1.1.1.5
	external/public-domain/xz/dist/src/liblzma/simple/ia64.c up to 1.1.1.5
	external/public-domain/xz/dist/src/liblzma/simple/powerpc.c up to 1.1.1.5
	external/public-domain/xz/dist/src/liblzma/simple/simple_coder.c up to 1.1.1.5
	external/public-domain/xz/dist/src/liblzma/simple/simple_coder.h up to 1.1.1.3
	external/public-domain/xz/dist/src/liblzma/simple/simple_decoder.c up to 1.1.1.3
	external/public-domain/xz/dist/src/liblzma/simple/simple_decoder.h up to 1.1.1.3
	external/public-domain/xz/dist/src/liblzma/simple/simple_encoder.c up to 1.1.1.2
	external/public-domain/xz/dist/src/liblzma/simple/simple_encoder.h up to 1.1.1.2
	external/public-domain/xz/dist/src/liblzma/simple/simple_private.h up to 1.1.1.4
	external/public-domain/xz/dist/src/liblzma/simple/sparc.c up to 1.1.1.5
	external/public-domain/xz/dist/src/liblzma/simple/x86.c up to 1.1.1.4
	external/public-domain/xz/dist/src/lzmainfo/lzmainfo.1 up to 1.1.1.3
	external/public-domain/xz/dist/src/lzmainfo/lzmainfo.c up to 1.1.1.3
	external/public-domain/xz/dist/src/lzmainfo/lzmainfo_w32res.rc up to 1.1.1.2
	external/public-domain/xz/dist/src/xz/args.c    up to 1.4
	external/public-domain/xz/dist/src/xz/args.h    up to 1.1.1.4
	external/public-domain/xz/dist/src/xz/coder.c   up to 1.1.1.5
	external/public-domain/xz/dist/src/xz/coder.h   up to 1.1.1.3
	external/public-domain/xz/dist/src/xz/file_io.c up to 1.1.1.5
	external/public-domain/xz/dist/src/xz/file_io.h up to 1.1.1.4
	external/public-domain/xz/dist/src/xz/hardware.c up to 1.1.1.3
	external/public-domain/xz/dist/src/xz/hardware.h up to 1.1.1.4
	external/public-domain/xz/dist/src/xz/list.c    up to 1.4
	external/public-domain/xz/dist/src/xz/list.h    up to 1.1.1.2
	external/public-domain/xz/dist/src/xz/main.c    up to 1.1.1.4
	external/public-domain/xz/dist/src/xz/main.h    up to 1.1.1.2
	external/public-domain/xz/dist/src/xz/message.c up to 1.1.1.5
	external/public-domain/xz/dist/src/xz/message.h up to 1.1.1.3
	external/public-domain/xz/dist/src/xz/mytime.c  up to 1.1.1.2
	external/public-domain/xz/dist/src/xz/mytime.h  up to 1.1.1.2
	external/public-domain/xz/dist/src/xz/options.c up to 1.1.1.5
	external/public-domain/xz/dist/src/xz/options.h up to 1.1.1.2
	external/public-domain/xz/dist/src/xz/private.h up to 1.1.1.4
	external/public-domain/xz/dist/src/xz/signals.c up to 1.1.1.4
	external/public-domain/xz/dist/src/xz/signals.h up to 1.1.1.2
	external/public-domain/xz/dist/src/xz/suffix.c  up to 1.1.1.4
	external/public-domain/xz/dist/src/xz/suffix.h  up to 1.1.1.2
	external/public-domain/xz/dist/src/xz/util.c    up to 1.1.1.3
	external/public-domain/xz/dist/src/xz/util.h    up to 1.1.1.3
	external/public-domain/xz/dist/src/xz/xz.1      up to 1.1.1.5
	external/public-domain/xz/dist/src/xz/xz_w32res.rc up to 1.1.1.2
	external/public-domain/xz/dist/src/xzdec/lzmadec_w32res.rc up to 1.1.1.2
	external/public-domain/xz/dist/src/xzdec/xzdec.1 up to 1.1.1.4
	external/public-domain/xz/dist/src/xzdec/xzdec.c up to 1.1.1.4
	external/public-domain/xz/dist/src/xzdec/xzdec_w32res.rc up to 1.1.1.2
	external/public-domain/xz/dist/tests/create_compress_files.c up to 1.1.1.3
	external/public-domain/xz/dist/tests/test_bcj_exact_size.c up to 1.1.1.3
	external/public-domain/xz/dist/tests/test_block_header.c up to 1.1.1.2
	external/public-domain/xz/dist/tests/test_check.c up to 1.1.1.2
	external/public-domain/xz/dist/tests/test_compress.sh up to 1.1.1.2
	external/public-domain/xz/dist/tests/test_files.sh up to 1.1.1.3
	external/public-domain/xz/dist/tests/test_filter_flags.c up to 1.1.1.2
	external/public-domain/xz/dist/tests/test_index.c up to 1.1.1.3
	external/public-domain/xz/dist/tests/test_scripts.sh up to 1.1.1.2
	external/public-domain/xz/dist/tests/test_stream_flags.c up to 1.1.1.2
	external/public-domain/xz/dist/tests/tests.h    up to 1.1.1.2
	external/public-domain/xz/dist/tests/files/README up to 1.1.1.4
	external/public-domain/xz/dist/tests/files/bad-0cat-alone.xz.base64 up to 1.1.1.5
	external/public-domain/xz/dist/tests/files/bad-0cat-header_magic.xz.base64 up to 1.1.1.5
	external/public-domain/xz/dist/tests/files/bad-0catpad-empty.xz.base64 up to 1.1.1.5
	external/public-domain/xz/dist/tests/files/bad-1-block_header-1.xz.base64 up to 1.1.1.5
	external/public-domain/xz/dist/tests/files/bad-1-block_header-2.xz.base64 up to 1.1.1.5
	external/public-domain/xz/dist/tests/files/bad-1-block_header-3.xz.base64 up to 1.1.1.5
	external/public-domain/xz/dist/tests/files/bad-1-block_header-4.xz.base64 up to 1.1.1.5
	external/public-domain/xz/dist/tests/files/bad-1-block_header-5.xz.base64 up to 1.1.1.5
	external/public-domain/xz/dist/tests/files/bad-1-block_header-6.xz.base64 up to 1.1.1.3
	external/public-domain/xz/dist/tests/files/bad-1-check-crc32.xz.base64 up to 1.1.1.5
	external/public-domain/xz/dist/tests/files/bad-1-check-crc64.xz.base64 up to 1.1.1.5
	external/public-domain/xz/dist/tests/files/bad-1-check-sha256.xz.base64 up to 1.1.1.5
	external/public-domain/xz/dist/tests/files/bad-1-lzma2-1.xz.base64 up to 1.1.1.5
	external/public-domain/xz/dist/tests/files/bad-1-lzma2-2.xz.base64 up to 1.1.1.5
	external/public-domain/xz/dist/tests/files/bad-1-lzma2-3.xz.base64 up to 1.1.1.5
	external/public-domain/xz/dist/tests/files/bad-1-lzma2-4.xz.base64 up to 1.1.1.5
	external/public-domain/xz/dist/tests/files/bad-1-lzma2-5.xz.base64 up to 1.1.1.5
	external/public-domain/xz/dist/tests/files/bad-1-lzma2-6.xz.base64 up to 1.1.1.5
	external/public-domain/xz/dist/tests/files/bad-1-lzma2-7.xz.base64 up to 1.1.1.5
	external/public-domain/xz/dist/tests/files/bad-1-lzma2-8.xz.base64 up to 1.1.1.5
	external/public-domain/xz/dist/tests/files/bad-1-stream_flags-1.xz.base64 up to 1.1.1.5
	external/public-domain/xz/dist/tests/files/bad-1-stream_flags-2.xz.base64 up to 1.1.1.5
	external/public-domain/xz/dist/tests/files/bad-1-stream_flags-3.xz.base64 up to 1.1.1.5
	external/public-domain/xz/dist/tests/files/bad-1-vli-1.xz.base64 up to 1.1.1.5
	external/public-domain/xz/dist/tests/files/bad-1-vli-2.xz.base64 up to 1.1.1.5
	external/public-domain/xz/dist/tests/files/bad-2-compressed_data_padding.xz.base64 up to 1.1.1.5
	external/public-domain/xz/dist/tests/files/bad-2-index-1.xz.base64 up to 1.1.1.5
	external/public-domain/xz/dist/tests/files/bad-2-index-2.xz.base64 up to 1.1.1.5
	external/public-domain/xz/dist/tests/files/bad-2-index-3.xz.base64 up to 1.1.1.5
	external/public-domain/xz/dist/tests/files/bad-2-index-4.xz.base64 up to 1.1.1.5
	external/public-domain/xz/dist/tests/files/bad-2-index-5.xz.base64 up to 1.1.1.5
	external/public-domain/xz/dist/tests/files/good-0cat-empty.xz.base64 up to 1.1.1.5
	external/public-domain/xz/dist/tests/files/good-0catpad-empty.xz.base64 up to 1.1.1.5
	external/public-domain/xz/dist/tests/files/good-1-3delta-lzma2.xz.base64 up to 1.1.1.5
	external/public-domain/xz/dist/tests/files/good-1-block_header-1.xz.base64 up to 1.1.1.5
	external/public-domain/xz/dist/tests/files/good-1-block_header-2.xz.base64 up to 1.1.1.5
	external/public-domain/xz/dist/tests/files/good-1-block_header-3.xz.base64 up to 1.1.1.5
	external/public-domain/xz/dist/tests/files/good-1-check-crc32.xz.base64 up to 1.1.1.5
	external/public-domain/xz/dist/tests/files/good-1-check-crc64.xz.base64 up to 1.1.1.5
	external/public-domain/xz/dist/tests/files/good-1-check-none.xz.base64 up to 1.1.1.5
	external/public-domain/xz/dist/tests/files/good-1-check-sha256.xz.base64 up to 1.1.1.5
	external/public-domain/xz/dist/tests/files/good-1-delta-lzma2.tiff.xz.base64 up to 1.1.1.5
	external/public-domain/xz/dist/tests/files/good-1-lzma2-1.xz.base64 up to 1.1.1.5
	external/public-domain/xz/dist/tests/files/good-1-lzma2-2.xz.base64 up to 1.1.1.5
	external/public-domain/xz/dist/tests/files/good-1-lzma2-3.xz.base64 up to 1.1.1.5
	external/public-domain/xz/dist/tests/files/good-1-lzma2-4.xz.base64 up to 1.1.1.5
	external/public-domain/xz/dist/tests/files/good-1-lzma2-5.xz.base64 up to 1.1.1.4
	external/public-domain/xz/dist/tests/files/good-2-lzma2.xz.base64 up to 1.1.1.5
	external/public-domain/xz/dist/tests/files/unsupported-block_header.xz.base64 up to 1.1.1.5
	external/public-domain/xz/dist/tests/files/unsupported-check.xz.base64 up to 1.1.1.5
	external/public-domain/xz/dist/tests/files/unsupported-filter_flags-1.xz.base64 up to 1.1.1.5
	external/public-domain/xz/dist/tests/files/unsupported-filter_flags-2.xz.base64 up to 1.1.1.5
	external/public-domain/xz/dist/tests/files/unsupported-filter_flags-3.xz.base64 up to 1.1.1.5
	external/public-domain/xz/include/config.h      up to 1.10
	external/public-domain/xz/lib/Makefile          up to 1.13
	external/public-domain/xz/lib/lzma.expsym       up to 1.3
	external/public-domain/xz/lib/shlib_version     up to 1.4

Update xz to 5.8.3.
@
text
@d12 1
a12 2
    4. Translations
       4.1. Testing translations
d58 3
a60 5
    XZ Utils supports multithreaded compression. XZ Utils doesn't support
    multithreaded decompression yet. It has been planned though and taken
    into account when designing the .xz file format. In the future, files
    that were created in threaded mode can be decompressed in threaded
    mode too.
d68 1
a68 1
    README                This file
d70 16
a85 17
    INSTALL.generic       Generic install instructions for those not
                          familiar with packages using GNU Autotools
    INSTALL               Installation instructions specific to XZ Utils
    PACKAGERS             Information to packagers of XZ Utils

    COPYING               XZ Utils copyright and license information
    COPYING.0BSD          BSD Zero Clause License
    COPYING.GPLv2         GNU General Public License version 2
    COPYING.GPLv3         GNU General Public License version 3
    COPYING.LGPLv2.1      GNU Lesser General Public License version 2.1

    AUTHORS               The main authors of XZ Utils
    THANKS                Incomplete list of people who have helped making
                          this software
    NEWS                  User-visible changes between XZ Utils releases
    ChangeLog             Detailed list of changes (commit log)
    TODO                  Known bugs and some sort of to-do list
d95 3
a97 3
    are also provided in plain text (ASCII only) format in the directory
    "doc/man" to make the man pages more accessible to those whose
    operating system doesn't provide an easy way to view man pages.
d106 8
a113 4
    There are a few example/tutorial programs that should help in
    getting started with liblzma. In the source package the examples
    are in "doc/examples" and in binary packages they may be under
    "examples" in the same directory as this README.
d115 2
a116 5
    Since the liblzma API has similarities to the zlib API, some people
    may find it useful to read the zlib docs and tutorial too:

        https://zlib.net/manual.html
        https://zlib.net/zlib_how.html
d195 2
a196 21
4. Translations
---------------

    The xz command line tool and all man pages can be translated.
    The translations are handled via the Translation Project. If you
    wish to help translating xz, please join the Translation Project:

        https://translationproject.org/html/translators.html

    Updates to translations won't be accepted by methods that bypass
    the Translation Project because there is a risk of duplicate work:
    translation updates made in the xz repository aren't seen by the
    translators in the Translation Project. If you have found bugs in
    a translation, please report them to the Language-Team address
    which can be found near the beginning of the PO file.

    If you find language problems in the original English strings,
    feel free to suggest improvements. Ask if something is unclear.


4.1. Testing translations
d198 8
a205 1
    Testing can be done by installing xz into a temporary directory.
d207 1
a207 15
    If building from Git repository (not tarball), generate the
    Autotools files:

        ./autogen.sh

    Create a subdirectory for the build files. The tmp-build directory
    can be deleted after testing.

        mkdir tmp-build
        cd tmp-build
        ../configure --disable-shared --enable-debug --prefix=$PWD/inst

    Edit the .po file in the po directory. Then build and install to
    the "tmp-build/inst" directory, and use translations.bash to see
    how some of the messages look. Repeat these  steps if needed:
d209 2
d212 68
a279 9
        make -j"$(nproc)" install
        bash ../debug/translation.bash | less
        bash ../debug/translation.bash | less -S  # For --list outputs

    To test other languages, set the LANGUAGE environment variable
    before running translations.bash. The value should match the PO file
    name without the .po suffix. Example:

        export LANGUAGE=fi
d288 2
a289 2
        https://7-zip.org/
        https://p7zip.sourceforge.net/
a295 4
    XZ for Java is a complete implementation written in pure Java.

        https://tukaani.org/xz/java.html

d300 8
a307 9
    XZ Utils in general:
      - Home page: https://tukaani.org/xz/
      - Email to maintainer(s): xz@@tukaani.org
      - IRC: #tukaani on Libera Chat
      - GitHub: https://github.com/tukaani-project/xz

    Lead maintainer:
      - Email: Lasse Collin <lasse.collin@@tukaani.org>
      - IRC: Larhzu on Libera Chat
@


1.1.1.4
log
@Import xz-5.8.3 (previous was 5.2.4)

5.8.3 (2026-03-31)

    * liblzma:

        - Fix a buffer overflow in lzma_index_append(): If
          lzma_index_decoder() was used to decode an Index that
          contained no Records, the resulting lzma_index was left in
          a state where where a subsequent lzma_index_append() would
          allocate too little memory, and a buffer overflow would occur.

          The lzma_index functions are rarely used by applications
          directly. In the few applications that do use these functions,
          the combination of function calls required to trigger this bug
          are unlikely to exist, because there typically is no reason to
          append Records to a decoded lzma_index. Thus, it's likely that
          this bug cannot be triggered in any real-world application.

          The bug was reported and discovered by Cantina using their
          AppSec agent, Apex.

        - Fix the build on Windows ARM64EC.

        - Add "License: 0BSD" to liblzma.pc.

    * xz:

        - Fix invalid memory access in --files and --files0. All of
          the following must be true to trigger it:

            1. A string being read (which supposedly is a filename) is
               at least SIZE_MAX / 2 bytes long. This size is plausible
               on 32-bit platforms (2 GiB - 1 B).

            2. realloc(ptr, SIZE_MAX / 2 + 1) must succeed.
               On glibc >= 2.30 it shouldn't because the value
               exceeds PTRDIFF_MAX.

            3. An integer overflow results in a realloc(ptr, 0) call.
               If it doesn't return NULL, then invalid memory access
               will occur.

        - On QNX, don't use fsync() on directories because it fails.

    * Autotools: Enable 32-bit x86 assembler on Hurd by default.
      It was already enabled in the CMake-based build.

    * Translations: Add Arabic man page translations.

For the changelog of previous versions please see:

    https://github.com/tukaani-project/xz/releases/tag/vM.m.p

The changes are too big to include here, since this package has not been
updated for a while.
@
text
@d12 1
a12 2
    4. Translations
       4.1. Testing translations
d58 3
a60 5
    XZ Utils supports multithreaded compression. XZ Utils doesn't support
    multithreaded decompression yet. It has been planned though and taken
    into account when designing the .xz file format. In the future, files
    that were created in threaded mode can be decompressed in threaded
    mode too.
d68 1
a68 1
    README                This file
d70 16
a85 17
    INSTALL.generic       Generic install instructions for those not
                          familiar with packages using GNU Autotools
    INSTALL               Installation instructions specific to XZ Utils
    PACKAGERS             Information to packagers of XZ Utils

    COPYING               XZ Utils copyright and license information
    COPYING.0BSD          BSD Zero Clause License
    COPYING.GPLv2         GNU General Public License version 2
    COPYING.GPLv3         GNU General Public License version 3
    COPYING.LGPLv2.1      GNU Lesser General Public License version 2.1

    AUTHORS               The main authors of XZ Utils
    THANKS                Incomplete list of people who have helped making
                          this software
    NEWS                  User-visible changes between XZ Utils releases
    ChangeLog             Detailed list of changes (commit log)
    TODO                  Known bugs and some sort of to-do list
d95 3
a97 3
    are also provided in plain text (ASCII only) format in the directory
    "doc/man" to make the man pages more accessible to those whose
    operating system doesn't provide an easy way to view man pages.
d106 8
a113 4
    There are a few example/tutorial programs that should help in
    getting started with liblzma. In the source package the examples
    are in "doc/examples" and in binary packages they may be under
    "examples" in the same directory as this README.
d115 2
a116 5
    Since the liblzma API has similarities to the zlib API, some people
    may find it useful to read the zlib docs and tutorial too:

        https://zlib.net/manual.html
        https://zlib.net/zlib_how.html
d195 2
a196 21
4. Translations
---------------

    The xz command line tool and all man pages can be translated.
    The translations are handled via the Translation Project. If you
    wish to help translating xz, please join the Translation Project:

        https://translationproject.org/html/translators.html

    Updates to translations won't be accepted by methods that bypass
    the Translation Project because there is a risk of duplicate work:
    translation updates made in the xz repository aren't seen by the
    translators in the Translation Project. If you have found bugs in
    a translation, please report them to the Language-Team address
    which can be found near the beginning of the PO file.

    If you find language problems in the original English strings,
    feel free to suggest improvements. Ask if something is unclear.


4.1. Testing translations
d198 8
a205 1
    Testing can be done by installing xz into a temporary directory.
d207 1
a207 15
    If building from Git repository (not tarball), generate the
    Autotools files:

        ./autogen.sh

    Create a subdirectory for the build files. The tmp-build directory
    can be deleted after testing.

        mkdir tmp-build
        cd tmp-build
        ../configure --disable-shared --enable-debug --prefix=$PWD/inst

    Edit the .po file in the po directory. Then build and install to
    the "tmp-build/inst" directory, and use translations.bash to see
    how some of the messages look. Repeat these  steps if needed:
d209 2
d212 68
a279 9
        make -j"$(nproc)" install
        bash ../debug/translation.bash | less
        bash ../debug/translation.bash | less -S  # For --list outputs

    To test other languages, set the LANGUAGE environment variable
    before running translations.bash. The value should match the PO file
    name without the .po suffix. Example:

        export LANGUAGE=fi
d288 2
a289 2
        https://7-zip.org/
        https://p7zip.sourceforge.net/
a295 4
    XZ for Java is a complete implementation written in pure Java.

        https://tukaani.org/xz/java.html

d300 8
a307 9
    XZ Utils in general:
      - Home page: https://tukaani.org/xz/
      - Email to maintainer(s): xz@@tukaani.org
      - IRC: #tukaani on Libera Chat
      - GitHub: https://github.com/tukaani-project/xz

    Lead maintainer:
      - Email: Lasse Collin <lasse.collin@@tukaani.org>
      - IRC: Larhzu on Libera Chat
@


