XZ Utils for Debian
===================

Contents:
 1. History
 2. Differences from standard XZ Utils
 3. LZMA Utils compatibility
 4. Configuration

History
-------

XZ Utils should have been called LZMA Utils 4.42, but it came too late.
The old .lzma file format has some problems, worst of which is the lack
of magic number, but it gets enough use to still need to be supported.
See /usr/share/doc/xz-utils/history.txt.gz for the full story.

Differences from standard XZ Utils
----------------------------------

XZ Utils 5.1.y has some experimental features which are disabled in
Debian to allow interfaces to evolve.  Debian liblzma is also modified
to avoid breakage when the same process loads liblzma2 from Debian 6.0
(squeeze) and liblzma5.

abi-threaded-encoder
  Disable threaded compression in liblzma and xz.

abi-version-script
  liblzma: Do not pretend to satisfy dependencies on XZ_5.1.1alpha.

abi-liblzma2-compat, configure-liblzma2-compat
  Do not check reserved fields past the historical end of the
  lzma_stream structure if liblzma.so.2 is loaded in the same
  process image.  Likewise when linked statically.
  (See bug #649522.)

man-date, man-xz-lvv-minver (from upstream)
  Document the "Minimum version required to decompress" field of
  "xz --robot -v -v --list" output.

xz-lvv-empty-block-minver (from upstream)
  Fix the version number printed by "xz -lvv" for files with Blocks
  of zero uncompressed_size: the decoder bug preventing reading such
  files was fixed in xz 5.0.2, not 5.0.3.

decoder-check-first-0x00 (from upstream)
  Check that the first byte of range encoded data is zero to catch
  broken files sooner.

LZMA Utils compatibility
------------------------

To support old scripts and muscle memory, XZ Utils can emulate the
legacy LZMA Utils interface.  To use this feature, you can install some
subset of the following list of symbolic links to your $PATH.

	lzma, unlzma, lzcat -> /usr/bin/xz
	lzgrep, lzegrep, lzfgrep -> /usr/bin/xzgrep
	lzless -> /usr/bin/xzless
	lzmore -> /usr/bin/xzmore
	lzdiff, lzcmp -> /usr/bin/xzdiff

If you would like XZ Utils to provide these commands by default for
all users, use "update-alternatives --config lzma".

Configuration
-------------

The memory usage of xz can vary from a few hundred kilobytes to several
gigabytes depending on the compression settings.  If you would like xz
to automatically scale down its settings while compressing to decrease
memory usage, you can declare so by adding an option like the
following to your environment (e.g., in ~/.profile):

	XZ_DEFAULTS=--memlimit-compress=256MiB
	export XZ_DEFAULTS

See the "Memory usage" section of the xz(1) manual page for details.

 -- Jonathan Nieder <jrnieder@gmail.com>  Fri, 17 Aug 2012 23:37:47 -0700
