Merge branch 'jn/5.0.0' into maint

More fixes from the 5.0 branch:

Fix decoding of LZMA2 streams with blocks with no uncompressed data.
Taking this patch improves compatibility, while not taking this patch
would give people writing encoders a way to notice their output is
buggy.  It's too easy not to check the edge cases when writing an
encoder, so compatibility wins.

Validate encoder arguments better.  The checks that prevent NULL
pointer dereferences are not very important, but checks that avoid
producing malformed compressed output are crucial.

Fix $0 parsing in xzgrep.  xzegrep was treating its argument as a BRE,
which is just asking for subtle trouble in scripts that call it.

Thanks to Lasse Collin for advice.
diff --git a/debian/.gitignore b/debian/.gitignore
new file mode 100644
index 0000000..a5ad402
--- /dev/null
+++ b/debian/.gitignore
@@ -0,0 +1,21 @@
+/changelog.upstream
+/generated-m4.list
+/generated-po.list
+/generated-build-aux.list
+
+*.debhelper.log
+*.debhelper
+
+/normal-build/
+/xzdec-build/
+/tmp/
+
+/liblzma2/
+/xz-utils/
+/xz-lzma/
+/xzdec/
+/liblzma-dev/
+/liblzma-doc/
+
+/files
+*.substvars
diff --git a/debian/README.source b/debian/README.source
new file mode 100644
index 0000000..f17a7de
--- /dev/null
+++ b/debian/README.source
@@ -0,0 +1,16 @@
+XZ Utils sources for Debian
+---------------------------
+
+This Debian package is developed in a public Git repository (see the Vcs-Git
+field of debian/control) based on XZ Utils’s repository on tukaani.org.
+To build from a git checkout:
+
+	debian/rules get-orig-source
+	mv xz-utils_*.tar.gz ..
+	debian/autogen.sh
+	debuild
+
+To build a released version, no special instructions apply.
+“dpkg-buildpackage” and “apt-get -b xz-utils” should work as usual.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Mon, 08 Feb 2010 17:30:00 -0600
diff --git a/debian/autogen.sh b/debian/autogen.sh
new file mode 100755
index 0000000..6fdd6bf
--- /dev/null
+++ b/debian/autogen.sh
@@ -0,0 +1,34 @@
+#!/bin/sh
+# Generate debian/changelog.upstream, debian/generated-m4.list,
+# and debian/generated-po.list.
+#
+# Uses debian/changelog, the git revision log, and .gitignore
+# files from the current checkout.
+
+set -e
+
+changelog_needs_update() {
+	test -e debian/changelog.upstream &&
+	read line < debian/changelog.upstream ||
+	return 0
+
+	ver=${line#Version } &&
+	ver=${ver%;*} &&
+	test "$ver" != "" ||
+	return 0
+
+	read line < debian/changelog &&
+	rhs=${line#*(} &&
+	deb_ver=${rhs%)*} &&
+	new_ver=${deb_ver%-*} ||
+	return 0
+
+	test "$ver" != "$new_ver"
+}
+
+cp -f m4/.gitignore debian/generated-m4.list
+cp -f po/.gitignore debian/generated-po.list
+sed -n 's,^build-aux/,, p' .gitignore > debian/generated-build-aux.list
+cp -f doc/examples/xz_pipe_decomp.c debian/examples/xz_pipe_decomp.c
+cp -f doc/examples/xz_pipe_comp.c debian/examples/xz_pipe_comp.c
+! changelog_needs_update || exec sh debian/changelog.upstream.sh
diff --git a/debian/changelog b/debian/changelog
new file mode 100644
index 0000000..2dccf6a
--- /dev/null
+++ b/debian/changelog
@@ -0,0 +1,485 @@
+xz-utils (5.0.0-2.1) stable; urgency=low
+
+  * Fixes from upstream:
+    * liblzma:
+      - lzma_easy_buffer_encode() and lzma_stream_buffer_encode()
+        avoid writing Blocks with empty compressed data that xz and
+        liblzma versions before 5.0.2 cannot read.
+      - The LZMA2 decoder skips Blocks with empty compressed data
+        instead of rejecting them.
+      - Validates encoder arguments better.  It is harder to segfault
+        or create a corrupt XZ file instead of receiving an error
+        when calling these functions:
+        - lzma_stream_buffer_encode() and lzma_block_buffer_encode()
+          reject unsupported integrity checks;
+        - lzma_block_encoder() checks for block == NULL.
+      - Plugs a memory leak in lzma_stream_encoder().
+      - lzma_index_init() returns NULL instead of segfaulting on
+        allocation failure.
+    * "xz -v -v --list" does not free() filter options unless the
+      filter options array has been initialized.  This prevents
+      reading and free()ing pointers from past the end of an on-stack
+      array when one of the listed files has an unmeaningful Block
+      header size.
+    * xzegrep and xzfgrep perform extended regex and fixed-string
+      matches, respectively.  (The previous behavior was to always
+      use basic regexes.)
+    * The exit status from “xzdiff foo.xz bar.xz” reflects whether
+      files differ.  Thanks to Peter Pallinger.  Closes: #635501.
+    * xzgrep does not fail just because the decompressor has died
+      with SIGPIPE due to some unconsumed output.  This makes the
+      exit status from commands such as "xzgrep -q" more predictable.
+    * The Czech “xz --help” output uses a more correct term for files
+      with holes.  Thanks to Petr Hubený.  Closes: #605762.
+    * The Italian diagnostic for an invalid --format argument lost an
+      extra 'N'.
+  * debian/rules: "chmod +x tests/test_scripts.sh" for new xzdiff
+    tests.
+  * debian/symbols: Bump the minimal versions for LZMA2 encoder
+    functions that reject more bad arguments and skip empty blocks.
+  * liblzma-dev: Install an appropriate library for static linking
+    instead of the decompression-only version used to build xzdec.
+    Thanks to Anton Tolchanov.  Closes: #673001.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Thu, 24 May 2012 13:23:33 -0500
+
+xz-utils (5.0.0-2) unstable; urgency=low
+
+  * Upload to unstable.
+  * liblzma2, liblzma-dev, xz-lzma: Install release notes.
+  * debian/symbols: Bump the minimal versions for lzma_index_encoder,
+    lzma_index_decoder to the version in which they gained LZMA_FINISH
+    support.
+  * xz-utils/README.Debian: Document differences from upstream ABI.
+  * debian/changelog.upstream.sh: Avoid empty changelog entries when
+    multiple Debian revisions match an upstream tag.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Thu, 11 Nov 2010 13:45:20 -0600
+
+xz-utils (5.0.0-1) experimental; urgency=low
+
+  * Upload to experimental.
+  * New stable upstream release.  Closes: #592298.
+    - xz avoids SA_RESTART.  This should not have a visible effect
+      because xz already blocked signals during operations that
+      would be difficult to resume after interruption.
+    - liblzma: The coders returned by lzma_index_encoder() and
+      lzma_index_decoder() support an LZMA_FINISH action, with
+      identical semantics to LZMA_RUN.
+    - The printable (PDF and PS) versions of the manual are easier
+      to read.
+    - Many documentation and build system cleanups.
+  * liblzma: Back out upstream ABI tweaks.
+  * liblzma/README.Debian: Document ABI differences from upstream.
+  * Copy sample code not included in the release tarball from
+    the development upstream repository to debian/examples.
+  * debian/rules clean: Remove some files not included in the
+    release tarball.
+  * copyright: List new INSTALL.generic license.
+  * debian/rules clean: Take new build-aux scripts into account.
+  * debian/rules:  Adapt for upstream build system changes.
+    Closes: #540443.
+  * xz-utils, xzdec: Install release notes.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Mon, 25 Oct 2010 05:45:18 -0500
+
+xz-utils (4.999.9beta+20100927-1) experimental; urgency=low
+
+  * New snapshot, taken from upstream commit cec0ddc.
+    - liblzma: The meaning of --extreme has been tweaked to address
+      cases in which it made the compression ratio worse.  Some files
+      might benefit slightly less from --extreme.
+    - xz: Table columns are not misaligned any more in messages with
+      multi-byte characters (e.g., file sizes with LANG=fi_FI.UTF-8).
+    - xz: New German and Italian translations.
+    - Various documentation, message, and translation updates.
+  * Update copyright file.
+  * debian/rules get-orig-source: Update upstream Git URL.
+  * xz-utils/README.Debian: Advertise XZ_DEFAULTS.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Mon, 27 Sep 2010 16:22:22 -0500
+
+xz-utils (4.999.9beta+20100903-1) experimental; urgency=low
+
+  * New snapshot, taken from upstream commit 373ee26.
+    - liblzma: The settings for compression levels 0 through 5
+      (used by xz -0/.../-5) have been tweaked.  This affects the
+      speed, compression ratio, and memory usage at compression and
+      decompression time.
+    - Does not search so hard for a match when a low "nice match
+      length" setting is specified without a depth.
+    - xz: The -1/.../-9 preset options override any previously
+      specified filters, rather than vice versa.  To mix presets
+      with filter options, use the --lzma2=preset=n option.
+    - xz: Warns about --memlimit-compress settings that result in
+      compression settings changing even if no explicit -1/.../-9,
+      --lzma1, or --lzma2 option was used.
+    - "xz -v -v --compress" now prints an estimate of the memory
+      required to decompress a file.
+  * debian/copyright: Update upstream Git URL.
+  * debian/changelog.upstream.sh: Permit terser changelog lines.
+  * Standards-Version: 3.9.1 (checked).
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Fri, 03 Sep 2010 17:05:20 -0500
+
+xz-utils (4.999.9beta+20100810-1) unstable; urgency=low
+
+  * New upstream snapshot, taken from upstream commit d5653ba8a.
+    - xz: The memory usage limiter is now disabled by default.
+    - xz: Support for an XZ_DEFAULTS environment variable was added.
+      It contains user-specific default settings, such as memory usage
+      limits, and can be overridden by the command line and XZ_OPT.
+    - xz: The new --memlimit-compress and --memlimit-decompress
+      options allow the memory usage limit to be set separately for
+      compression and decompression.  A new --memlimit alias has been
+      added for the existing --memory option.
+    - xz: The --info-memory option (with or without --robot) now prints
+      how much RAM is installed in addition to the compression and
+      decompression memory limits.
+  * liblzma-doc: Simplify package description.
+  * debian/control: Build-Depends: autopoint | gettext (<< 0.18-1),
+    autopoint | cvs instead of autopoint, to help with backporting.
+    Thanks to Thorsten Glaser for a report.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Tue, 10 Aug 2010 20:27:14 -0500
+
+xz-utils (4.999.9beta+20100713-1) unstable; urgency=low
+
+  [ Thorsten Glaser ]
+  * Explicitly depend on autoconf (>= 2.64~) due to AC_PREREQ,
+    discovered during backporting.
+
+  [ Jonathan Nieder ]
+  * Upload to unstable.
+  * New upstream snapshot, taken from upstream commit a540198f.
+    - xz: The new --no-adjust option can be used to error out if there
+      is insufficient memory for the chosen compression level.
+  * liblzma-dev: Install examples to /usr/share/doc/liblzma-dev.
+  * Update copyright file.
+
+  * Drop unpack-time conflicts in favor of configuration-time
+    conflicts (Replaces + Breaks):
+     - xz-utils: against old xz-lzma (for lzmainfo).
+     - xzdec: against old xz-lzma (for lzmadec).
+     - xz-lzma: against lzip 1.7 (for lzdiff and lzgrep).
+  * Standards-Version: 3.9.0.
+
+  * debian/autogen.sh: Don’t regenerate upstream changelog when it is
+    not out of date.
+  * debian/rules get-orig-source: Use gzip --no-name --rsyncable.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Thu, 15 Jul 2010 01:53:37 -0500
+
+xz-utils (4.999.9beta+20100602-1) experimental; urgency=low
+
+  * New upstream snapshot, taken from upstream commit d8b41eed.
+    - The output from "xz -v --list" and "xz -v -v --list" has been
+      improved.
+      "xz -v -v --list" can be used to obtain an estimate for the memory
+      required to decompress a file.
+    - The xz manual page has some new material, including examples.
+      Closes: #578465.
+    - liblzma: The lzma_block_compressed_size() function no longer
+      returns LZMA_DATA_ERROR for valid Blocks.
+  * debian/symbols: Bump minimal version for lzma_block_compressed_size.
+  * Correct the 4.999.9beta+20100307-1 changelog entry to describe
+    which public functions were affected.
+
+  * Add new xz-lzma package to allow xz to provide lzma and related
+    commands.  Conflicts: and Provides: lzma.
+  * xz-utils: Suggests: xz-lzma.
+  * xz-utils/README.Debian: Take xz-lzma into account.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Fri, 04 Jun 2010 15:53:58 -0500
+
+xz-utils (4.999.9beta+20100527-1) unstable; urgency=low
+
+  * New upstream snapshot, taken from upstream commit a334348dc.
+    - Show both elapsed time and estimated remaining time in xz -v.
+      Thanks to Trent W. Buck for the idea.  Closes: #574583.
+    - liblzma: Remove the Subblock filter from the public API
+      (the ABI is unchanged).
+  * liblzma-dev.NEWS: Update.
+  * xz-utils: Update Czech translation.
+  * Change priority of xz-utils and liblzma2 to required and
+    xzdec to extra.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Thu, 27 May 2010 16:27:04 -0500
+
+xz-utils (4.999.9beta+20100307-1) unstable; urgency=low
+
+  * New upstream snapshot, taken from upstream commit f4b2b526.
+    - liblzma: The stream initialization functions were not correctly
+      initializing the internal allow_buffer_error flag.  As a result,
+      ever since 4.999.9beta-1 in rare circumstances when decompressing
+      LZMA files, the xz tool would produce spurious "Unexpected end
+      of input" failures (Gentoo bug 305591).
+    - The default memory usage limit on low-memory systems has been
+      increased.
+  * debian/copyright: Clarify.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Tue, 09 Mar 2010 10:22:24 -0600
+
+xz-utils (4.999.9beta+20100212-4) unstable; urgency=low
+
+  * debian/control: Build-Depends: autopoint instead of cvs.
+    Closes: #572481.
+  * debian/copyright: Clean up and include more details.
+  * debian/rules get-orig-source: Unindent comment lines.
+  * xz-utils: include Czech translation.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Thu, 04 Mar 2010 10:17:15 -0600
+
+xz-utils (4.999.9beta+20100212-3) unstable; urgency=low
+
+  * liblzma-dev: Remove unneeded .la file.
+  * xz-utils: Dynamically link the xz binary.
+  * Do not waste time installing and running doxygen on buildds that
+    are not going to build arch-all packages.
+    Build-Depends-Indep: doxygen.  Closes: #540444.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Tue, 23 Feb 2010 18:23:29 -0600
+
+xz-utils (4.999.9beta+20100212-2) unstable; urgency=low
+
+  * Split off xzdec and lzmadec commands into new xzdec package.
+    Thanks to Guillem Jover for the idea.  Closes: #571060.
+  * xz-utils.NEWS: advertise this change.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Tue, 23 Feb 2010 08:09:39 -0600
+
+xz-utils (4.999.9beta+20100212-1) unstable; urgency=low
+
+  * New upstream snapshot, taken from upstream commit eb7d51a3f.
+     - xz --force compresses symlinks without complaint now.
+     - liblzma: the optimized CRC32 implementation for x86 no longer
+       misdetects the Hurd as Mac OS X.
+  * debian/rules: ./configure --enable-assembler on the Hurd.
+  * xz-utils: Simplify NEWS.Debian.gz.
+  * liblzma-dev: Add a NEWS file to keep track of future API changes.
+
+  * Drop unnecessary build-time conflict with autoconf2.13.
+  * Add a blank line to the end of all NEWS files.
+    (Works around: #247356)
+  * debian/README.source: Leave out “-I -i” options.  Ignoring version
+    control cruft is the default behavior with dpkg source format 3.0.
+  * debian/changelog.upstream.sh: Pass ‘git log’ an explicit --format
+    option to avoid problems if format.pretty is set in gitconfig.
+
+  * Correct the 4.999.9beta+20100117-1 changelog entry.  It said:
+     + The user-specified memory usage limit was not being honored in
+       some cases.
+    No such bug was observed, so describe the change instead.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Tue, 16 Feb 2010 00:30:24 -0600
+
+xz-utils (4.999.9beta+20100131-1) unstable; urgency=low
+
+  * New upstream snapshot, taken from upstream commit f9dd797a.
+     + xz: the --list option to display information about a compressed
+       file (e.g., its uncompressed size) is now functional.  The output
+       of the xz --robot --list command still may change in future
+       versions.
+  * xz-utils: NEWS.Debian.gz: Clarify how interleaved output can
+    go wrong.
+  * debian/rules: Simplify:
+     - remove support for comma as a delimiter for $(DEB_BUILD_OPTIONS).
+     - rely on dh --parallel instead of tricky logic of our own to
+       handle parallel builds.  Build-Depends: debhelper (>= 7.4.10).
+  * Correct some typos in the 4.999.9beta+20100117-1 changelog entry.
+  * Standards-Version: 3.8.4 (checked).
+  * Update copyright file.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Sun, 31 Jan 2010 17:32:02 -0600
+
+xz-utils (4.999.9beta+20100117-1) unstable; urgency=low
+
+  * New upstream snapshot, taken from upstream commit 07a11dad.
+     + Fix some logic errors in the internal memory usage configuration
+       API.
+     + xz will no longer compress or decompress special files in place,
+       even with --force.
+       --force still enables compression of the target of a symlink.
+     + xz will no longer read compressed data from a terminal or write
+       it to a terminal, even with --force.
+     + liblzma: many Index handling API improvements:
+        - An lzma_index includes more useful metadata that is not
+          actually from the Index.  This is particularly helpful for
+          describing multiple-stream files.
+           * lzma_index_cat() does not take a stream padding argument
+             any more; use lzma_index_stream_padding() instead.
+           * lzma_index_memusage() takes two arguments now.
+             The new lzma_index_memused() convenience function
+             calculates the total memory usage of an lzma_index.
+           * lzma_index_count() has been replaced with
+             lzma_index_block_count() and lzma_index_stream_count().
+           * The new lzma_index_stream_flags() allows storing Stream
+             Flags (e.g., checksum types) with the Index information.
+           * The new lzma_index_checks() function indicates the list of
+             checksum types in use.
+           * lzma_index_equal() has been removed.  Its semantics were
+             unclear, and something approximately equivalent can be
+             implemented by iterating over Blocks in application code.
+        - An lzma_index no longer represents a position within an Index.
+          The new lzma_index_iter type can be used for that purpose.
+           * Certain functions generate an iterator on demand now rather
+             than clobbering their lzma_index arguments.  Using a single
+             lzma_index for multiple concurrent invocations is safe now:
+              lzma_index_buffer_encode(), lzma_index_encoder()
+           * Functions that used to specify a Record by modifying an
+             lzma_index argument have been renamed and taught to write
+             an lzma_index_iter instead:
+              lzma_index_locate() -> lzma_index_iter_locate()
+              lzma_index_rewind() -> lzma_index_iter_rewind()
+              lzma_index_read() -> lzma_index_iter_next()
+           * The lzma_index_record type used by lzma_index_read() for
+             complex seeks is no more.  lzma_index_iter_next() instead
+             takes a parameter of the new lzma_index_iter_mode type.
+           * New function: lzma_index_iter_init()
+           * lzma_index_init() cannot reuse memory from an existing
+             lzma_index any more.  The signature changed accordingly.
+     + xz: support for decompressing to a sparse file
+        - Try to write a sparse file if the decompressed stream contains
+          long runs of null bytes.
+        - The new --no-sparse option disables this behavior.
+     + xz: add Czech translation.
+     + liblzma-dev: lzma_filters_copy() and lzma_filters_update() are
+       declared not to throw exceptions.
+  * liblzma: bump soname.
+  * xz-utils: Add NEWS.Debian describing the sparse file support.
+  * debian/rules: Stop explicitly disabling assembler optimizations on
+    the Hurd.  The configure script will check if a platform is
+    supported.
+
+  * debian/rules: Update clean target to handle comments and wildcards
+    in .gitignore.
+  * Build-Depends: perl.
+
+  * debian/rules: Speed up build by using autoreconf --symlink.
+  * Remove debian/dirs lists.
+  * Update copyright file and fix a small typo.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Mon, 18 Jan 2010 04:19:50 -0600
+
+xz-utils (4.999.9beta+20091116-1) unstable; urgency=low
+
+  * New upstream snapshot, taken from upstream commit d315ca4.
+     + liblzma: add some new functions:
+        - lzma_filters_copy() to copy a filter chain;
+        - lzma_filters_update() to change compression options mid-stream;
+        - lzma_physmem() to retrieve the total quantity of installed RAM.
+     + Fix a design error in liblzma API.
+        - Stop requiring caller to maintain filter chain during
+          compression.  The library used to read it for new compression
+          options.  Callers that need to change options mid-stream should
+          use lzma_filters_update() instead.
+        - Remove 'persistent' member from struct lzma_options_lzma.
+     + xz: add --robot --info-memory options, for front-ends to use to
+       read the memory usage limit.
+  * liblzma: bump soname; add README.Debian explaining why soname
+    differs from upstream.
+  * Use source format 3.0 (quilt).
+  * Update and clarify copyright file.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Mon, 16 Nov 2009 16:33:35 -0600
+
+xz-utils (4.999.9beta+20091016-1) unstable; urgency=low
+
+  * New upstream snapshot, taken from upstream commit 78e92c1.
+  * Drop xzmore.1 patch, applied upstream.
+  * debian/rules: Disable assembler optimizations on hurd. (Closes: #553331)
+  * debian/control: Clarify binary package descriptions.  Thanks to
+    Justin B Rye and Ben Finney for the text.
+  * debian/rules get-orig-source: Use commit date (instead of last patch
+    date) to name snapshots.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Sun, 01 Nov 2009 00:22:04 -0500
+
+xz-utils (4.999.9beta+20091004-1) unstable; urgency=low
+
+  * Upload to unstable. (Closes: #543562)
+  * New upstream snapshot, taken from upstream commit ebfb2c5.
+  * Patch xzmore.1 to use dashes instead of minus signs.
+  * debian/control: Conflicts: xz-lzma. (Closes: #550249)
+  * liblzma-doc: Register Doxygen-generated docs with doc-base.
+  * debian/changelog.upstream.sh: Declare local variables.
+  * debian/changelog.upstream.sh: Cope with multiple Debian revisions per
+    upstream version.
+  * debian/rules: Use ":=" where appropriate.
+  * Add watch file.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Fri, 16 Oct 2009 13:58:54 -0500
+
+xz-utils (4.999.9beta+20091002-1) experimental; urgency=low
+
+  * New upstream snapshot, taken from upstream commit 29fd321.
+  * debian/control: Build-Depends: cvs (for autopoint).
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Sun, 04 Oct 2009 00:21:08 -0500
+
+xz-utils (4.999.9beta-1) experimental; urgency=low
+
+  [ Jonathan Nieder ]
+  * New upstream release.
+     - Fix a data corruption in the compression code. (Closes: #544872)
+     - xzdiff: Fix comparing two compressed files. (Closes: #540543)
+     - Most of XZ Utils is now in the public domain. (Closes: #541391)
+     - Add doc/history.txt to the distributed tarball. (Closes: #541540)
+  * Update and clarify copyright file.
+  * Drop lzma compatibility commands for now. (Closes: #542060, #540232)
+    Add instructions to README.Debian for installing them locally.
+  * debian/control: Add information about the packaging Git repository.
+  * debian/control: Clarify package descriptions.
+  * debian/README.source: Clarify build instructions.
+  * Add debian/.gitignore listing build products.
+  * Build xz-utils with static liblzma.
+     - debian/rules: Use configure --enable-dynamic=mixed.
+  * Optimize xzdec for size, following suggestion in PACKAGERS.
+     - debian/rules: Build xzdec separately so it can be optimized for size.
+     - debian/control: Build-Depends: debhelper (>= 7.3.0).
+  * Generate upstream changelog instead of shipping placeholder.
+     - debian/README.source: Add instructions for regenerating upstream
+       changelog file.
+     - debian/changelog.upstream.sh: New script.
+     - debian/rules: Install generated changelog file.
+  * liblzma-doc: Drop documentation already shipped in
+    /usr/share/doc/xz-utils.
+  * liblzma-dev, liblzma-doc: Add short README.Debian with pointers to
+    development documentation.
+  * Drop debian/xzdec.1, since upstream ships a better man page.
+  * Run autotools at build time.
+     + debian/control:
+        - Build-Depends: autoconf, automake, libtool, gettext
+        - Build-Conflicts: autoconf2.13, automake1.4
+     + debian/rules:
+        - configure: autoreconf -fi
+        - clean: remove autotools-generated files to avoid .diff.gz
+          changes when built twice in a row.
+  * debian/rules: Add get-orig-source target.
+  * Prepare for upload to experimental.
+
+  [ Cristian Greco ]
+  * debian/copyright: refer to versioned GPL-3 file.
+  * debian/control: remove duplicate field ‘section’ in package xz-utils.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Wed, 30 Sep 2009 01:44:04 -0500
+
+xz-utils (4.999.8beta-1) experimental; urgency=low
+
+  [ Jonathan Nieder ]
+  * Initial package for Debian. (Closes: #518803)
+     + debian/rules:
+        - add minimal rules file (using Debhelper 7), a control file
+          describing the binary packages, and an appropriate compat file.
+        - use configure --enable-dynamic; use up-to-date config.guess and
+          config.sub files.
+        - do not run automake and so on on autobuilders. Instead, we can
+          run them ourselves when we build the source package.
+     + debian/README.source:
+        - add informations about the packaging GIT repository.
+  * Add liblzma-doc package with Doxygen-generated API docs.
+
+  [ Mohammed Adnène Trojette ]
+  * Prepare for upload to experimental.
+
+ -- Mohammed Adnène Trojette <adn+deb@diwi.org>  Sat, 27 Jun 2009 17:26:56 +0200
diff --git a/debian/changelog.upstream.sh b/debian/changelog.upstream.sh
new file mode 100644
index 0000000..fe5d5ea
--- /dev/null
+++ b/debian/changelog.upstream.sh
@@ -0,0 +1,132 @@
+#!/bin/sh
+# Generate debian/changelog.upstream from debian/changelog and
+# the git revision log.  Inspired by Gerrit Pape’s
+# debian/changelog.upstream.sh, from the git-core Debian package.
+
+set -e
+
+# If argument matches /^Version: /, output remaining text.
+# Result is true if and only if argument matches.
+version_line() {
+	local line result
+	line=$1
+	result=${line#Version: }
+
+	if test "$result" = "$line"
+	then
+		return 1
+	else
+		printf "%s\n" "$result"
+		return 0
+	fi
+}
+
+# If argument matches /^\* New.*snapshot.*commit /,
+# output remaining text.
+# Result is true if and only if argument matches.
+commit_id_line() {
+	local line result
+	line=$1
+	result=${line#\* New*snapshot*commit }
+
+	if test "$result" = "$line"
+	then
+		return 1
+	else
+		printf "%s\n" "$result"
+		return 0
+	fi
+}
+
+# Read standard input, scanning for a changelog entry of the
+# form “New snapshot, taken from upstream commit <blah>.”
+# Output is <blah>.
+# Fails and writes a message to standard error if no such entry is
+# found before the next Version: line with a different upstream
+# version (or EOF).
+# $1 is the upstream version sought.
+read_commit_id() {
+	local upstream_version line version cid
+	upstream_version=$1
+
+	while read line
+	do
+		if
+			version=$(version_line "$line") &&
+			test "${version%-*}" != "$upstream_version"
+		then
+			break
+		fi
+
+		if cid=$(commit_id_line "$line")
+		then
+			printf "%s\n" "${cid%.}"
+			return 0
+		fi
+	done
+
+	echo >&2 "No commit id for $upstream_version"
+	return 1
+}
+
+last=none
+last_cid=none
+# Add a list of all revisions up to $last to debian/changelog.upstream
+# and set last=$2.
+# $1 is a user-readable name for the commit $2
+add_version() {
+	local new new_cid limiter
+	new=$1
+	new_cid=$2
+
+	if test "$last" = none
+	then
+		: > debian/changelog.upstream
+		last=$new
+		last_cid=$new_cid
+		return 0
+	fi
+
+	exec >> debian/changelog.upstream
+	if test "$new" = none
+	then
+		echo "Version $last:"
+		echo "Version $last:" | tr "[:print:]" -
+		limiter=
+	elif test "$new" = "$last"
+	then
+		return 0
+	else
+		echo "Version $last; changes since $new:"
+		echo "Version $last; changes since $new:" | tr "[:print:]" -
+		limiter="$new_cid.."
+	fi
+	echo
+	git log --date=iso --stat --no-merges --format=medium "$limiter$last_cid"
+	test "$new" = none || echo
+
+	last=$new
+	last_cid=$new_cid
+}
+
+dpkg-parsechangelog --format rfc822 --all | {
+while read line
+do
+	if version=$(version_line "$line")
+	then
+		# strip Debian revision
+		upstream_version=${version%-*}
+
+		if git rev-parse --verify -q "v$upstream_version" > /dev/null
+		then
+			# upstream release
+			add_version "$upstream_version" "v$upstream_version"
+		else
+			# snapshot
+			cid=$(read_commit_id "$upstream_version") || exit 1
+			add_version "$upstream_version" "$cid"
+		fi
+	fi
+done
+add_version none none
+}
diff --git a/debian/clean.sh b/debian/clean.sh
new file mode 100644
index 0000000..1a2f8b3
--- /dev/null
+++ b/debian/clean.sh
@@ -0,0 +1,46 @@
+#!/bin/sh
+# Remove files generated by autoreconf -fi.
+# For use by the clean target in debian/rules.
+
+set -e
+
+remove_files='#!/usr/bin/perl
+# Remove specified files from the current directory.
+# Each line must be a filename, a comment (starting with #),
+# a simple glob (of the form *.extension), or blank.
+# Filenames are restricted to a small character set.
+
+use strict;
+use warnings;
+
+my $fnchar = qr/[-_~.@[:alnum:]]/;
+
+my $empty = qr/^$/;
+my $comment = qr/^#/;
+my $simple = qr/^$fnchar+$/;
+my $glob = qr/^\*$fnchar+$/;
+while (my $line = <>) {
+	chomp $line;
+	next if $line =~ $empty;
+	next if $line =~ $comment;
+
+	if ($line =~ $simple) {
+		unlink $line;
+		next;
+	}
+	if ($line =~ $glob) {
+		unlink glob($line);
+		next;
+	}
+
+	die "cannot parse $line";
+}
+'
+
+dh_testdir
+rm -f debug/translation.bash tests/test_block.c ChangeLog
+rm -f ABOUT-NLS aclocal.m4 config.h.in configure
+(cd po && perl -e "$remove_files") < debian/generated-po.list
+(cd m4 && perl -e "$remove_files") < debian/generated-m4.list
+(cd build-aux && perl -e "$remove_files") < debian/generated-build-aux.list
+find . -name Makefile.in -delete
diff --git a/debian/compat b/debian/compat
new file mode 100644
index 0000000..7f8f011
--- /dev/null
+++ b/debian/compat
@@ -0,0 +1 @@
+7
diff --git a/debian/control b/debian/control
new file mode 100644
index 0000000..d5f9112
--- /dev/null
+++ b/debian/control
@@ -0,0 +1,127 @@
+Source: xz-utils
+Section: utils
+Priority: required
+Maintainer: Jonathan Nieder <jrnieder@gmail.com>
+Uploaders: Mohammed Adnène Trojette <adn+deb@diwi.org>
+Build-Depends: debhelper (>= 7.4.10), perl,
+ autoconf (>= 2.64~), automake, libtool (>= 2.2),
+ gettext, autopoint | gettext (<< 0.18-1), autopoint | cvs
+Build-Depends-Indep: doxygen
+Build-Conflicts: automake1.4
+Standards-Version: 3.9.1
+Vcs-Browser: http://git.debian.org/?p=collab-maint/xz.git
+Vcs-Git: git://git.debian.org/collab-maint/xz.git
+Homepage: http://tukaani.org/xz/
+
+Package: liblzma2
+Section: libs
+Architecture: any
+Depends: ${shlibs:Depends}, ${misc:Depends}
+Description: XZ-format compression library
+ XZ is the successor to the Lempel-Ziv/Markov-chain Algorithm
+ compression format, which provides memory-hungry but powerful
+ compression (often better than bzip2) and fast, easy decompression.
+ .
+ The native format of liblzma is XZ; it also supports raw (headerless)
+ streams and the older LZMA format used by lzma. (For 7-Zip's related
+ format, use the p7zip package instead.)
+
+Package: xz-utils
+Architecture: any
+Depends: ${shlibs:Depends}, ${misc:Depends}
+Suggests: xz-lzma
+Breaks: xz-lzma (<< 4.999.9beta+20091004-1)
+Replaces: xz-lzma (<< 4.999.9beta+20091004-1)
+Description: XZ-format compression utilities
+ XZ is the successor to the Lempel-Ziv/Markov-chain Algorithm
+ compression format, which provides memory-hungry but powerful
+ compression (often better than bzip2) and fast, easy decompression.
+ .
+ This package provides the command line tools for working with XZ
+ compression, including xz, unxz, xzcat, xzgrep, and so on. They can
+ also handle the older LZMA format, and if invoked via appropriate
+ symlinks will emulate the behavior of the commands in the lzma
+ package.
+ .
+ The XZ format is similar to the older LZMA format but includes some
+ improvements for general use:
+ .
+  * 'file' magic for detecting XZ files;
+  * crc64 data integrity check;
+  * limited random-access reading support;
+  * improved support for multithreading (not used in xz-utils);
+  * support for flushing the encoder.
+
+Package: xz-lzma
+Architecture: all
+Priority: extra
+Depends: xz-utils, ${misc:Depends}
+Conflicts: lzma
+Breaks: lzip (<< 1.8~rc2)
+Replaces: lzip (<< 1.8~rc2)
+Provides: lzma
+Description: XZ-format compression utilities - compatibility commands
+ XZ is the successor to the Lempel-Ziv/Markov-chain Algorithm
+ compression format, which provides memory-hungry but powerful
+ compression (often better than bzip2) and fast, easy decompression.
+ .
+ This package provides symbolic links allowing xz-utils to provide the
+ same interface for manipulating LZMA files as the lzma package. The
+ xz-utils package can handle LZMA files on its own; this package is
+ only necessary when using scripts or other programs that require the
+ older command names.
+
+Package: xzdec
+Priority: extra
+Architecture: any
+Depends: ${shlibs:Depends}, ${misc:Depends}
+Suggests: xz-utils
+Breaks: xz-lzma (<< 4.999.9beta+20091004-1)
+Replaces: xz-lzma (<< 4.999.9beta+20091004-1)
+Description: XZ-format compression utilities - tiny decompressors
+ XZ is the successor to the Lempel-Ziv/Markov-chain Algorithm
+ compression format, which provides memory-hungry but powerful
+ compression (often better than bzip2) and fast, easy decompression.
+ .
+ This package provides the xzdec and lzmadec utilities, which write
+ the decompressed version of a compressed file to standard output. The
+ binaries are very small, so they can be easily stored on small media
+ with some compressed files, and they are linked statically against
+ liblzma so they can be used on machines without a compatible version
+ of liblzma installed. However, they have:
+ .
+   * no compression support;
+   * no support for writing to a file other than standard output;
+   * no translated messages;
+   * been optimized for size rather than speed.
+ .
+ For a full-featured xzcat command without these limitations, use
+ the xz-utils package instead.
+
+Package: liblzma-dev
+Section: libdevel
+Priority: optional
+Architecture: any
+Depends: liblzma2 (= ${binary:Version}), ${misc:Depends}
+Suggests: liblzma-doc
+Description: XZ-format compression library - development files
+ XZ is the successor to the Lempel-Ziv/Markov-chain Algorithm
+ compression format, which provides memory-hungry but powerful
+ compression (often better than bzip2) and fast, easy decompression.
+ .
+ The native format of liblzma is XZ; it also supports raw (headerless)
+ streams and the older LZMA format used by lzma. (For 7-Zip's related
+ format, use the p7zip package instead.) This package provides the
+ development library needed to build programs using liblzma.
+
+Package: liblzma-doc
+Section: doc
+Priority: optional
+Architecture: all
+Depends: ${misc:Depends}
+Suggests: liblzma-dev
+Description: XZ-format compression library - API documentation
+ This package contains a reference manual for the liblzma data
+ compression library, in Doxygen-generated HTML files. The purpose
+ of each struct, macro, and function in the public interface is
+ explained.
diff --git a/debian/copyright b/debian/copyright
new file mode 100644
index 0000000..9b1d438
--- /dev/null
+++ b/debian/copyright
@@ -0,0 +1,398 @@
+Format-Specification: http://svn.debian.org/wsvn/dep/web/deps/dep5.mdwn?rev=135
+Name: XZ Utils
+Maintainer: Lasse Collin <lasse.collin@tukaani.org>
+Source: http://tukaani.org/xz
+ http://git.tukaani.org/xz.git
+X-Authors:
+ XZ Utils is developed and maintained upstream by Lasse Collin.  Major
+ portions are based on code by other authors; see AUTHORS for details.
+ Most of the source has been put into the public domain, but some files
+ have not (details below).
+X-Overview:
+ Different licenses apply to different files in this package. Here
+ is a rough summary of which licenses apply to which parts of this
+ package (but check the individual files to be sure!):
+ .
+   - liblzma is in the public domain.
+ .
+   - xz, xzdec, and lzmadec command line tools are in the public
+     domain unless GNU getopt_long had to be compiled and linked
+     in from the lib directory. The getopt_long code is under
+     GNU LGPLv2.1+.
+ .
+   - The scripts to grep, diff, and view compressed files have been
+     adapted from gzip. These scripts and their documentation are
+     under GNU GPLv2+.
+ .
+   - All the documentation in the doc directory and most of the
+     XZ Utils specific documentation files in other directories
+     are in the public domain.
+ .
+   - Translated messages are in the public domain.
+ .
+   - The build system contains public domain files, and files that
+     are under GNU GPLv2+ or GNU GPLv3+. None of these files end up
+     in the binaries being built.
+ .
+   - Test files and test code in the tests directory, and debugging
+     utilities in the debug directory are in the public domain.
+ .
+   - The extra directory may contain public domain files, and files
+     that are under various free software licenses.
+ .
+ You can do whatever you want with the files that have been put into
+ the public domain. If you find public domain legally problematic,
+ take the previous sentence as a license grant. If you still find
+ the lack of copyright legally problematic, you have too many
+ lawyers.
+ .
+ As usual, this software is provided "as is", without any warranty.
+ .
+ If you copy significant amounts of public domain code from XZ Utils
+ into your project, acknowledging this somewhere in your software is
+ polite (especially if it is proprietary, non-free software), but
+ naturally it is not legally required. Here is an example of a good
+ notice to put into "about box" or into documentation:
+ .
+     This software includes code from XZ Utils <http://tukaani.org/xz/>.
+ .
+ The following license texts are included in the following files:
+   - COPYING.LGPLv2.1: GNU Lesser General Public License version 2.1
+   - COPYING.GPLv2: GNU General Public License version 2
+   - COPYING.GPLv3: GNU General Public License version 3
+ .
+ Note that the toolchain (compiler, linker etc.) may add some code
+ pieces that are copyrighted. Thus, it is possible that e.g. liblzma
+ binary wouldn't actually be in the public domain in its entirety
+ even though it contains no copyrighted code from the XZ Utils source
+ package.
+ .
+ If you have questions, don't hesitate to ask the author(s) for more
+ information.
+X-Note:
+ The rest of this file only describes the source package.  The binary
+ packages contain some files derived from other works: for example,
+ all images in the API documentation come from Doxygen.
+
+Files: *
+Copyright: 2006-2010, Lasse Collin
+           1999-2008, Igor Pavlov
+           2006, Ville Koskinen
+           1998, Steve Reid
+           2000, Wei Dai
+           2003, Kevin Springle
+           2009, Jonathan Nieder
+License: PD
+ This file has been put in the public domain.
+ You can do whatever you want with this file.
+X-Note:
+ From: Lasse Collin <lasse.collin@tukaani.org>
+ To: Jonathan Nieder <jrnieder@gmail.com>
+ Subject: Re: XZ utils for Debian
+ Date: Sun, 19 Jul 2009 13:28:23 +0300
+ Message-Id: <200907191328.23816.lasse.collin@tukaani.org>
+ .
+ [...]
+ .
+ > AUTHORS, ChangeLog, COPYING, README, THANKS, TODO,
+ > dos/README, windows/README
+ .
+ COPYING says that most docs are in the public domain. Maybe that's not
+ clear enough, but on the other hand it looks a bit stupid to put
+ copyright information in tiny and relatively small docs like README.
+ .
+ I don't dare to say that _all_ XZ Utils specific docs are in the public
+ domain unless otherwise mentioned in the file. I'm including PDF files
+ generated by groff + ps2pdf, and some day I might include Doxygen-
+ generated HTML docs too. Those don't include any copyright notices, but
+ it seems likely that groff + ps2pdf or at least Doxygen put some
+ copyrighted content into the generated files.
+
+Files: INSTALL,
+       NEWS,
+       PACKAGERS,
+       windows/README-Windows.txt,
+       windows/INSTALL-Windows.txt
+Copyright: 2009-2010, Lasse Collin
+License: probably-PD
+ See the note on AUTHORS, README, and so on above.
+
+Files: src/scripts/*, lib/*, extra/scanlzma/scanlzma.c
+Copyright: © 1993, Jean-loup Gailly
+           © 1989-1994, 1996-1999, 2001-2007, Free Software Foundation, Inc.
+           © 2006 Timo Lindfors
+           2005, Charles Levert
+           2005, 2009, Lasse Collin
+           2009, Andrew Dudman
+X-Other-Authors: Paul Eggert, Ulrich Drepper
+License: GPL-2+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2, or (at your option)
+ any later version.
+ .
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+ .
+ You should have received a copy of the GNU General Public License along
+ with this program; if not, write to the Free Software Foundation,
+ Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ .
+ On Debian systems, the complete text of the GNU General Public License
+ version 2 can be found in ‘/usr/share/common-licenses/GPL-2’.
+
+Files: src/scripts/Makefile.am, src/scripts/xzless.1
+Copyright: 2009, Andrew Dudman
+           2009, Lasse Collin
+License: PD
+ This file has been put in the public domain.
+ You can do whatever you want with this file.
+
+Files: doc/examples/xz_pipe_comp.c, doc/examples/xz_pipe_decomp.c
+Copyright: 2010, Daniel Mealha Cabrita
+License: PD
+ Not copyrighted -- provided to the public domain.
+
+Files: lib/getopt.c, lib/getopt1.c, lib/getopt.in.h
+Copyright: © 1987-2007 Free Software Foundation, Inc.
+X-Other-Authors: Ulrich Drepper
+License: LGPL-2.1+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU Lesser General Public License as published by
+ the Free Software Foundation; either version 2.1, or (at your option)
+ any later version.
+ .
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU Lesser General Public License for more details.
+ .
+ You should have received a copy of the GNU Lesser General Public License along
+ with this program; if not, write to the Free Software Foundation,
+ Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ .
+ On Debian systems, the complete text of the GNU Lesser General Public
+ License version 2.1 can be found in ‘/usr/share/common-licenses/LGPL-2.1’.
+
+Files: m4/getopt.m4, m4/posix-shell.m4
+Copyright: © 2002-2006, 2008 Free Software Foundation, Inc.
+           © 2007-2008 Free Software Foundation, Inc.
+X-Other-Authors: Bruno Haible, Paul Eggert
+License: permissive
+ This file is free software; the Free Software Foundation
+ gives unlimited permission to copy and/or distribute it,
+ with or without modifications, as long as this notice is preserved.
+
+Files: m4/acx_pthread.m4
+Copyright: © 2007, Steven G. Johnson <stevenj@alum.mit.edu>
+License: Autoconf
+ This program is free software: you can redistribute it and/or
+ modify it under the terms of the GNU General Public License as
+ published by the Free Software Foundation, either version 3 of the
+ License, or (at your option) any later version.
+ .
+ This program is distributed in the hope that it will be useful, but
+ WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ General Public License for more details.
+ .
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see
+ <http://www.gnu.org/licenses/>.
+ .
+ As a special exception, the respective Autoconf Macro's copyright
+ owner gives unlimited permission to copy, distribute and modify the
+ configure scripts that are the output of Autoconf when processing
+ the Macro. You need not follow the terms of the GNU General Public
+ License when using or distributing such scripts, even though
+ portions of the text of the Macro appear in them. The GNU General
+ Public License (GPL) does govern all other use of the material that
+ constitutes the Autoconf Macro.
+ .
+ This special exception to the GPL applies to versions of the
+ Autoconf Macro released by the Autoconf Macro Archive. When you
+ make and distribute a modified version of the Autoconf Macro, you
+ may extend this special exception to the GPL to apply to your
+ modified version as well.
+ .
+ On Debian systems, the complete text of the GNU General Public
+ License version 3 can be found in ‘/usr/share/common-licenses/GPL-3’.
+
+Files: Doxyfile.in
+Copyright: © 1997-2007 by Dimitri van Heesch
+X-Origin: Doxygen 1.4.7
+License: GPL-2
+ Permission to use, copy, modify, and distribute this software and its
+ documentation under the terms of the GNU General Public License is
+ hereby granted. No representations are made about the suitability of
+ this software for any purpose. It is provided "as is" without express
+ or implied warranty. See the GNU General Public License for more
+ details.
+ .
+ Documents produced by doxygen are derivative works derived from the
+ input used in their production; they are not affected by this license.
+ .
+ On Debian systems, the complete text of the version of the GNU General
+ Public License distributed with Doxygen can be found in
+ ‘/usr/share/common-licenses/GPL-2’.
+
+Files: src/liblzma/check/crc32_table_[bl]e.h,
+       src/liblzma/check/crc64_table_[bl]e.h,
+       src/liblzma/lzma/fastpos_table.c,
+       src/liblzma/rangecoder/price_table.c
+Copyright: none, automatically generated data
+X-Generated-With: src/liblzma/check/crc32_tablegen.c,
+                  src/liblzma/check/crc64_tablegen.c,
+                  src/liblzma/lzma/fastpos_tablegen.c,
+                  src/liblzma/rangecoder/price_tablegen.c
+License: none
+ No copyright to license.
+
+Files: .gitignore, m4/.gitignore, po/.gitignore, po/LINGUAS, po/POTFILES.in
+Copyright: none; these are just short lists.
+License: none
+ No copyright to license.
+
+Files: tests/compress_prepared_bcj_*
+Copyright: 2008-2009, Lasse Collin
+X-Source-Code: tests/bcj_test.c
+License: PD
+ changelog.gz (commit 975d8fd) explains:
+ .
+ Recreated the BCJ test files for x86 and SPARC. The old files
+ were linked with crt*.o, which are copyrighted, and thus the
+ old test files were not in the public domain as a whole. They
+ are freely distributable though, but it is better to be careful
+ and avoid including any copyrighted pieces in the test files.
+ The new files are just compiled and assembled object files,
+ and thus don't contain any copyrighted code.
+
+Files: po/cs.po, po/de.po
+Copyright: 2010, Marek Černocký
+           2010, Andre Noll
+License: PD
+ This file is put in the public domain.
+
+Files: po/it.po
+Copyright: 2009, 2010, Gruppo traduzione italiano di Ubuntu-it
+           2010, Lorenzo De Liso
+           2009, 2010, Milo Casagrande
+License: PD
+ This file is in the public domain
+
+Files: dos/config.h
+Copyright: © 1992, 1993, 1994, 1999, 2000, 2001, 2002, 2005
+             Free Software Foundation, Inc.
+           2007-2010, Lasse Collin
+X-Other-Authors: Roland McGrath, Akim Demaille, Paul Eggert,
+                 David Mackenzie, Bruno Haible, and many others.
+X-Origin: configure.ac from XZ Utils,
+          visibility.m4 serial 1 (gettext-0.15),
+          Autoconf 2.52g
+License: config-h
+ configure.ac:
+ .
+ # Author: Lasse Collin
+ #
+ # This file has been put into the public domain.
+ # You can do whatever you want with this file.
+ .
+ visibility.m4:
+ .
+ dnl Copyright (C) 2005 Free Software Foundation, Inc.
+ dnl This file is free software; the Free Software Foundation
+ dnl gives unlimited permission to copy and/or distribute it,
+ dnl with or without modifications, as long as this notice is preserved.
+ .
+ dnl From Bruno Haible.
+ .
+ comments from Autoconf 2.52g:
+ .
+ # Copyright 1992, 1993, 1994, 1999, 2000, 2001, 2002
+ # Free Software Foundation, Inc.
+ #
+ # This program is free software; you can redistribute it and/or modify
+ # it under the terms of the GNU General Public License as published by
+ # the Free Software Foundation; either version 2, or (at your option)
+ # any later version.
+ #
+ # This program is distributed in the hope that it will be useful,
+ # but WITHOUT ANY WARRANTY; without even the implied warranty of
+ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ # GNU General Public License for more details.
+ #
+ # You should have received a copy of the GNU General Public License
+ # along with this program; if not, write to the Free Software
+ # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ # 02110-1301, USA.
+ #
+ # As a special exception, the Free Software Foundation gives unlimited
+ # permission to copy, distribute and modify the configure scripts that
+ # are the output of Autoconf.  You need not follow the terms of the GNU
+ # General Public License when using or distributing such scripts, even
+ # though portions of the text of Autoconf appear in them.  The GNU
+ # General Public License (GPL) does govern all other use of the material
+ # that constitutes the Autoconf program.
+ #
+ # Certain portions of the Autoconf source text are designed to be copied
+ # (in certain cases, depending on the input) into the output of
+ # Autoconf.  We call these the "data" portions.  The rest of the Autoconf
+ # source text consists of comments plus executable code that decides which
+ # of the data portions to output in any given case.  We call these
+ # comments and executable code the "non-data" portions.  Autoconf never
+ # copies any of the non-data portions into its output.
+ #
+ # This special exception to the GPL applies to versions of Autoconf
+ # released by the Free Software Foundation.  When you make and
+ # distribute a modified version of Autoconf, you may extend this special
+ # exception to the GPL to apply to your modified version as well, *unless*
+ # your modified version has the potential to copy into its output some
+ # of the text that was the non-data portion of the version that you started
+ # with.  (In other words, unless your change moves or copies text from
+ # the non-data portions to the data portions.)  If your modification has
+ # such potential, you must delete any notice of this special exception
+ # to the GPL from your modified version.
+ .
+ On Debian systems, the complete text of the GNU General Public
+ License version 2 can be found in ‘/usr/share/common-licenses/GPL-2’.
+ dos/config.h was generated with autoheader, which tells Autoconf to
+ output a script to generate a config.h file and then runs it.
+
+Files: po/Makevars
+X-Origin: gettext-runtime/po/Makevars (gettext-0.12)
+X-Authors: Bruno Haible
+Copyright: © 2003 Free Software Foundation, Inc.
+License: LGPL-2.1+
+ The gettext-runtime package is under the LGPL, see files intl/COPYING.LIB-2.0
+ and intl/COPYING.LIB-2.1.
+ .
+ On Debian systems, the complete text of intl/COPYING.LIB-2.0 from
+ gettext-runtime 0.12 can be found in ‘/usr/share/common-licenses/LGPL-2’
+ and the text of intl/COPYING.LIB-2.1 can be found in
+ ‘/usr/share/common-licenses/LGPL-2.1’.
+ .
+ po/Makevars consists mostly of helpful comments and does not contain a
+ copyright and license notice.
+
+Files: INSTALL.generic
+Copyright: © 1994, 1995, 1996, 1999, 2000, 2001, 2002, 2004, 2005,
+             2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
+License: permissive-nowarranty
+ Copying and distribution of this file, with or without modification,
+ are permitted in any medium without royalty provided the copyright
+ notice and this notice are preserved.  This file is offered as-is,
+ without warranty of any kind.
+
+Files: COPYING.GPLv2, COPYING.GPLv3, COPYING.LGPLv2.1
+Copyright: © 1989, 1991, 1999, 2007 Free Software Foundation, Inc.
+License: noderivs
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+Files: debian/*
+Copyright: 2009-2010, Jonathan Nieder
+License: PD-debian
+ The Debian packaging files are in the public domain.
+ You may freely use, modify, distribute, and relicense them.
diff --git a/debian/examples/.gitignore b/debian/examples/.gitignore
new file mode 100644
index 0000000..6298657
--- /dev/null
+++ b/debian/examples/.gitignore
@@ -0,0 +1 @@
+/xz_pipe_*.c
diff --git a/debian/liblzma-dev.NEWS b/debian/liblzma-dev.NEWS
new file mode 100644
index 0000000..da790a0
--- /dev/null
+++ b/debian/liblzma-dev.NEWS
@@ -0,0 +1,24 @@
+xz-utils (4.999.9beta+20100527-1) unstable; urgency=low
+
+  Starting with this version, the declarations needed to use the Subblock
+  filter are not present in the liblzma headers.  liblzma never supported
+  the Subblock filter, so compiled applications should not be affected by
+  this change.
+
+  The lzma_restrict macro has been removed from the liblzma headers.  This
+  only affects the declarations contained there; the semantics are still the
+  same.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Thu, 27 May 2010 15:52:28 -0500
+
+xz-utils (4.999.9beta+20100212-1) unstable; urgency=low
+  
+  Starting with this version, the lzma_block_header_decode() function
+  is advertised to require its block->version parameter to be initialized.
+  Future versions of liblzma may use an alternate version of the Block
+  options if the application declares it supports it.  Existing applications
+  will continue to work for now because the only supported Block format
+  version is zero.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Mon, 15 Feb 2010 23:59:21 -0600
+
diff --git a/debian/liblzma-dev.README.Debian b/debian/liblzma-dev.README.Debian
new file mode 100644
index 0000000..81e397d
--- /dev/null
+++ b/debian/liblzma-dev.README.Debian
@@ -0,0 +1,19 @@
+From the XZ Utils README (included in the xz-utils package):
+
+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
diff --git a/debian/liblzma-dev.docs b/debian/liblzma-dev.docs
new file mode 100644
index 0000000..c549d6f
--- /dev/null
+++ b/debian/liblzma-dev.docs
@@ -0,0 +1,3 @@
+doc/xz-file-format.txt
+doc/lzma-file-format.txt
+TODO
diff --git a/debian/liblzma-dev.examples b/debian/liblzma-dev.examples
new file mode 100644
index 0000000..356566d
--- /dev/null
+++ b/debian/liblzma-dev.examples
@@ -0,0 +1,2 @@
+debian/examples/xz_pipe_comp.c
+debian/examples/xz_pipe_decomp.c
diff --git a/debian/liblzma-dev.install b/debian/liblzma-dev.install
new file mode 100644
index 0000000..6e4150a
--- /dev/null
+++ b/debian/liblzma-dev.install
@@ -0,0 +1,5 @@
+usr/include/*
+usr/include/lzma/*
+usr/lib/lib*.a
+usr/lib/lib*.so
+usr/lib/pkgconfig/*
diff --git a/debian/liblzma-dev.links b/debian/liblzma-dev.links
new file mode 100644
index 0000000..c31835c
--- /dev/null
+++ b/debian/liblzma-dev.links
@@ -0,0 +1,3 @@
+usr/share/doc/liblzma2/AUTHORS usr/share/doc/liblzma-dev/AUTHORS
+usr/share/doc/liblzma2/THANKS usr/share/doc/liblzma-dev/THANKS
+usr/share/doc/liblzma2/NEWS.gz usr/share/doc/liblzma-dev/NEWS.gz
diff --git a/debian/liblzma-doc.README.Debian b/debian/liblzma-doc.README.Debian
new file mode 100644
index 0000000..81e397d
--- /dev/null
+++ b/debian/liblzma-doc.README.Debian
@@ -0,0 +1,19 @@
+From the XZ Utils README (included in the xz-utils package):
+
+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
diff --git a/debian/liblzma-doc.doc-base b/debian/liblzma-doc.doc-base
new file mode 100644
index 0000000..f7cfdc2
--- /dev/null
+++ b/debian/liblzma-doc.doc-base
@@ -0,0 +1,12 @@
+Document: liblzma-doc
+Title: liblzma API Documentation
+Author: Lasse Collin
+Abstract: liblzma is a compression library supporting the .xz and .lzma
+ formats, among others. This Doxygen-generated reference manual
+ describes the data structures and functions making up its public
+ interface.
+Section: Programming/C
+
+Format: HTML
+Index: /usr/share/doc/liblzma-doc/html/index.html
+Files: /usr/share/doc/liblzma-doc/html/*
diff --git a/debian/liblzma-doc.docs b/debian/liblzma-doc.docs
new file mode 100644
index 0000000..f8172bb
--- /dev/null
+++ b/debian/liblzma-doc.docs
@@ -0,0 +1 @@
+debian/normal-build/doc/html/
diff --git a/debian/liblzma2.README.Debian b/debian/liblzma2.README.Debian
new file mode 100644
index 0000000..f0b85d8
--- /dev/null
+++ b/debian/liblzma2.README.Debian
@@ -0,0 +1,31 @@
+liblzma for Debian
+------------------
+
+liblzma2 in Debian is not ABI-compatible with upstream's library and
+is not likely to be ABI-compatible with liblzma from other
+distributions:
+
+ * The lzma_stream, lzma_stream_flags, and lzma_options_lzma
+   structures are not layout-compatible with upstream.  The versions
+   in Debian have fewer fields reserved for future expansion.
+
+ * The lzma_chunk_size() function is present but useless in Debian.
+   It has been removed upstream.
+
+ * The library soname is liblzma.so.2 in Debian, liblzma.so.5
+   upstream.
+
+To use binaries pre-built for other distributions, you can install a
+copy of liblzma.so.5:
+
+ apt-get build-dep xz-utils
+ apt-get source --download-only xz-utils
+ tar -xf xz-utils_*.orig.tar.gz
+ cd xz-5*
+ autoreconf -fis
+ ./configure --prefix=/usr/local --disable-xz --disable-xzdec \
+	--disable-lzmadec --disable-lzmainfo --disable-lzma-links \
+	--disable-scripts
+ make install
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Mon, 25 Oct 2010 03:43:34 -0500
diff --git a/debian/liblzma2.docs b/debian/liblzma2.docs
new file mode 100644
index 0000000..aa4127d
--- /dev/null
+++ b/debian/liblzma2.docs
@@ -0,0 +1,3 @@
+AUTHORS
+THANKS
+NEWS
diff --git a/debian/liblzma2.install b/debian/liblzma2.install
new file mode 100644
index 0000000..39a3e84
--- /dev/null
+++ b/debian/liblzma2.install
@@ -0,0 +1 @@
+usr/lib/liblzma.so.*
diff --git a/debian/patches/abi-chunk-size-func b/debian/patches/abi-chunk-size-func
new file mode 100644
index 0000000..e74463c
--- /dev/null
+++ b/debian/patches/abi-chunk-size-func
@@ -0,0 +1,41 @@
+From: Jonathan Nieder <jrnieder@gmail.com>
+Date: Mon, 25 Oct 2010 03:10:49 -0500
+Subject: Uncomment "lzma_chunk_size()" stub
+
+This partially reverts commit 0076e03641f201c4b77dddd5a6db5880be19a78c:
+
+    lzma_chunk_size() was commented out because it is
+    currently useless.
+
+As long as Debian squeeze keeps the old liblzma2 soname, it is
+simplest to refrain from removing any functions applications
+could have linked against.
+
+Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
+---
+ src/liblzma/common/filter_encoder.c |    2 --
+ 1 files changed, 0 insertions(+), 2 deletions(-)
+
+diff --git a/src/liblzma/common/filter_encoder.c b/src/liblzma/common/filter_encoder.c
+index 635d812..436d2cc 100644
+--- a/src/liblzma/common/filter_encoder.c
++++ b/src/liblzma/common/filter_encoder.c
+@@ -226,7 +226,6 @@ lzma_raw_encoder_memusage(const lzma_filter *filters)
+ }
+ 
+ 
+-/*
+ extern LZMA_API(lzma_vli)
+ lzma_chunk_size(const lzma_filter *filters)
+ {
+@@ -248,7 +247,6 @@ lzma_chunk_size(const lzma_filter *filters)
+ 
+ 	return max;
+ }
+-*/
+ 
+ 
+ extern LZMA_API(lzma_ret)
+-- 
+1.7.2.3
+
diff --git a/debian/patches/abi-debian-soname b/debian/patches/abi-debian-soname
new file mode 100644
index 0000000..460a5db
--- /dev/null
+++ b/debian/patches/abi-debian-soname
@@ -0,0 +1,41 @@
+From: Jonathan Nieder <jrnieder@gmail.com>
+Date: Mon, 25 Oct 2010 03:14:30 -0500
+Subject: Set liblzma version-info to 2:0:0
+
+This change is Debian-specific.
+
+The upstream version-info is 5:0:0, but Debian has been
+using version 2 for a while and it is simplest to avoid
+breaking ABI.
+
+With commit 418d64a (Fix a design error in liblzma API,
+2009-11-14) the lzma_options_lzma data structure was changed.
+Programs that read or write its fields will have no hope of
+working with older liblzma versions.
+
+With commit 1a7ec87 (Revised the Index handling code.,
+2009-12-31) various functions were removed.  Programs that
+used them will not work with the current library, so that
+required bumping the soname for a second time.
+
+Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
+---
+ src/liblzma/Makefile.am |    2 +-
+ 1 files changed, 1 insertions(+), 1 deletions(-)
+
+diff --git a/src/liblzma/Makefile.am b/src/liblzma/Makefile.am
+index 6d05fc6..ee34c83 100644
+--- a/src/liblzma/Makefile.am
++++ b/src/liblzma/Makefile.am
+@@ -24,7 +24,7 @@ liblzma_la_CPPFLAGS = \
+ 	-I$(top_srcdir)/src/liblzma/simple \
+ 	-I$(top_srcdir)/src/common \
+ 	-DTUKLIB_SYMBOL_PREFIX=lzma_
+-liblzma_la_LDFLAGS = -no-undefined -version-info 5:0:0
++liblzma_la_LDFLAGS = -no-undefined -version-info 2:0:0
+ 
+ include $(srcdir)/common/Makefile.inc
+ include $(srcdir)/check/Makefile.inc
+-- 
+1.7.2.3
+
diff --git a/debian/patches/abi-reserved-fields b/debian/patches/abi-reserved-fields
new file mode 100644
index 0000000..c681bf7
--- /dev/null
+++ b/debian/patches/abi-reserved-fields
@@ -0,0 +1,111 @@
+From: Jonathan Nieder <jrnieder@gmail.com>
+Date: Mon, 25 Oct 2010 02:53:04 -0500
+Subject: Revert "liblzma: A few ABI tweaks to reserve space in structures."
+
+This reverts commit 613939fc82603b75b59eee840871a05bc8dd08e0.
+
+It is not the time in the Debian release cycle to change ABI for
+the sake of forward-compatibility, since to do so would be a
+rather disruptive change.
+
+This revert is Debian-specific.
+
+Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
+---
+ src/liblzma/api/lzma/base.h         |    7 +------
+ src/liblzma/api/lzma/lzma.h         |    4 ++--
+ src/liblzma/api/lzma/stream_flags.h |    4 ++++
+ src/liblzma/common/common.c         |    4 ----
+ 4 files changed, 7 insertions(+), 12 deletions(-)
+
+diff --git a/src/liblzma/api/lzma/base.h b/src/liblzma/api/lzma/base.h
+index 43dde8d..fc165ab 100644
+--- a/src/liblzma/api/lzma/base.h
++++ b/src/liblzma/api/lzma/base.h
+@@ -478,12 +478,8 @@ typedef struct {
+ 	 */
+ 	void *reserved_ptr1;
+ 	void *reserved_ptr2;
+-	void *reserved_ptr3;
+-	void *reserved_ptr4;
+ 	uint64_t reserved_int1;
+ 	uint64_t reserved_int2;
+-	size_t reserved_int3;
+-	size_t reserved_int4;
+ 	lzma_reserved_enum reserved_enum1;
+ 	lzma_reserved_enum reserved_enum2;
+ 
+@@ -510,8 +506,7 @@ typedef struct {
+  */
+ #define LZMA_STREAM_INIT \
+ 	{ NULL, 0, 0, NULL, 0, 0, NULL, NULL, \
+-	NULL, NULL, NULL, NULL, 0, 0, 0, 0, \
+-	LZMA_RESERVED_ENUM, LZMA_RESERVED_ENUM }
++	NULL, NULL, 0, 0, LZMA_RESERVED_ENUM, LZMA_RESERVED_ENUM }
+ 
+ 
+ /**
+diff --git a/src/liblzma/api/lzma/lzma.h b/src/liblzma/api/lzma/lzma.h
+index 8d5fdb6..ae57728 100644
+--- a/src/liblzma/api/lzma/lzma.h
++++ b/src/liblzma/api/lzma/lzma.h
+@@ -381,6 +381,8 @@ typedef struct {
+ 	 * with the currently supported options, so it is safe to leave these
+ 	 * uninitialized.
+ 	 */
++	void *reserved_ptr1;
++	void *reserved_ptr2;
+ 	uint32_t reserved_int1;
+ 	uint32_t reserved_int2;
+ 	uint32_t reserved_int3;
+@@ -393,8 +395,6 @@ typedef struct {
+ 	lzma_reserved_enum reserved_enum2;
+ 	lzma_reserved_enum reserved_enum3;
+ 	lzma_reserved_enum reserved_enum4;
+-	void *reserved_ptr1;
+-	void *reserved_ptr2;
+ 
+ } lzma_options_lzma;
+ 
+diff --git a/src/liblzma/api/lzma/stream_flags.h b/src/liblzma/api/lzma/stream_flags.h
+index bbdd408..c6e7303 100644
+--- a/src/liblzma/api/lzma/stream_flags.h
++++ b/src/liblzma/api/lzma/stream_flags.h
+@@ -91,6 +91,8 @@ typedef struct {
+ 	lzma_reserved_enum reserved_enum2;
+ 	lzma_reserved_enum reserved_enum3;
+ 	lzma_reserved_enum reserved_enum4;
++	lzma_reserved_enum reserved_enum5;
++	lzma_reserved_enum reserved_enum6;
+ 	lzma_bool reserved_bool1;
+ 	lzma_bool reserved_bool2;
+ 	lzma_bool reserved_bool3;
+@@ -101,6 +103,8 @@ typedef struct {
+ 	lzma_bool reserved_bool8;
+ 	uint32_t reserved_int1;
+ 	uint32_t reserved_int2;
++	uint32_t reserved_int3;
++	uint32_t reserved_int4;
+ 
+ } lzma_stream_flags;
+ 
+diff --git a/src/liblzma/common/common.c b/src/liblzma/common/common.c
+index 0408e15..d1a9bed 100644
+--- a/src/liblzma/common/common.c
++++ b/src/liblzma/common/common.c
+@@ -186,12 +186,8 @@ lzma_code(lzma_stream *strm, lzma_action action)
+ 	// which would indicate that some new feature is wanted.
+ 	if (strm->reserved_ptr1 != NULL
+ 			|| strm->reserved_ptr2 != NULL
+-			|| strm->reserved_ptr3 != NULL
+-			|| strm->reserved_ptr4 != NULL
+ 			|| strm->reserved_int1 != 0
+ 			|| strm->reserved_int2 != 0
+-			|| strm->reserved_int3 != 0
+-			|| strm->reserved_int4 != 0
+ 			|| strm->reserved_enum1 != LZMA_RESERVED_ENUM
+ 			|| strm->reserved_enum2 != LZMA_RESERVED_ENUM)
+ 		return LZMA_OPTIONS_ERROR;
+-- 
+1.7.2.3
+
diff --git a/debian/patches/cs-sparse-file b/debian/patches/cs-sparse-file
new file mode 100644
index 0000000..4611d6e
--- /dev/null
+++ b/debian/patches/cs-sparse-file
@@ -0,0 +1,43 @@
+From: Lasse Collin <lasse.collin@tukaani.org>
+Date: Tue, 7 Dec 2010 18:52:04 +0200
+Subject: Translations: Fix Czech translation of "sparse file".
+
+Thanks to Petr Hubený and Marek Černocký.
+---
+ po/cs.po |    6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/po/cs.po b/po/cs.po
+index 5bebf6e4..3ef3fcc9 100644
+--- a/po/cs.po
++++ b/po/cs.po
+@@ -7,7 +7,7 @@ msgstr ""
+ "Project-Id-Version: xz-utils\n"
+ "Report-Msgid-Bugs-To: lasse.collin@tukaani.org\n"
+ "POT-Creation-Date: 2010-10-23 17:48+0300\n"
+-"PO-Revision-Date: 2010-09-17 18:54+0200\n"
++"PO-Revision-Date: 2010-12-03 11:32+0100\n"
+ "Last-Translator: Marek Černocký <marek@manet.cz>\n"
+ "Language-Team: Czech <diskuze@lists.l10n.cz>\n"
+ "Language: cs\n"
+@@ -153,7 +153,7 @@ msgstr "%s: Selhalo zavření souboru: %s"
+ #: src/xz/file_io.c:762 src/xz/file_io.c:946
+ #, c-format
+ msgid "%s: Seeking failed when trying to create a sparse file: %s"
+-msgstr "%s: Selhalo nastavení pozice při pokusu o vytvoření záložního souboru: %s"
++msgstr "%s: Selhalo nastavení pozice při pokusu o vytvoření souboru řídké matice: %s"
+ 
+ #: src/xz/file_io.c:821
+ #, c-format
+@@ -517,7 +517,7 @@ msgid ""
+ "                      filenames must be terminated with the newline character\n"
+ "      --files0[=FILE] like --files but use the null character as terminator"
+ msgstr ""
+-"     --no-sparse       nevytvářet při dekomprimaci záložní soubory\n"
++"     --no-sparse       nevytvářet při dekomprimaci soubory řídkých matic\n"
+ " -S, --suffix=.PRIP    použít u komprimovaných souborů příponu „.PRIP“\n"
+ "     --files[=SOUBOR]  číst názvy souborů, které se mají zpracovat, ze SOUBORu;\n"
+ "                       pokud není SOUBOR zadán, čte se ze standardního vstupu;\n"
+-- 
+1.7.10.2
+
diff --git a/debian/patches/decode-empty-blocks b/debian/patches/decode-empty-blocks
new file mode 100644
index 0000000..89fea1b
--- /dev/null
+++ b/debian/patches/decode-empty-blocks
@@ -0,0 +1,41 @@
+From: Lasse Collin <lasse.collin@tukaani.org>
+Date: Thu, 31 Mar 2011 11:54:48 +0300
+Subject: liblzma: Fix decoding of LZMA2 streams having no uncompressed data.
+
+The decoder considered empty LZMA2 streams to be corrupt.
+This shouldn't matter much with .xz files, because no encoder
+creates empty LZMA2 streams in .xz. This bug is more likely
+to cause problems in applications that use raw LZMA2 streams.
+---
+ src/liblzma/lzma/lzma2_decoder.c | 8 ++++----
+ 1 file changed, 4 insertions(+), 4 deletions(-)
+
+diff --git a/src/liblzma/lzma/lzma2_decoder.c b/src/liblzma/lzma/lzma2_decoder.c
+index f38879ce..3e42575d 100644
+--- a/src/liblzma/lzma/lzma2_decoder.c
++++ b/src/liblzma/lzma/lzma2_decoder.c
+@@ -67,6 +67,10 @@ lzma2_decode(lzma_coder *restrict coder, lzma_dict *restrict dict,
+ 		const uint32_t control = in[*in_pos];
+ 		++*in_pos;
+ 
++		// End marker
++		if (control == 0x00)
++			return LZMA_STREAM_END;
++
+ 		if (control >= 0xE0 || control == 1) {
+ 			// Dictionary reset implies that next LZMA chunk has
+ 			// to set new properties.
+@@ -104,10 +108,6 @@ lzma2_decode(lzma_coder *restrict coder, lzma_dict *restrict dict,
+ 							&coder->options);
+ 			}
+ 		} else {
+-			// End marker
+-			if (control == 0x00)
+-				return LZMA_STREAM_END;
+-
+ 			// Invalid control values
+ 			if (control > 2)
+ 				return LZMA_DATA_ERROR;
+-- 
+1.7.11.rc3
+
diff --git a/debian/patches/decode-empty-blocks-test b/debian/patches/decode-empty-blocks-test
new file mode 100644
index 0000000..e97bb28
--- /dev/null
+++ b/debian/patches/decode-empty-blocks-test
@@ -0,0 +1,28 @@
+From: Lasse Collin <lasse.collin@tukaani.org>
+Date: Thu, 31 Mar 2011 12:22:55 +0300
+Subject: Tests: Add a new file to test empty LZMA2 streams.
+
+---
+ tests/files/README            |   4 ++++
+ tests/files/good-1-lzma2-5.xz | Bin 0 -> 52 bytes
+ 2 files changed, 4 insertions(+)
+ create mode 100644 tests/files/good-1-lzma2-5.xz
+
+diff --git a/tests/files/README b/tests/files/README
+index 108ce8fb..53950edb 100644
+--- a/tests/files/README
++++ b/tests/files/README
+@@ -87,6 +87,10 @@
+     uncompressed with dictionary reset, and third is LZMA with new
+     properties but without dictionary reset.
+ 
++    good-1-lzma2-5.xz has an empty LZMA2 stream with only the end of
++    payload marker. XZ Utils 5.0.1 and older incorrectly see this file
++    as corrupt.
++
+     good-1-3delta-lzma2.xz has three Delta filters and LZMA2.
+ 
+ 
+-- 
+1.7.11.rc3
+
diff --git a/debian/patches/encoder-api-checks b/debian/patches/encoder-api-checks
new file mode 100644
index 0000000..0ff5341
--- /dev/null
+++ b/debian/patches/encoder-api-checks
@@ -0,0 +1,91 @@
+From: Lasse Collin <lasse.collin@tukaani.org>
+Date: Mon, 11 Apr 2011 13:21:28 +0300
+Subject: liblzma: Validate encoder arguments better.
+
+The biggest problem was that the integrity check type
+wasn't validated, and e.g. lzma_easy_buffer_encode()
+would create a corrupt .xz Stream if given an unsupported
+Check ID. Luckily applications don't usually try to use
+an unsupport Check ID, so this bug is unlikely to cause
+many real-world problems.
+---
+ src/liblzma/common/block_buffer_encoder.c  | 18 ++++++++++++------
+ src/liblzma/common/block_encoder.c         |  5 +++++
+ src/liblzma/common/stream_buffer_encoder.c |  3 +++
+ 3 files changed, 20 insertions(+), 6 deletions(-)
+
+diff --git a/src/liblzma/common/block_buffer_encoder.c b/src/liblzma/common/block_buffer_encoder.c
+index a8f71c21..519c6a68 100644
+--- a/src/liblzma/common/block_buffer_encoder.c
++++ b/src/liblzma/common/block_buffer_encoder.c
+@@ -226,16 +226,23 @@ lzma_block_buffer_encode(lzma_block *block, lzma_allocator *allocator,
+ 		const uint8_t *in, size_t in_size,
+ 		uint8_t *out, size_t *out_pos, size_t out_size)
+ {
+-	// Sanity checks
+-	if (block == NULL || block->filters == NULL
+-			|| (in == NULL && in_size != 0) || out == NULL
++	// Validate the arguments.
++	if (block == NULL || (in == NULL && in_size != 0) || out == NULL
+ 			|| out_pos == NULL || *out_pos > out_size)
+ 		return LZMA_PROG_ERROR;
+ 
+-	// Check the version field.
++	// The contents of the structure may depend on the version so
++	// check the version before validating the contents of *block.
+ 	if (block->version != 0)
+ 		return LZMA_OPTIONS_ERROR;
+ 
++	if ((unsigned int)(block->check) > LZMA_CHECK_ID_MAX
++			|| block->filters == NULL)
++		return LZMA_PROG_ERROR;
++
++	if (!lzma_check_is_supported(block->check))
++		return LZMA_UNSUPPORTED_CHECK;
++
+ 	// Size of a Block has to be a multiple of four, so limit the size
+ 	// here already. This way we don't need to check it again when adding
+ 	// Block Padding.
+@@ -243,8 +250,7 @@ lzma_block_buffer_encode(lzma_block *block, lzma_allocator *allocator,
+ 
+ 	// Get the size of the Check field.
+ 	const size_t check_size = lzma_check_size(block->check);
+-	if (check_size == UINT32_MAX)
+-		return LZMA_PROG_ERROR;
++	assert(check_size != UINT32_MAX);
+ 
+ 	// Reserve space for the Check field.
+ 	if (out_size - *out_pos <= check_size)
+diff --git a/src/liblzma/common/block_encoder.c b/src/liblzma/common/block_encoder.c
+index ca515235..b34c5013 100644
+--- a/src/liblzma/common/block_encoder.c
++++ b/src/liblzma/common/block_encoder.c
+@@ -161,6 +161,11 @@ lzma_block_encoder_init(lzma_next_coder *next, lzma_allocator *allocator,
+ {
+ 	lzma_next_coder_init(&lzma_block_encoder_init, next, allocator);
+ 
++	if (block == NULL)
++		return LZMA_PROG_ERROR;
++
++	// The contents of the structure may depend on the version so
++	// check the version first.
+ 	if (block->version != 0)
+ 		return LZMA_OPTIONS_ERROR;
+ 
+diff --git a/src/liblzma/common/stream_buffer_encoder.c b/src/liblzma/common/stream_buffer_encoder.c
+index 0542c30a..2450ee2e 100644
+--- a/src/liblzma/common/stream_buffer_encoder.c
++++ b/src/liblzma/common/stream_buffer_encoder.c
+@@ -51,6 +51,9 @@ lzma_stream_buffer_encode(lzma_filter *filters, lzma_check check,
+ 			|| out_pos_ptr == NULL || *out_pos_ptr > out_size)
+ 		return LZMA_PROG_ERROR;
+ 
++	if (!lzma_check_is_supported(check))
++		return LZMA_UNSUPPORTED_CHECK;
++
+ 	// Note for the paranoids: Index encoder prevents the Stream from
+ 	// getting too big and still being accepted with LZMA_OK, and Block
+ 	// encoder catches if the input is too big. So we don't need to
+-- 
+1.7.11.rc3
+
diff --git a/debian/patches/encoder-skip-empty-blocks b/debian/patches/encoder-skip-empty-blocks
new file mode 100644
index 0000000..ad86f6b
--- /dev/null
+++ b/debian/patches/encoder-skip-empty-blocks
@@ -0,0 +1,61 @@
+From: Lasse Collin <lasse.collin@tukaani.org>
+Date: Mon, 11 Apr 2011 13:59:50 +0300
+Subject: liblzma: Don't create an empty Block in lzma_stream_buffer_encode().
+
+Empty Block was created if the input buffer was empty.
+Empty Block wastes a few bytes of space, but more importantly
+it triggers a bug in XZ Utils 5.0.1 and older when trying
+to decompress such a file. 5.0.1 and older consider such
+files to be corrupt. I thought that no encoder creates empty
+Blocks when releasing 5.0.2 but I was wrong.
+---
+ src/liblzma/common/stream_buffer_encoder.c |   20 +++++++++++++-------
+ 1 file changed, 13 insertions(+), 7 deletions(-)
+
+diff --git a/src/liblzma/common/stream_buffer_encoder.c b/src/liblzma/common/stream_buffer_encoder.c
+index f727d854..0542c30a 100644
+--- a/src/liblzma/common/stream_buffer_encoder.c
++++ b/src/liblzma/common/stream_buffer_encoder.c
+@@ -81,26 +81,32 @@ lzma_stream_buffer_encode(lzma_filter *filters, lzma_check check,
+ 
+ 	out_pos += LZMA_STREAM_HEADER_SIZE;
+ 
+-	// Block
++	// Encode a Block but only if there is at least one byte of input.
+ 	lzma_block block = {
+ 		.version = 0,
+ 		.check = check,
+ 		.filters = filters,
+ 	};
+ 
+-	return_if_error(lzma_block_buffer_encode(&block, allocator,
+-			in, in_size, out, &out_pos, out_size));
++	if (in_size > 0)
++		return_if_error(lzma_block_buffer_encode(&block, allocator,
++				in, in_size, out, &out_pos, out_size));
+ 
+ 	// Index
+ 	{
+-		// Create an Index with one Record.
++		// Create an Index. It will have one Record if there was
++		// at least one byte of input to encode. Otherwise the
++		// Index will be empty.
+ 		lzma_index *i = lzma_index_init(allocator);
+ 		if (i == NULL)
+ 			return LZMA_MEM_ERROR;
+ 
+-		lzma_ret ret = lzma_index_append(i, allocator,
+-				lzma_block_unpadded_size(&block),
+-				block.uncompressed_size);
++		lzma_ret ret = LZMA_OK;
++
++		if (in_size > 0)
++			ret = lzma_index_append(i, allocator,
++					lzma_block_unpadded_size(&block),
++					block.uncompressed_size);
+ 
+ 		// If adding the Record was successful, encode the Index
+ 		// and get its size which will be stored into Stream Footer.
+-- 
+1.7.10.2
+
diff --git a/debian/patches/index_init-NULL-dereference b/debian/patches/index_init-NULL-dereference
new file mode 100644
index 0000000..6517a6d
--- /dev/null
+++ b/debian/patches/index_init-NULL-dereference
@@ -0,0 +1,32 @@
+From: Lasse Collin <lasse.collin@tukaani.org>
+Date: Fri, 27 May 2011 22:09:49 +0300
+Subject: liblzma: Handle allocation failures correctly in lzma_index_init().
+
+Thanks to Jim Meyering.
+---
+ src/liblzma/common/index.c |    7 +++++--
+ 1 file changed, 5 insertions(+), 2 deletions(-)
+
+diff --git a/src/liblzma/common/index.c b/src/liblzma/common/index.c
+index ddb9d364..9af4bc19 100644
+--- a/src/liblzma/common/index.c
++++ b/src/liblzma/common/index.c
+@@ -398,10 +398,13 @@ extern LZMA_API(lzma_index *)
+ lzma_index_init(lzma_allocator *allocator)
+ {
+ 	lzma_index *i = index_init_plain(allocator);
++	if (i == NULL)
++		return NULL;
++
+ 	index_stream *s = index_stream_init(0, 0, 1, 0, allocator);
+-	if (i == NULL || s == NULL) {
+-		index_stream_end(s, allocator);
++	if (s == NULL) {
+ 		lzma_free(i, allocator);
++		return NULL;
+ 	}
+ 
+ 	index_tree_append(&i->streams, &s->node);
+-- 
+1.7.10.2
+
diff --git a/debian/patches/it-stray-N b/debian/patches/it-stray-N
new file mode 100644
index 0000000..a6c4a19
--- /dev/null
+++ b/debian/patches/it-stray-N
@@ -0,0 +1,48 @@
+From: Lasse Collin <lasse.collin@tukaani.org>
+Date: Sat, 28 May 2011 09:47:56 +0300
+Subject: Translations: Update Italian translation.
+
+Thanks to Milo Casagrande.
+---
+ po/it.po |    9 +++++----
+ 1 file changed, 5 insertions(+), 4 deletions(-)
+
+diff --git a/po/it.po b/po/it.po
+index 4f9ef0dd..4bffbe3c 100644
+--- a/po/it.po
++++ b/po/it.po
+@@ -2,13 +2,14 @@
+ # This file is in the public domain
+ # Gruppo traduzione italiano di Ubuntu-it <gruppo-traduzione@ubuntu-it.org>, 2009, 2010
+ # Lorenzo De Liso <blackz@ubuntu.com>, 2010.
+-# Milo Casagrande <milo@ubuntu.com>, 2009, 2010.
++# Milo Casagrande <milo@ubuntu.com>, 2009, 2010, 2011.
++#
+ msgid ""
+ msgstr ""
+ "Project-Id-Version: xz-utils\n"
+ "Report-Msgid-Bugs-To: lasse.collin@tukaani.org\n"
+ "POT-Creation-Date: 2010-10-23 17:48+0300\n"
+-"PO-Revision-Date: 2010-09-16 21:32+0200\n"
++"PO-Revision-Date: 2011-05-27 11:43+0200\n"
+ "Last-Translator: Milo Casagrande <milo@ubuntu.com>\n"
+ "Language-Team: Italian <tp@lists.linux.it>\n"
+ "Language: it\n"
+@@ -17,12 +18,12 @@ msgstr ""
+ "Content-Transfer-Encoding: 8bit\n"
+ "X-Launchpad-Export-Date: 2010-08-16 19:16+0000\n"
+ "X-Generator: Launchpad (build Unknown)\n"
+-"Plural-Forms: nplurals=2; plural=(n != 1);\n"
++"Plural-Forms: nplurals=2; plural=(n != 1)\n"
+ 
+ #: src/xz/args.c:333
+ #, c-format
+ msgid "%s: Unknown file format type"
+-msgstr "%s: tipo di formato del file sconosciutoN"
++msgstr "%s: tipo di formato del file sconosciuto"
+ 
+ #: src/xz/args.c:356 src/xz/args.c:364
+ #, c-format
+-- 
+1.7.10.2
+
diff --git a/debian/patches/series b/debian/patches/series
new file mode 100644
index 0000000..fa7f036
--- /dev/null
+++ b/debian/patches/series
@@ -0,0 +1,16 @@
+abi-reserved-fields
+abi-chunk-size-func
+abi-debian-soname
+cs-sparse-file
+encoder-api-checks
+decode-empty-blocks
+decode-empty-blocks-test
+stream_encoder-init-leak
+encoder-skip-empty-blocks
+xzgrep-argv0-parsing
+index_init-NULL-dereference
+xz-lvv-invalid-free
+xz-lvv-invalid-free-test
+it-stray-N
+xzdiff-save-diff-status
+xzgrep-ignore-SIGPIPE
diff --git a/debian/patches/stream_encoder-init-leak b/debian/patches/stream_encoder-init-leak
new file mode 100644
index 0000000..9947182
--- /dev/null
+++ b/debian/patches/stream_encoder-init-leak
@@ -0,0 +1,34 @@
+From: Lasse Collin <lasse.collin@tukaani.org>
+Date: Sat, 2 Apr 2011 14:49:56 +0300
+Subject: liblzma: Fix a memory leak in stream_encoder.c.
+
+It leaks old filter options structures (hundred bytes or so)
+every time the lzma_stream is reinitialized. With the xz tool,
+this happens when compressing multiple files.
+---
+ src/liblzma/common/stream_encoder.c |    2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/liblzma/common/stream_encoder.c b/src/liblzma/common/stream_encoder.c
+index 48d91da7..97a7a23a 100644
+--- a/src/liblzma/common/stream_encoder.c
++++ b/src/liblzma/common/stream_encoder.c
+@@ -280,6 +280,7 @@ lzma_stream_encoder_init(lzma_next_coder *next, lzma_allocator *allocator,
+ 		next->end = &stream_encoder_end;
+ 		next->update = &stream_encoder_update;
+ 
++		next->coder->filters[0].id = LZMA_VLI_UNKNOWN;
+ 		next->coder->block_encoder = LZMA_NEXT_CODER_INIT;
+ 		next->coder->index_encoder = LZMA_NEXT_CODER_INIT;
+ 		next->coder->index = NULL;
+@@ -289,7 +290,6 @@ lzma_stream_encoder_init(lzma_next_coder *next, lzma_allocator *allocator,
+ 	next->coder->sequence = SEQ_STREAM_HEADER;
+ 	next->coder->block_options.version = 0;
+ 	next->coder->block_options.check = check;
+-	next->coder->filters[0].id = LZMA_VLI_UNKNOWN;
+ 
+ 	// Initialize the Index
+ 	lzma_index_end(next->coder->index, allocator);
+-- 
+1.7.10.2
+
diff --git a/debian/patches/xz-lvv-invalid-free b/debian/patches/xz-lvv-invalid-free
new file mode 100644
index 0000000..4959a52
--- /dev/null
+++ b/debian/patches/xz-lvv-invalid-free
@@ -0,0 +1,60 @@
+From: Lasse Collin <lasse.collin@tukaani.org>
+Date: Fri, 27 May 2011 22:25:44 +0300
+Subject: xz: Fix error handling in xz -lvv.
+
+It could do an invalid free() and read past the end
+of the uninitialized filters array.
+---
+ src/xz/list.c |   21 ++++++---------------
+ 1 file changed, 6 insertions(+), 15 deletions(-)
+
+diff --git a/src/xz/list.c b/src/xz/list.c
+index 1c93718b..98307eb2 100644
+--- a/src/xz/list.c
++++ b/src/xz/list.c
+@@ -382,14 +382,9 @@ parse_block_header(file_pair *pair, const lzma_index_iter *iter,
+ 	if (buf.u8[0] == 0)
+ 		goto data_error;
+ 
+-	lzma_block block;
+-	lzma_filter filters[LZMA_FILTERS_MAX + 1];
+-
+-	// Initialize the pointers so that they can be passed to free().
+-	for (size_t i = 0; i < ARRAY_SIZE(filters); ++i)
+-		filters[i].options = NULL;
+-
+ 	// Initialize the block structure and decode Block Header Size.
++	lzma_filter filters[LZMA_FILTERS_MAX + 1];
++	lzma_block block;
+ 	block.version = 0;
+ 	block.check = iter->stream.flags->check;
+ 	block.filters = filters;
+@@ -437,6 +432,10 @@ parse_block_header(file_pair *pair, const lzma_index_iter *iter,
+ 		break;
+ 
+ 	case LZMA_DATA_ERROR:
++		// Free the memory allocated by lzma_block_header_decode().
++		for (size_t i = 0; filters[i].id != LZMA_VLI_UNKNOWN; ++i)
++			free(filters[i].options);
++
+ 		goto data_error;
+ 
+ 	default:
+@@ -466,14 +465,6 @@ data_error:
+ 	// Show the error message.
+ 	message_error("%s: %s", pair->src_name,
+ 			message_strm(LZMA_DATA_ERROR));
+-
+-	// Free the memory allocated by lzma_block_header_decode().
+-	// This is truly needed only if we get here after a succcessful
+-	// call to lzma_block_header_decode() but it doesn't hurt to
+-	// always do it.
+-	for (size_t i = 0; filters[i].id != LZMA_VLI_UNKNOWN; ++i)
+-		free(filters[i].options);
+-
+ 	return true;
+ }
+ 
+-- 
+1.7.10.2
+
diff --git a/debian/patches/xz-lvv-invalid-free-test b/debian/patches/xz-lvv-invalid-free-test
new file mode 100644
index 0000000..c68984b
--- /dev/null
+++ b/debian/patches/xz-lvv-invalid-free-test
@@ -0,0 +1,30 @@
+From: Lasse Collin <lasse.collin@tukaani.org>
+Date: Sat, 28 May 2011 08:46:04 +0300
+Subject: Tests: Add a test file for the bug in the previous commit.
+
+[jrnieder@gmail.com: leaving out bad-1-block_header-6.xz because
+ source format 3.0 (quilt) does not permit binary patches]
+---
+ tests/files/README                  |    4 ++++
+ tests/files/bad-1-block_header-6.xz |  Bin 0 -> 72 bytes
+ 2 files changed, 4 insertions(+)
+ create mode 100644 tests/files/bad-1-block_header-6.xz
+
+diff --git a/tests/files/README b/tests/files/README
+index 392ff768..108ce8fb 100644
+--- a/tests/files/README
++++ b/tests/files/README
+@@ -184,6 +184,10 @@
+ 
+     bad-1-block_header-5.xz has zero as Compressed Size in Block Header.
+ 
++    bad-1-block_header-6.xz has corrupt Block Header which may crash
++    xz -lvv in XZ Utils 5.0.3 and earlier. It was fixed in the commit
++    c0297445064951807803457dca1611b3c47e7f0f.
++
+     bad-2-index-1.xz has wrong Unpadded Sizes in Index.
+ 
+     bad-2-index-2.xz has wrong Uncompressed Sizes in Index.
+-- 
+1.7.10.2
+
diff --git a/debian/patches/xzdiff-save-diff-status b/debian/patches/xzdiff-save-diff-status
new file mode 100644
index 0000000..74048b1
--- /dev/null
+++ b/debian/patches/xzdiff-save-diff-status
@@ -0,0 +1,123 @@
+From: Lasse Collin <lasse.collin@tukaani.org>
+Date: Sun, 31 Jul 2011 11:01:47 +0300
+Subject: Fix exit status of "xzdiff foo.xz bar.xz".
+
+xzdiff was clobbering the exit status from diff in a case
+statement used to analyze the exit statuses from "xz" when
+its operands were two compressed files. Save and restore
+diff's exit status to fix this.
+
+The bug is inherited from zdiff in GNU gzip and was fixed
+there on 2009-10-09.
+
+Thanks to Jonathan Nieder for the patch and
+to Peter Pallinger for reporting the bug.
+---
+ src/scripts/xzdiff.in |    2 ++
+ tests/Makefile.am     |    4 +++-
+ tests/test_scripts.sh |   54 +++++++++++++++++++++++++++++++++++++++++++++++++
+ 3 files changed, 59 insertions(+), 1 deletion(-)
+ create mode 100755 tests/test_scripts.sh
+
+diff --git a/src/scripts/xzdiff.in b/src/scripts/xzdiff.in
+index 2d6e5da4..03428d1a 100644
+--- a/src/scripts/xzdiff.in
++++ b/src/scripts/xzdiff.in
+@@ -120,10 +120,12 @@ elif test $# -eq 2; then
+                 ( ($xz2 -cdfq -- "$2" 4>&-; echo $? >&4) 3>&- 5<&- </dev/null |
+                 eval "$cmp" /dev/fd/5 - >&3) 5<&0
+             )
++            cmp_status=$?
+             case $xz_status in
+               *[1-9]*) xz_status=1;;
+               *) xz_status=0;;
+             esac
++            (exit $cmp_status)
+           else
+             F=`expr "/$2" : '.*/\(.*\)[-.][ablmtxz2]*$'` || F=$prog
+             tmp=
+diff --git a/tests/Makefile.am b/tests/Makefile.am
+index d0807ae4..0469264a 100644
+--- a/tests/Makefile.am
++++ b/tests/Makefile.am
+@@ -10,6 +10,7 @@ EXTRA_DIST = \
+ 	tests.h \
+ 	test_files.sh \
+ 	test_compress.sh \
++	test_scripts.sh \
+ 	bcj_test.c \
+ 	compress_prepared_bcj_sparc \
+ 	compress_prepared_bcj_x86
+@@ -42,7 +43,8 @@ TESTS = \
+ 	test_block_header \
+ 	test_index \
+ 	test_files.sh \
+-	test_compress.sh
++	test_compress.sh \
++	test_scripts.sh
+ 
+ clean-local:
+ 	-rm -f compress_generated_*
+diff --git a/tests/test_scripts.sh b/tests/test_scripts.sh
+new file mode 100755
+index 00000000..891fc76a
+--- /dev/null
++++ b/tests/test_scripts.sh
+@@ -0,0 +1,54 @@
++#!/bin/sh
++
++###############################################################################
++#
++# Author: Jonathan Nieder
++#
++# This file has been put into the public domain.
++# You can do whatever you want with this file.
++#
++###############################################################################
++
++# If scripts weren't built, this test is skipped.
++XZ=../src/xz/xz
++XZDIFF=../src/scripts/xzdiff
++test -x "$XZ" || XZ=
++test -r "$XZDIFF" || XZDIFF=
++if test -z "$XZ" || test -z "$XZDIFF"; then
++	(exit 77)
++	exit 77
++fi
++
++PATH=`pwd`/../src/xz:$PATH
++export PATH
++
++preimage=$srcdir/files/good-1-check-crc32.xz
++samepostimage=$srcdir/files/good-1-check-crc64.xz
++otherpostimage=$srcdir/files/good-1-lzma2-1.xz
++
++sh "$XZDIFF" "$preimage" "$samepostimage" >/dev/null
++status=$?
++if test "$status" != 0 ; then
++	echo "xzdiff with no changes exited with status $status != 0"
++	(exit 1)
++	exit 1
++fi
++
++sh "$XZDIFF" "$preimage" "$otherpostimage" >/dev/null
++status=$?
++if test "$status" != 1 ; then
++	echo "xzdiff with changes exited with status $status != 1"
++	(exit 1)
++	exit 1
++fi
++
++sh "$XZDIFF" "$preimage" "$srcdir/files/missing.xz" >/dev/null 2>&1
++status=$?
++if test "$status" != 2 ; then
++	echo "xzdiff with missing operand exited with status $status != 2"
++	(exit 1)
++	exit 1
++fi
++
++(exit 0)
++exit 0
+-- 
+1.7.10.2
+
diff --git a/debian/patches/xzgrep-argv0-parsing b/debian/patches/xzgrep-argv0-parsing
new file mode 100644
index 0000000..c3e2a58
--- /dev/null
+++ b/debian/patches/xzgrep-argv0-parsing
@@ -0,0 +1,36 @@
+From: Martin Väth <vaeth@mathematik.uni-wuerzburg.de>
+Date: Fri, 15 Apr 2011 04:54:49 -0400
+Subject: xzgrep: fix typo in $0 parsing
+
+Reported-by: Diego Elio Pettenò <flameeyes@gentoo.org>
+Signed-off-by: Martin Väth <vaeth@mathematik.uni-wuerzburg.de>
+Signed-off-by: Mike Frysinger <vapier@gentoo.org>
+---
+ src/scripts/xzgrep.in | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/src/scripts/xzgrep.in b/src/scripts/xzgrep.in
+index cbc6b238..dd945137 100644
+--- a/src/scripts/xzgrep.in
++++ b/src/scripts/xzgrep.in
+@@ -27,7 +27,7 @@
+ xz='@xz@ --format=auto'
+ unset GZIP BZIP BZIP2
+ 
+-case ${0##/*} in
++case ${0##*/} in
+   *egrep*) prog=xzegrep; grep=${GREP:-egrep};;
+   *fgrep*) prog=xzfgrep; grep=${GREP:-fgrep};;
+   *)       prog=xzgrep; grep=${GREP:-grep};;
+@@ -35,7 +35,7 @@ esac
+ 
+ version="$prog (@PACKAGE_NAME@) @VERSION@"
+ 
+-usage="Usage: ${0##/*} [OPTION]... [-e] PATTERN [FILE]...
++usage="Usage: ${0##*/} [OPTION]... [-e] PATTERN [FILE]...
+ Look for instances of PATTERN in the input FILEs, using their
+ uncompressed contents if they are compressed.
+ 
+-- 
+1.7.11.rc3
+
diff --git a/debian/patches/xzgrep-ignore-SIGPIPE b/debian/patches/xzgrep-ignore-SIGPIPE
new file mode 100644
index 0000000..57086c8
--- /dev/null
+++ b/debian/patches/xzgrep-ignore-SIGPIPE
@@ -0,0 +1,36 @@
+From: Lasse Collin <lasse.collin@tukaani.org>
+Date: Wed, 22 Feb 2012 14:02:34 +0200
+Subject: Fix exit status of xzgrep when grepping binary files.
+
+When grepping binary files, grep may exit before it has
+read all the input. In this case, gzip -q returns 2 (eating
+SIGPIPE), but xz and bzip2 show SIGPIPE as the exit status
+(e.g. 141). This causes wrong exit status when grepping
+xz- or bzip2-compressed binary files.
+
+The fix checks for the special exit status that indicates SIGPIPE.
+It uses kill -l which should be supported everywhere since it
+is in both SUSv2 (1997) and POSIX.1-2008.
+
+Thanks to James Buren for the bug report.
+---
+ src/scripts/xzgrep.in |    3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/src/scripts/xzgrep.in b/src/scripts/xzgrep.in
+index bfa9fb53..cbc6b238 100644
+--- a/src/scripts/xzgrep.in
++++ b/src/scripts/xzgrep.in
+@@ -190,7 +190,8 @@ for i; do
+     fi >&3 5>&-
+   )
+   r=$?
+-  test "$xz_status" -eq 0 || test "$xz_status" -eq 2 || r=2
++  test "$xz_status" -eq 0 || test "$xz_status" -eq 2 \
++      || test "$(kill -l "$xz_status" 2> /dev/null)" = "PIPE" || r=2
+   test $res -lt $r && res=$r
+ done
+ exit $res
+-- 
+1.7.10.2
+
diff --git a/debian/rules b/debian/rules
new file mode 100755
index 0000000..9612d54
--- /dev/null
+++ b/debian/rules
@@ -0,0 +1,108 @@
+#!/usr/bin/make -f
+
+build clean install binary-arch binary-indep binary:
+	+dh --parallel $(opt_no_act) $@
+
+override_dh_auto_clean:
+	dh_auto_clean --builddirectory debian/xzdec-build
+	dh_auto_clean --builddirectory debian/normal-build
+	chmod -x tests/test_scripts.sh
+	sh debian/clean.sh
+
+override_dh_auto_configure:
+	autoreconf -fis
+	dh_auto_configure --builddirectory debian/normal-build -- \
+		$(opt_optimize) $(opt_quiet) \
+		--disable-xzdec --disable-lzmadec
+	dh_auto_configure --builddirectory debian/xzdec-build -- \
+		--disable-shared --disable-nls --disable-encoders \
+		--enable-small --disable-threads \
+		$(opt_optimize_small) $(opt_quiet) \
+		--disable-lzmainfo --disable-scripts \
+		--disable-xz --disable-lzma-links
+
+override_dh_auto_build:
+	dh_auto_build --builddirectory debian/normal-build
+	dh_auto_build --builddirectory debian/xzdec-build
+	: 'Work around bug #478524'
+	set -e; if type doxygen >/dev/null 2>/dev/null; \
+	then \
+		cd debian/normal-build; \
+		doxygen Doxyfile; \
+	fi
+
+override_dh_auto_test:
+	chmod +x tests/test_scripts.sh
+	$(MAKE) -C debian/normal-build check
+	$(MAKE) -C debian/xzdec-build/tests create_compress_files
+	$(MAKE) -C debian/xzdec-build/tests \
+		TESTS="test_check test_files.sh test_compress.sh" \
+		check-TESTS
+
+override_dh_auto_install:
+	dh_auto_install --builddirectory debian/xzdec-build
+	dh_auto_install --builddirectory debian/normal-build
+
+override_dh_installchangelogs:
+	dh_installchangelogs debian/changelog.upstream
+
+opt_optimize = CFLAGS="-g -O2"
+opt_optimize_small = CFLAGS="-g -Os"
+opt_no_act =
+opt_quiet =
+
+# Unless noopt is set, use optimized CRC32 routine on the Hurd.
+ifeq (hurd,$(shell dpkg-architecture -qDEB_HOST_ARCH_OS))
+    cputype := $(shell dpkg-architecture -qDEB_HOST_ARCH_CPU)
+    ifeq (i386,$(cputype))
+        opt_optimize += --enable-assembler=x86
+        opt_optimize_small += --enable-assembler=x86
+    endif
+    ifeq (amd64,$(cputype))
+        opt_optimize += --enable-assembler=x86_64
+        opt_optimize_small += --enable-assembler=x86_64
+    endif
+endif
+
+ifneq (,$(filter noopt,$(DEB_BUILD_OPTIONS)))
+    opt_optimize = --disable-assembler CFLAGS="-g -O0"
+    opt_optimize_small = --disable-assembler CFLAGS="-g -O0"
+endif
+
+ifneq (,$(findstring n,$(MAKEFLAGS)))
+    opt_no_act = --no-act
+endif
+
+ifneq (,$(filter quiet,$(DEB_BUILD_OPTIONS)))
+    opt_quiet = --quiet
+    MAKEFLAGS += --quiet
+endif
+
+# Build a tarball with the latest upstream version.
+# This is made complicated by the need to choose a nice version number.
+REPO = http://git.tukaani.org/xz.git
+BRANCH = master
+get-orig-source:
+	mkdir debian-orig-source
+	-set -e; cd debian-orig-source; \
+	: Fetch latest upstream version.; \
+		git init -q; \
+		git fetch -q --tags $(REPO); \
+		git fetch -q $(REPO) $(BRANCH); \
+	: Determine version number.; \
+		commit_name=$$(git describe FETCH_HEAD); \
+		release=$${commit_name%%-*}; \
+		date=$$(date --utc --date="$$( \
+			git log -1 --pretty=format:%cD "$$commit_name" \
+			)" "+%Y%m%d"); \
+		if test "$$commit_name" = "$$release"; \
+		then upstream_version=$${commit_name#v}; \
+		else upstream_version="$${release#v}+$${date}"; \
+		fi; \
+	: Generate tarball.; \
+		echo "packaging $$commit_name"; \
+		git archive --format=tar "$$commit_name" \
+			--prefix="xz-utils-$$upstream_version/" | \
+		gzip -n --rsyncable -9 \
+			> "../xz-utils_$$upstream_version.orig.tar.gz"
+	rm -fr debian-orig-source
diff --git a/debian/source/format b/debian/source/format
new file mode 100644
index 0000000..163aaf8
--- /dev/null
+++ b/debian/source/format
@@ -0,0 +1 @@
+3.0 (quilt)
diff --git a/debian/source/include-binaries b/debian/source/include-binaries
new file mode 100644
index 0000000..bc7b083
--- /dev/null
+++ b/debian/source/include-binaries
@@ -0,0 +1,2 @@
+tests/files/bad-1-block_header-6.xz
+tests/files/good-1-lzma2-5.xz
diff --git a/debian/source/local-options b/debian/source/local-options
new file mode 100644
index 0000000..02058dc
--- /dev/null
+++ b/debian/source/local-options
@@ -0,0 +1 @@
+extend-diff-ignore = doc/examples/xz_pipe_(?:de)?comp.c$
diff --git a/debian/symbols b/debian/symbols
new file mode 100644
index 0000000..1a7d6ea
--- /dev/null
+++ b/debian/symbols
@@ -0,0 +1,96 @@
+liblzma.so.2 liblzma2 #MINVER#
+* Build-Depends-Package: liblzma-dev
+ lzma_alone_decoder@Base 4.999.9beta
+ lzma_alone_encoder@Base 4.999.9beta+20091116
+ lzma_auto_decoder@Base 4.999.9beta
+ lzma_block_buffer_bound@Base 4.999.9beta
+ lzma_block_buffer_decode@Base 4.999.9beta
+ lzma_block_buffer_encode@Base 5.0.0-2.1~
+ lzma_block_compressed_size@Base 4.999.9beta+20100602
+ lzma_block_decoder@Base 4.999.9beta
+ lzma_block_encoder@Base 5.0.0-2.1~
+ lzma_block_header_decode@Base 4.999.9beta
+ lzma_block_header_encode@Base 4.999.9beta
+ lzma_block_header_size@Base 4.999.9beta
+ lzma_block_total_size@Base 4.999.9beta
+ lzma_block_unpadded_size@Base 4.999.9beta
+ lzma_check_is_supported@Base 4.999.9beta
+ lzma_check_size@Base 4.999.9beta
+ lzma_chunk_size@Base 4.999.9beta
+ lzma_code@Base 4.999.9beta
+ lzma_crc32@Base 4.999.9beta
+ lzma_crc64@Base 4.999.9beta
+ lzma_easy_buffer_encode@Base 5.0.0-2.1~
+ lzma_easy_decoder_memusage@Base 4.999.9beta
+ lzma_easy_encoder@Base 4.999.9beta
+ lzma_easy_encoder_memusage@Base 4.999.9beta
+ lzma_end@Base 4.999.9beta
+ lzma_filter_decoder_is_supported@Base 4.999.9beta
+ lzma_filter_encoder_is_supported@Base 4.999.9beta
+ lzma_filter_flags_decode@Base 4.999.9beta
+ lzma_filter_flags_encode@Base 4.999.9beta
+ lzma_filter_flags_size@Base 4.999.9beta
+ lzma_filters_copy@Base 4.999.9beta+20091116
+ lzma_filters_update@Base 4.999.9beta+20091116
+ lzma_get_check@Base 4.999.9beta
+ lzma_index_append@Base 4.999.9beta
+ lzma_index_block_count@Base 4.999.9beta+20100117
+ lzma_index_buffer_decode@Base 4.999.9beta
+ lzma_index_buffer_encode@Base 4.999.9beta+20100117
+ lzma_index_cat@Base 4.999.9beta+20100117
+ lzma_index_checks@Base 4.999.9beta+20100117
+ lzma_index_decoder@Base 5.0.0
+ lzma_index_dup@Base 4.999.9beta
+ lzma_index_encoder@Base 5.0.0
+ lzma_index_end@Base 4.999.9beta
+ lzma_index_file_size@Base 4.999.9beta
+ lzma_index_hash_append@Base 4.999.9beta
+ lzma_index_hash_decode@Base 4.999.9beta
+ lzma_index_hash_end@Base 4.999.9beta
+ lzma_index_hash_init@Base 4.999.9beta
+ lzma_index_hash_size@Base 4.999.9beta
+ lzma_index_init@Base 4.999.9beta+20100117
+ lzma_index_iter_init@Base 4.999.9beta+20100117
+ lzma_index_iter_locate@Base 4.999.9beta+20100117
+ lzma_index_iter_next@Base 4.999.9beta+20100117
+ lzma_index_iter_rewind@Base 4.999.9beta+20100117
+ lzma_index_memusage@Base 4.999.9beta+20100117
+ lzma_index_memused@Base 4.999.9beta+20100117
+ lzma_index_size@Base 4.999.9beta
+ lzma_index_stream_count@Base 4.999.9beta+20100117
+ lzma_index_stream_flags@Base 4.999.9beta+20100117
+ lzma_index_stream_padding@Base 4.999.9beta+20100117
+ lzma_index_stream_size@Base 4.999.9beta
+ lzma_index_total_size@Base 4.999.9beta
+ lzma_index_uncompressed_size@Base 4.999.9beta
+ lzma_lzma_preset@Base 4.999.9beta+20091116
+ lzma_memlimit_get@Base 4.999.9beta
+ lzma_memlimit_set@Base 4.999.9beta
+ lzma_memusage@Base 4.999.9beta
+ lzma_mf_is_supported@Base 4.999.9beta
+ lzma_mode_is_supported@Base 4.999.9beta
+ lzma_physmem@Base 4.999.9beta+20091116
+ lzma_properties_decode@Base 4.999.9beta
+ lzma_properties_encode@Base 4.999.9beta
+ lzma_properties_size@Base 4.999.9beta
+ lzma_raw_buffer_decode@Base 4.999.9beta
+ lzma_raw_buffer_encode@Base 4.999.9beta
+ lzma_raw_decoder@Base 4.999.9beta
+ lzma_raw_decoder_memusage@Base 4.999.9beta
+ lzma_raw_encoder@Base 4.999.9beta
+ lzma_raw_encoder_memusage@Base 4.999.9beta
+ lzma_stream_buffer_bound@Base 4.999.9beta
+ lzma_stream_buffer_decode@Base 4.999.9beta
+ lzma_stream_buffer_encode@Base 5.0.0-2.1~
+ lzma_stream_decoder@Base 4.999.9beta
+ lzma_stream_encoder@Base 4.999.9beta
+ lzma_stream_flags_compare@Base 4.999.9beta
+ lzma_stream_footer_decode@Base 4.999.9beta
+ lzma_stream_footer_encode@Base 4.999.9beta
+ lzma_stream_header_decode@Base 4.999.9beta
+ lzma_stream_header_encode@Base 4.999.9beta
+ lzma_version_number@Base 4.999.9beta
+ lzma_version_string@Base 4.999.9beta
+ lzma_vli_decode@Base 4.999.9beta
+ lzma_vli_encode@Base 4.999.9beta
+ lzma_vli_size@Base 4.999.9beta
diff --git a/debian/watch b/debian/watch
new file mode 100644
index 0000000..6352a9c
--- /dev/null
+++ b/debian/watch
@@ -0,0 +1,3 @@
+version=3
+opts=dversionmangle=s/\+\d{8}$// \
+http://tukaani.org/xz/xz-([\d.]*(?:beta)?)\.tar\.gz
diff --git a/debian/xz-lzma.install b/debian/xz-lzma.install
new file mode 100644
index 0000000..7601bc1
--- /dev/null
+++ b/debian/xz-lzma.install
@@ -0,0 +1,8 @@
+usr/bin/lzma
+usr/bin/unlzma
+usr/bin/lzcat
+usr/bin/lzmore
+usr/bin/lzless
+usr/bin/lzdiff
+usr/bin/lzcmp
+usr/bin/lz*grep
diff --git a/debian/xz-lzma.links b/debian/xz-lzma.links
new file mode 100644
index 0000000..7f65243
--- /dev/null
+++ b/debian/xz-lzma.links
@@ -0,0 +1,16 @@
+usr/share/doc/xz-utils/README.gz usr/share/doc/xz-lzma/README.gz
+usr/share/doc/xz-utils/AUTHORS usr/share/doc/xz-lzma/AUTHORS
+usr/share/doc/xz-utils/THANKS usr/share/doc/xz-lzma/THANKS
+usr/share/doc/xz-utils/NEWS.gz usr/share/doc/xz-lzma/NEWS.gz
+usr/share/doc/xz-utils/history.txt.gz usr/share/doc/xz-lzma/history.txt.gz
+usr/share/doc/xz-utils/extra usr/share/doc/xz-lzma/extra
+usr/share/man/man1/xz.1.gz usr/share/man/man1/lzma.1.gz
+usr/share/man/man1/xz.1.gz usr/share/man/man1/unlzma.1.gz
+usr/share/man/man1/xz.1.gz usr/share/man/man1/lzcat.1.gz
+usr/share/man/man1/xzmore.1.gz usr/share/man/man1/lzmore.1.gz
+usr/share/man/man1/xzless.1.gz usr/share/man/man1/lzless.1.gz
+usr/share/man/man1/xzdiff.1.gz usr/share/man/man1/lzdiff.1.gz
+usr/share/man/man1/xzdiff.1.gz usr/share/man/man1/lzcmp.1.gz
+usr/share/man/man1/xzgrep.1.gz usr/share/man/man1/lzgrep.1.gz
+usr/share/man/man1/xzgrep.1.gz usr/share/man/man1/lzegrep.1.gz
+usr/share/man/man1/xzgrep.1.gz usr/share/man/man1/lzfgrep.1.gz
diff --git a/debian/xz-utils.NEWS b/debian/xz-utils.NEWS
new file mode 100644
index 0000000..6eac958
--- /dev/null
+++ b/debian/xz-utils.NEWS
@@ -0,0 +1,31 @@
+xz-utils (4.999.9beta+20100212-2) unstable; urgency=low
+
+  The tiny xzdec and lzmadec decompressors have been moved to the new
+  xzdec package.  One can use xzcat (which is an abbreviation for
+  “xz --decompress --stdout”) to replace them where space is not a
+  premium.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Tue, 23 Feb 2010 08:24:10 -0600
+
+xz-utils (4.999.9beta+20100117-1) unstable; urgency=low
+
+  From this version on, xz produces sparse files by default when
+  decompressing.  This saves disk space when reproducing files with long
+  runs of zero bytes, such as file system images.  Implementing this
+  feature requires seeking forward beyond the end of a file so that the
+  operating system knows where to put in a hole.
+
+  If you use xz --decompress to write to end of a file that is appended
+  to at the same time by another process, this could cause concurrent
+  output from the other command to be overwritten.  This is a rare and
+  quite weird thing to do.  If you really want to do it, note that xz’s
+  buffering strategy is not part of its documented interface; to safely
+  interleave concurrent output from xz and another command, a
+  construction such as
+
+  	xz --decompress input.xz | dd ibs=1k obs=1k >> log
+
+  would be needed to avoid unpredictable results.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Tue, 02 Feb 2010 15:51:37 -0600
+
diff --git a/debian/xz-utils.README.Debian b/debian/xz-utils.README.Debian
new file mode 100644
index 0000000..763f758
--- /dev/null
+++ b/debian/xz-utils.README.Debian
@@ -0,0 +1,64 @@
+XZ Utils for Debian
+===================
+
+Contents:
+ 1. Differences from standard XZ Utils
+ 2. History
+ 3. LZMA Utils compatibility
+ 4. Configuration
+
+Differences from standard XZ Utils
+----------------------------------
+
+ * The soname of standard liblzma was bumped to 5.0.0, while Debian
+   liblzma remains at 2.0.0.
+
+ * Some corners of the liblzma API (like layout of reserved fields)
+   have therefore been maintained at an older version in Debian
+   liblzma.  Pre-compiled applications built against liblzma on
+   other distributions are likely not to work on this version of
+   Debian if an additional compatibility library is not installed.
+
+See /usr/share/doc/liblzma2/README.Debian for details.
+
+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.
+
+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
+
+To allow administrators to keep the old lzma package, the xz-utils
+package does not provide those links itself.  If you would like XZ Utils
+to provide these commands by default for all users, install the
+xz-lzma package.
+
+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>  Mon, 25 Oct 2010 12:29:25 -0500
diff --git a/debian/xz-utils.docs b/debian/xz-utils.docs
new file mode 100644
index 0000000..463b710
--- /dev/null
+++ b/debian/xz-utils.docs
@@ -0,0 +1,7 @@
+README
+NEWS
+AUTHORS
+THANKS
+doc/history.txt
+doc/faq.txt
+extra
diff --git a/debian/xz-utils.install b/debian/xz-utils.install
new file mode 100644
index 0000000..9acbd88
--- /dev/null
+++ b/debian/xz-utils.install
@@ -0,0 +1,19 @@
+usr/bin/xz
+usr/bin/unxz
+usr/bin/xzcat
+usr/bin/xzmore
+usr/bin/xzless
+usr/bin/xzdiff
+usr/bin/xzcmp
+usr/bin/xz*grep
+usr/share/man/man1/xz.1
+usr/share/man/man1/unxz.1
+usr/share/man/man1/xzcat.1
+usr/share/man/man1/xzmore.1
+usr/share/man/man1/xzless.1
+usr/share/man/man1/xzdiff.1
+usr/share/man/man1/xzcmp.1
+usr/share/man/man1/xz*grep.1
+usr/bin/lzmainfo
+usr/share/man/man1/lzmainfo.1
+usr/share/locale/*/LC_MESSAGES/xz.mo
diff --git a/debian/xzdec.docs b/debian/xzdec.docs
new file mode 100644
index 0000000..7b5ff1f
--- /dev/null
+++ b/debian/xzdec.docs
@@ -0,0 +1,6 @@
+README
+NEWS
+AUTHORS
+THANKS
+doc/history.txt
+doc/faq.txt
diff --git a/debian/xzdec.install b/debian/xzdec.install
new file mode 100644
index 0000000..7f67bd8
--- /dev/null
+++ b/debian/xzdec.install
@@ -0,0 +1,4 @@
+usr/bin/xzdec
+usr/bin/lzmadec
+usr/share/man/man1/xzdec.1
+usr/share/man/man1/lzmadec.1
diff --git a/po/cs.po b/po/cs.po
index a7041ec..3ef3fcc 100644
--- a/po/cs.po
+++ b/po/cs.po
@@ -6,7 +6,7 @@
 msgstr ""
 "Project-Id-Version: xz-utils\n"
 "Report-Msgid-Bugs-To: lasse.collin@tukaani.org\n"
-"POT-Creation-Date: 2010-12-03 11:25+0100\n"
+"POT-Creation-Date: 2010-10-23 17:48+0300\n"
 "PO-Revision-Date: 2010-12-03 11:32+0100\n"
 "Last-Translator: Marek Černocký <marek@manet.cz>\n"
 "Language-Team: Czech <diskuze@lists.l10n.cz>\n"
@@ -30,8 +30,7 @@
 
 #: src/xz/args.c:382
 msgid "Only one file can be specified with `--files' or `--files0'."
-msgstr ""
-"Spolu s přepínači „--files“ nebo „--files0“ může být zadán pouze jeden soubor"
+msgstr "Spolu s přepínači „--files“ nebo „--files0“ může být zadán pouze jeden soubor"
 
 #: src/xz/args.c:445
 #, c-format
@@ -52,8 +51,7 @@
 
 #: src/xz/coder.c:131
 msgid "The exact options of the presets may vary between software versions."
-msgstr ""
-"Přesné volby u přednastavení se mohou lišit mezi různými verzemi softwaru."
+msgstr "Přesné volby u přednastavení se mohou lišit mezi různými verzemi softwaru."
 
 #: src/xz/coder.c:157
 msgid "The .lzma format supports only the LZMA1 filter"
@@ -74,12 +72,8 @@
 
 #: src/xz/coder.c:247
 #, c-format
-msgid ""
-"Adjusted LZMA%c dictionary size from %s MiB to %s MiB to not exceed the "
-"memory usage limit of %s MiB"
-msgstr ""
-"Přizpůsobit velikost slovníku LZMA%c z %s MiB na %s MiB, tak aby nebylo "
-"překročeno omezení použitelné paměti %s MiB"
+msgid "Adjusted LZMA%c dictionary size from %s MiB to %s MiB to not exceed the memory usage limit of %s MiB"
+msgstr "Přizpůsobit velikost slovníku LZMA%c z %s MiB na %s MiB, tak aby nebylo překročeno omezení použitelné paměti %s MiB"
 
 #. TRANSLATORS: When compression or decompression finishes,
 #. and xz is going to remove the source file, xz first checks
@@ -159,8 +153,7 @@
 #: src/xz/file_io.c:762 src/xz/file_io.c:946
 #, c-format
 msgid "%s: Seeking failed when trying to create a sparse file: %s"
-msgstr ""
-"%s: Selhalo nastavení pozice při pokusu o vytvoření souboru řídké matice: %s"
+msgstr "%s: Selhalo nastavení pozice při pokusu o vytvoření souboru řídké matice: %s"
 
 #: src/xz/file_io.c:821
 #, c-format
@@ -319,12 +312,10 @@
 #: src/xz/list.c:693
 msgid ""
 "  Streams:\n"
-"    Stream    Blocks      CompOffset    UncompOffset        CompSize      "
-"UncompSize  Ratio  Check      Padding"
+"    Stream    Blocks      CompOffset    UncompOffset        CompSize      UncompSize  Ratio  Check      Padding"
 msgstr ""
 "  Proudy:\n"
-"     Proud     Bloky     KomprPozice   NekomprPozice   KomprVelikost "
-"NekomprVelikost  Poměr  Kontrola   Zarovnání"
+"     Proud     Bloky     KomprPozice   NekomprPozice   KomprVelikost NekomprVelikost  Poměr  Kontrola   Zarovnání"
 
 #. TRANSLATORS: The second line is column headings. All
 #. except Check are right aligned; Check is left aligned.
@@ -332,12 +323,10 @@
 #, c-format
 msgid ""
 "  Blocks:\n"
-"    Stream     Block      CompOffset    UncompOffset       TotalSize      "
-"UncompSize  Ratio  Check"
+"    Stream     Block      CompOffset    UncompOffset       TotalSize      UncompSize  Ratio  Check"
 msgstr ""
 "  Bloky:\n"
-"     Proud      Blok     KomprPozice   NekomprPozice    CelkVelikost "
-"NekomprVelikost  Poměr  Kontrola"
+"     Proud      Blok     KomprPozice   NekomprPozice    CelkVelikost NekomprVelikost  Poměr  Kontrola"
 
 #. TRANSLATORS: These are additional column headings
 #. for the most verbose listing mode. CheckVal
@@ -408,24 +397,16 @@
 
 #: src/xz/main.c:120
 #, c-format
-msgid ""
-"%s: Null character found when reading filenames; maybe you meant to use `--"
-"files0' instead of `--files'?"
-msgstr ""
-"%s: Byl nalezen nulový znak při čtení názvů souborů; nechtěli jste náhodou "
-"použít „--files0“ místo „--files“?"
+msgid "%s: Null character found when reading filenames; maybe you meant to use `--files0' instead of `--files'?"
+msgstr "%s: Byl nalezen nulový znak při čtení názvů souborů; nechtěli jste náhodou použít „--files0“ místo „--files“?"
 
 #: src/xz/main.c:174
 msgid "Compression and decompression with --robot are not supported yet."
 msgstr "Komprimace a dekomprimace s přepínačem --robot není zatím podporovaná."
 
 #: src/xz/main.c:231
-msgid ""
-"Cannot read data from standard input when reading filenames from standard "
-"input"
-msgstr ""
-"Ze standardního vstupu nelze číst data, když se ze standardního vstupu "
-"načítají názvy souborů"
+msgid "Cannot read data from standard input when reading filenames from standard input"
+msgstr "Ze standardního vstupu nelze číst data, když se ze standardního vstupu načítají názvy souborů"
 
 #: src/xz/message.c:792 src/xz/message.c:842
 msgid "Internal error (bug)"
@@ -441,8 +422,7 @@
 
 #: src/xz/message.c:811
 msgid "Unsupported type of integrity check; not verifying file integrity"
-msgstr ""
-"Nepodporovaný typ kontroly integrity; integrita souboru se nebude ověřovat"
+msgstr "Nepodporovaný typ kontroly integrity; integrita souboru se nebude ověřovat"
 
 #: src/xz/message.c:818
 msgid "Memory usage limit reached"
@@ -491,11 +471,8 @@
 "\n"
 
 #: src/xz/message.c:1091
-msgid ""
-"Mandatory arguments to long options are mandatory for short options too.\n"
-msgstr ""
-"Povinné argumenty pro dlouhé přepínače jsou povinné rovněž pro krátké "
-"přepínače.\n"
+msgid "Mandatory arguments to long options are mandatory for short options too.\n"
+msgstr "Povinné argumenty pro dlouhé přepínače jsou povinné rovněž pro krátké přepínače.\n"
 
 #: src/xz/message.c:1095
 msgid " Operation mode:\n"
@@ -528,10 +505,8 @@
 "  -c, --stdout        write to standard output and don't delete input files"
 msgstr ""
 " -k, --keep            zachovat (nemazat) vstupní soubory\n"
-" -f, --force           vynutit přepis výstupního souboru a de/komprimovat "
-"odkazy\n"
-" -c, --stdout          zapisovat na standardní výstup a nemazat vstupní "
-"soubory"
+" -f, --force           vynutit přepis výstupního souboru a de/komprimovat odkazy\n"
+" -c, --stdout          zapisovat na standardní výstup a nemazat vstupní soubory"
 
 #: src/xz/message.c:1113
 msgid ""
@@ -539,19 +514,15 @@
 "  -S, --suffix=.SUF   use the suffix `.SUF' on compressed files\n"
 "      --files[=FILE]  read filenames to process from FILE; if FILE is\n"
 "                      omitted, filenames are read from the standard input;\n"
-"                      filenames must be terminated with the newline "
-"character\n"
+"                      filenames must be terminated with the newline character\n"
 "      --files0[=FILE] like --files but use the null character as terminator"
 msgstr ""
 "     --no-sparse       nevytvářet při dekomprimaci soubory řídkých matic\n"
 " -S, --suffix=.PRIP    použít u komprimovaných souborů příponu „.PRIP“\n"
-"     --files[=SOUBOR]  číst názvy souborů, které se mají zpracovat, ze "
-"SOUBORu;\n"
-"                       pokud není SOUBOR zadán, čte se ze standardního "
-"vstupu;\n"
+"     --files[=SOUBOR]  číst názvy souborů, které se mají zpracovat, ze SOUBORu;\n"
+"                       pokud není SOUBOR zadán, čte se ze standardního vstupu;\n"
 "                       názvy souborů musí být zakončeny znakem nového řádku\n"
-"     --files0[=SOUBOR] stejné jako --files, ale použít k zakončování nulový "
-"znak"
+"     --files0[=SOUBOR] stejné jako --files, ale použít k zakončování nulový znak"
 
 #: src/xz/message.c:1121
 msgid ""
@@ -570,26 +541,20 @@
 msgstr ""
 " -F, --format=FORMÁT   formát souboru k zakódování nebo dekódování; možné\n"
 "                       hodnoty jsou „auto“ (výchozí), „xz“, „lzma“ a „raw“\n"
-" -C, --check=KONTROLA  typ kontroly integrity: „none“ (používejte s "
-"rozmyslem),\n"
+" -C, --check=KONTROLA  typ kontroly integrity: „none“ (používejte s rozmyslem),\n"
 "                       „crc32“, „crc64“ (výchozí) nebo „sha256“"
 
 #: src/xz/message.c:1130
 msgid ""
-"  -0 ... -9           compression preset; default is 6; take compressor "
-"*and*\n"
-"                      decompressor memory usage into account before using "
-"7-9!"
+"  -0 ... -9           compression preset; default is 6; take compressor *and*\n"
+"                      decompressor memory usage into account before using 7-9!"
 msgstr ""
-" -0 .. -9              přednastavení komprimace; výchozí je 6; než "
-"použijete\n"
-"                       hodnoty 7 – 9, vezměte do úvahy množství použité "
-"paměti"
+" -0 .. -9              přednastavení komprimace; výchozí je 6; než použijete\n"
+"                       hodnoty 7 – 9, vezměte do úvahy množství použité paměti"
 
 #: src/xz/message.c:1134
 msgid ""
-"  -e, --extreme       try to improve compression ratio by using more CPU "
-"time;\n"
+"  -e, --extreme       try to improve compression ratio by using more CPU time;\n"
 "                      does not affect decompressor memory requirements"
 msgstr ""
 " -e, --extreme         zkusit zlepšit poměr komprimace využitím více času\n"
@@ -601,27 +566,22 @@
 "      --memlimit-compress=LIMIT\n"
 "      --memlimit-decompress=LIMIT\n"
 "  -M, --memlimit=LIMIT\n"
-"                      set memory usage limit for compression, "
-"decompression,\n"
+"                      set memory usage limit for compression, decompression,\n"
 "                      or both; LIMIT is in bytes, % of RAM, or 0 for defaults"
 msgstr ""
 "     --memlimit-compress=LIMIT\n"
 "     --memlimit-decompress=LIMIT\n"
 " -M, --memlimit=LIMIT\n"
 "                       nastaví omezení použitelné paměti pro komprimaci,\n"
-"                       dekomprimaci nebo obojí; LIMIT je v bajtech, % z "
-"paměti\n"
+"                       dekomprimaci nebo obojí; LIMIT je v bajtech, % z paměti\n"
 "                       RAM nebo 0 pro výchozí"
 
 #: src/xz/message.c:1146
 msgid ""
-"      --no-adjust     if compression settings exceed the memory usage "
-"limit,\n"
-"                      give an error instead of adjusting the settings "
-"downwards"
+"      --no-adjust     if compression settings exceed the memory usage limit,\n"
+"                      give an error instead of adjusting the settings downwards"
 msgstr ""
-"     --no-adjust       pokud nastavení komprimace přesáhne omezení "
-"použitelné\n"
+"     --no-adjust       pokud nastavení komprimace přesáhne omezení použitelné\n"
 "                       paměti, předat chybu namísto snížení nastavení"
 
 #: src/xz/message.c:1152
@@ -630,16 +590,13 @@
 " Custom filter chain for compression (alternative for using presets):"
 msgstr ""
 "\n"
-"Vlastní omezující filtr pro komprimaci (alternativa k použití "
-"přednastavených):"
+"Vlastní omezující filtr pro komprimaci (alternativa k použití přednastavených):"
 
 #: src/xz/message.c:1161
 msgid ""
 "\n"
-"  --lzma1[=OPTS]      LZMA1 or LZMA2; OPTS is a comma-separated list of zero "
-"or\n"
-"  --lzma2[=OPTS]      more of the following options (valid values; "
-"default):\n"
+"  --lzma1[=OPTS]      LZMA1 or LZMA2; OPTS is a comma-separated list of zero or\n"
+"  --lzma2[=OPTS]      more of the following options (valid values; default):\n"
 "                        preset=PRE reset options to a preset (0-9[e])\n"
 "                        dict=NUM   dictionary size (4KiB - 1536MiB; 8MiB)\n"
 "                        lc=NUM     number of literal context bits (0-4; 3)\n"
@@ -647,29 +604,20 @@
 "                        pb=NUM     number of position bits (0-4; 2)\n"
 "                        mode=MODE  compression mode (fast, normal; normal)\n"
 "                        nice=NUM   nice length of a match (2-273; 64)\n"
-"                        mf=NAME    match finder (hc3, hc4, bt2, bt3, bt4; "
-"bt4)\n"
-"                        depth=NUM  maximum search depth; 0=automatic "
-"(default)"
+"                        mf=NAME    match finder (hc3, hc4, bt2, bt3, bt4; bt4)\n"
+"                        depth=NUM  maximum search depth; 0=automatic (default)"
 msgstr ""
 "\n"
-" --lzma1[=VOLBY]       LZMA1 nebo LZMA2; VOLBY je čárkou oddělovaný seznam "
-"žádné\n"
-" --lzma2[=VOLBY]       nebo více následujících voleb (platné hodnoty; "
-"výchozí):\n"
-"                         preset=PŘE změnit volby na PŘEdnastavené (0 – 9"
-"[e])\n"
-"                         dict=POČ   velikost slovníku (4 KiB – 1536 MiB; 8 "
-"MiB)\n"
-"                         lc=POČ     počet kontextových bitů literálu (0 – 4; "
-"3)\n"
-"                         lp=POČ     počet pozičních bitů literálu (0 – 4; "
-"0)\n"
+" --lzma1[=VOLBY]       LZMA1 nebo LZMA2; VOLBY je čárkou oddělovaný seznam žádné\n"
+" --lzma2[=VOLBY]       nebo více následujících voleb (platné hodnoty; výchozí):\n"
+"                         preset=PŘE změnit volby na PŘEdnastavené (0 – 9[e])\n"
+"                         dict=POČ   velikost slovníku (4 KiB – 1536 MiB; 8 MiB)\n"
+"                         lc=POČ     počet kontextových bitů literálu (0 – 4; 3)\n"
+"                         lp=POČ     počet pozičních bitů literálu (0 – 4; 0)\n"
 "                         pb=POČ     počet pozičních bitů (0 – 4; 2)\n"
 "                         mode=REŽIM režim komprimace (fast, normal; normal)\n"
 "                         nice=NUM   příznivá délka shody (2 – 273; 64)\n"
-"                         mf=NÁZEV   hledání shod (hc3, hc4, bt2, bt3, bt4; "
-"bt4)\n"
+"                         mf=NÁZEV   hledání shod (hc3, hc4, bt2, bt3, bt4; bt4)\n"
 "                         depth=POČ  maximální hloubka prohledávání;\n"
 "                                    0 = automaticky (výchozí)"
 
@@ -704,8 +652,7 @@
 msgstr ""
 "\n"
 " --delta[=VOLBY]       Filtr Delta; platné VOLBY (platné hodnoty; výchozí):\n"
-"                         dist=POČ   vzdálenost mezi bajty, které jsou "
-"odečítány\n"
+"                         dist=POČ   vzdálenost mezi bajty, které jsou odečítány\n"
 "                                    jeden od druhého (1 – 256; 1)"
 
 #: src/xz/message.c:1196
@@ -718,12 +665,10 @@
 
 #: src/xz/message.c:1199
 msgid ""
-"  -q, --quiet         suppress warnings; specify twice to suppress errors "
-"too\n"
+"  -q, --quiet         suppress warnings; specify twice to suppress errors too\n"
 "  -v, --verbose       be verbose; specify twice for even more verbose"
 msgstr ""
-" -q, --quiet           potlačit varování; zadáním dvakrát, potlačíte i "
-"chyby\n"
+" -q, --quiet           potlačit varování; zadáním dvakrát, potlačíte i chyby\n"
 " -v, --verbose         podrobnější zprávy; zadáním dvakrát, budou ještě\n"
 "                       podrobnější"
 
@@ -732,20 +677,17 @@
 msgstr " -Q, --no-warn         způsobí, že varování neovlivní stav ukončení"
 
 #: src/xz/message.c:1206
-msgid ""
-"      --robot         use machine-parsable messages (useful for scripts)"
+msgid "      --robot         use machine-parsable messages (useful for scripts)"
 msgstr ""
 "     --robot           použít strojově analyzovatelné zprávy (užitečné pro\n"
 "                       skripty)"
 
 #: src/xz/message.c:1209
 msgid ""
-"      --info-memory   display the total amount of RAM and the currently "
-"active\n"
+"      --info-memory   display the total amount of RAM and the currently active\n"
 "                      memory usage limits, and exit"
 msgstr ""
-"     --info-memory     zobrazit celkové množství paměti RAM a současné "
-"aktivní\n"
+"     --info-memory     zobrazit celkové množství paměti RAM a současné aktivní\n"
 "                       omezení použitelné paměti a skončit"
 
 #: src/xz/message.c:1212
@@ -753,8 +695,7 @@
 "  -h, --help          display the short help (lists only the basic options)\n"
 "  -H, --long-help     display this long help and exit"
 msgstr ""
-" -h, --help            zobrazit krátkou nápovědu (vypíše jen základní "
-"přepínače)\n"
+" -h, --help            zobrazit krátkou nápovědu (vypíše jen základní přepínače)\n"
 " -H, --long-help       zobrazit tuto úplnou nápovědu a skončit"
 
 #: src/xz/message.c:1216
@@ -763,8 +704,7 @@
 "  -H, --long-help     display the long help (lists also the advanced options)"
 msgstr ""
 " -h, --help            zobrazit tuto zkrácenou nápovědu a skončit\n"
-" -H, --long-help       zobrazit úplnou nápovědu (vypíše i pokročilé "
-"přepínače)"
+" -H, --long-help       zobrazit úplnou nápovědu (vypíše i pokročilé přepínače)"
 
 #: src/xz/message.c:1221
 msgid "  -V, --version       display the version number and exit"
@@ -776,8 +716,7 @@
 "With no FILE, or when FILE is -, read standard input.\n"
 msgstr ""
 "\n"
-"Pokud SOUBOR není zadán nebo pokud je -, bude se číst ze standardního "
-"vstupu.\n"
+"Pokud SOUBOR není zadán nebo pokud je -, bude se číst ze standardního vstupu.\n"
 
 #. TRANSLATORS: This message indicates the bug reporting address
 #. for this package. Please add _another line_ saying
@@ -824,11 +763,8 @@
 
 #: src/xz/suffix.c:79 src/xz/suffix.c:164
 #, c-format
-msgid ""
-"%s: With --format=raw, --suffix=.SUF is required unless writing to stdout"
-msgstr ""
-"%s: S přepínačem --format=raw je vyžadován --sufix=.PRIP, vyjma zápisu do "
-"standardního výstupu"
+msgid "%s: With --format=raw, --suffix=.SUF is required unless writing to stdout"
+msgstr "%s: S přepínačem --format=raw je vyžadován --sufix=.PRIP, vyjma zápisu do standardního výstupu"
 
 #: src/xz/suffix.c:99
 #, c-format
@@ -857,9 +793,7 @@
 
 #: src/xz/util.c:105
 msgid "Valid suffixes are `KiB' (2^10), `MiB' (2^20), and `GiB' (2^30)."
-msgstr ""
-"Platné jednotky s předponami jsou „KiB“ (2^10 B), „MiB“ (2^20 B) a "
-"„GiB“ (2^30 B)."
+msgstr "Platné jednotky s předponami jsou „KiB“ (2^10 B), „MiB“ (2^20 B) a „GiB“ (2^30 B)."
 
 #: src/xz/util.c:122
 #, c-format
@@ -893,49 +827,37 @@
 #~ msgstr "%s MiB (%s bajtů)\n"
 
 #~ msgid ""
-#~ "  -e, --extreme       use more CPU time when encoding to increase "
-#~ "compression\n"
+#~ "  -e, --extreme       use more CPU time when encoding to increase compression\n"
 #~ "                      ratio without increasing memory usage of the decoder"
 #~ msgstr ""
-#~ " -e, --extreme         využít více procesorového času pro kódování, čímž "
-#~ "se\n"
-#~ "                       zvýší kompresní poměr bez zvýšení paměti použité "
-#~ "kodérem"
+#~ " -e, --extreme         využít více procesorového času pro kódování, čímž se\n"
+#~ "                       zvýší kompresní poměr bez zvýšení paměti použité kodérem"
 
 #~ msgid ""
-#~ "  -M, --memory=NUM    use roughly NUM bytes of memory at maximum; 0 "
-#~ "indicates\n"
+#~ "  -M, --memory=NUM    use roughly NUM bytes of memory at maximum; 0 indicates\n"
 #~ "                      the default setting, which is 40 % of total RAM"
 #~ msgstr ""
-#~ " -M, --memory=POČ      použít zhruba POČ bajtů paměti jako maximum; 0 "
-#~ "znamená\n"
-#~ "                       výchozí nastavení, což je 40% celkového množství "
-#~ "paměti"
+#~ " -M, --memory=POČ      použít zhruba POČ bajtů paměti jako maximum; 0 znamená\n"
+#~ "                       výchozí nastavení, což je 40% celkového množství paměti"
 
 #~ msgid ""
 #~ "\n"
-#~ "  --subblock[=OPTS]   Subblock filter; valid OPTS (valid values; "
-#~ "default):\n"
+#~ "  --subblock[=OPTS]   Subblock filter; valid OPTS (valid values; default):\n"
 #~ "                        size=NUM   number of bytes of data per subblock\n"
 #~ "                                   (1 - 256Mi; 4Ki)\n"
-#~ "                        rle=NUM    run-length encoder chunk size (0-256; "
-#~ "0)"
+#~ "                        rle=NUM    run-length encoder chunk size (0-256; 0)"
 #~ msgstr ""
 #~ "\n"
-#~ " --subblock[=VOLBY]    Subblokový filtr; platné VOLBY (platné hodnoty; "
-#~ "výchozí):\n"
+#~ " --subblock[=VOLBY]    Subblokový filtr; platné VOLBY (platné hodnoty; výchozí):\n"
 #~ "                         size=POČ   počet bajtů dat na subblok\n"
 #~ "                                    (1 - 256 Mi; 4 Ki)\n"
-#~ "                         rle=POČ    velikost dávky pro kodér run-length "
-#~ "(0-256; 0)"
+#~ "                         rle=POČ    velikost dávky pro kodér run-length (0-256; 0)"
 
 #~ msgid ""
-#~ "On this system and configuration, this program will use a maximum of "
-#~ "roughly\n"
+#~ "On this system and configuration, this program will use a maximum of roughly\n"
 #~ "%s MiB RAM and "
 #~ msgstr ""
-#~ "Na tomto systému a s tímto nastavením použije tento program maximum ze "
-#~ "zhruba\n"
+#~ "Na tomto systému a s tímto nastavením použije tento program maximum ze zhruba\n"
 #~ "%s MiB RAM a "
 
 #~ msgid ""
diff --git a/po/de.po b/po/de.po
index d88b8cd..2cf17c6 100644
--- a/po/de.po
+++ b/po/de.po
@@ -6,10 +6,11 @@
 msgstr ""
 "Project-Id-Version: XZ Utils 4.999.9beta\n"
 "Report-Msgid-Bugs-To: lasse.collin@tukaani.org\n"
-"POT-Creation-Date: 2010-09-11 17:07+0200\n"
+"POT-Creation-Date: 2010-10-23 17:48+0300\n"
 "PO-Revision-Date: 2010-09-07 20:27+0200\n"
 "Last-Translator:  <maan@systemlinux.org>\n"
 "Language-Team: German\n"
+"Language: \n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
@@ -27,8 +28,7 @@
 
 #: src/xz/args.c:382
 msgid "Only one file can be specified with `--files' or `--files0'."
-msgstr ""
-"Nur ein file kann als Argument für --files oder --files0 angegeben werden."
+msgstr "Nur ein file kann als Argument für --files oder --files0 angegeben werden."
 
 #: src/xz/args.c:445
 #, c-format
@@ -41,8 +41,7 @@
 
 #: src/xz/coder.c:108
 msgid "Memory usage limit is too low for the given filter setup."
-msgstr ""
-"Das Speicher Limit ist zu niedrig für die gegebene Filter Konfiguration."
+msgstr "Das Speicher Limit ist zu niedrig für die gegebene Filter Konfiguration."
 
 #: src/xz/coder.c:129
 msgid "Using a preset in raw mode is discouraged."
@@ -50,9 +49,7 @@
 
 #: src/xz/coder.c:131
 msgid "The exact options of the presets may vary between software versions."
-msgstr ""
-"Die genauen Optionen der Voreinstellung können zwischen Software Versionen "
-"variieren."
+msgstr "Die genauen Optionen der Voreinstellung können zwischen Software Versionen variieren."
 
 #: src/xz/coder.c:157
 msgid "The .lzma format supports only the LZMA1 filter"
@@ -73,12 +70,8 @@
 
 #: src/xz/coder.c:247
 #, c-format
-msgid ""
-"Adjusted LZMA%c dictionary size from %s MiB to %s MiB to not exceed the "
-"memory usage limit of %s MiB"
-msgstr ""
-"Passte LZMA%c Wörterbuch Größe von %s MiB to %s MiB an, um nicht das "
-"Speicher Nutzungslimit von %s MiB zu übersteigen"
+msgid "Adjusted LZMA%c dictionary size from %s MiB to %s MiB to not exceed the memory usage limit of %s MiB"
+msgstr "Passte LZMA%c Wörterbuch Größe von %s MiB to %s MiB an, um nicht das Speicher Nutzungslimit von %s MiB zu übersteigen"
 
 #. TRANSLATORS: When compression or decompression finishes,
 #. and xz is going to remove the source file, xz first checks
@@ -93,8 +86,7 @@
 #: src/xz/file_io.c:137
 #, c-format
 msgid "%s: File seems to have been moved, not removing"
-msgstr ""
-"%s: Datei scheint umbenannt worden zu sein, daher wird sie nicht gelöscht"
+msgstr "%s: Datei scheint umbenannt worden zu sein, daher wird sie nicht gelöscht"
 
 #: src/xz/file_io.c:144 src/xz/file_io.c:590
 #, c-format
@@ -149,8 +141,7 @@
 #: src/xz/file_io.c:714
 #, c-format
 msgid "Error restoring the O_APPEND flag to standard output: %s"
-msgstr ""
-"Fehler beim Wiederherstellen des O_APPEND flags bei Standard Output: %s"
+msgstr "Fehler beim Wiederherstellen des O_APPEND flags bei Standard Output: %s"
 
 #: src/xz/file_io.c:726
 #, c-format
@@ -160,8 +151,7 @@
 #: src/xz/file_io.c:762 src/xz/file_io.c:946
 #, c-format
 msgid "%s: Seeking failed when trying to create a sparse file: %s"
-msgstr ""
-"%s: Positionierungsfehler beim Versuch eine sparse Datei zu erzeugen: %s"
+msgstr "%s: Positionierungsfehler beim Versuch eine sparse Datei zu erzeugen: %s"
 
 #: src/xz/file_io.c:821
 #, c-format
@@ -212,7 +202,7 @@
 #. but the Check ID is known (here 2). This and other "Unknown-N"
 #. strings are used in tables, so the width must not exceed ten
 #. columns with a fixed-width font. It's OK to omit the dash if
-#. you need space for one extra letter.
+#. you need space for one extra letter, but don't use spaces.
 #: src/xz/list.c:69
 msgid "Unknown-2"
 msgstr "Unbek.2"
@@ -320,12 +310,10 @@
 #: src/xz/list.c:693
 msgid ""
 "  Streams:\n"
-"    Stream    Blocks      CompOffset    UncompOffset        CompSize      "
-"UncompSize  Ratio  Check      Padding"
+"    Stream    Blocks      CompOffset    UncompOffset        CompSize      UncompSize  Ratio  Check      Padding"
 msgstr ""
 "  Ströme:\n"
-"     Strom    Blöcke      KompOffset    UnkompOffset       KompGröße     "
-"UnkompGröße  Verh.  Check   Auffüllung"
+"     Strom    Blöcke      KompOffset    UnkompOffset       KompGröße     UnkompGröße  Verh.  Check   Auffüllung"
 
 #. TRANSLATORS: The second line is column headings. All
 #. except Check are right aligned; Check is left aligned.
@@ -333,12 +321,10 @@
 #, c-format
 msgid ""
 "  Blocks:\n"
-"    Stream     Block      CompOffset    UncompOffset       TotalSize      "
-"UncompSize  Ratio  Check"
+"    Stream     Block      CompOffset    UncompOffset       TotalSize      UncompSize  Ratio  Check"
 msgstr ""
 "  Blöcke:\n"
-"     Strom     Block      KompOffset    UnkompOffset      TotalGröße     "
-"UnkompGröße  Verh.  Check"
+"     Strom     Block      KompOffset    UnkompOffset      TotalGröße     UnkompGröße  Verh.  Check"
 
 #. TRANSLATORS: These are additional column headings
 #. for the most verbose listing mode. CheckVal
@@ -390,8 +376,7 @@
 
 #: src/xz/list.c:1072
 msgid "--list works only on .xz files (--format=xz or --format=auto)"
-msgstr ""
-"--list funktioniert nur mit .xz Dateien (--format=xz oder --format=auto)"
+msgstr "--list funktioniert nur mit .xz Dateien (--format=xz oder --format=auto)"
 
 #: src/xz/list.c:1078
 msgid "--list does not support reading from standard input"
@@ -409,79 +394,69 @@
 
 #: src/xz/main.c:120
 #, c-format
-msgid ""
-"%s: Null character found when reading filenames; maybe you meant to use `--"
-"files0' instead of `--files'?"
-msgstr ""
-"%s: Null Charakter gefunden beim Lesen der Dateinamen; Meinten Sie `--"
-"files0' statt `--files'?"
+msgid "%s: Null character found when reading filenames; maybe you meant to use `--files0' instead of `--files'?"
+msgstr "%s: Null Charakter gefunden beim Lesen der Dateinamen; Meinten Sie `--files0' statt `--files'?"
 
 #: src/xz/main.c:174
 msgid "Compression and decompression with --robot are not supported yet."
 msgstr "Kompression und Dekompression mit --robot ist noch nicht unterstützt."
 
 #: src/xz/main.c:231
-msgid ""
-"Cannot read data from standard input when reading filenames from standard "
-"input"
-msgstr ""
-"Lesen der Standardeingabe ist nicht möglich, wenn die Dateinamen auch von "
-"der Standardeingabe gelesen werden"
+msgid "Cannot read data from standard input when reading filenames from standard input"
+msgstr "Lesen der Standardeingabe ist nicht möglich, wenn die Dateinamen auch von der Standardeingabe gelesen werden"
 
-#: src/xz/message.c:800 src/xz/message.c:844
+#: src/xz/message.c:792 src/xz/message.c:842
 msgid "Internal error (bug)"
 msgstr "Interner Fehler (Bug)"
 
-#: src/xz/message.c:807
+#: src/xz/message.c:799
 msgid "Cannot establish signal handlers"
 msgstr "Kann Signal Routine nicht setzen"
 
-#: src/xz/message.c:816
+#: src/xz/message.c:808
 msgid "No integrity check; not verifying file integrity"
 msgstr "Kein Integritäts-Check; werde Datei-Integrität nicht überprüfen"
 
-#: src/xz/message.c:819
+#: src/xz/message.c:811
 msgid "Unsupported type of integrity check; not verifying file integrity"
-msgstr ""
-"Typ des Integritäts-Checks nicht unterstützt; werde Datei-Integrität nicht "
-"überprüfen"
+msgstr "Typ des Integritäts-Checks nicht unterstützt; werde Datei-Integrität nicht überprüfen"
 
-#: src/xz/message.c:826
+#: src/xz/message.c:818
 msgid "Memory usage limit reached"
 msgstr "Speicher-Limit erreicht"
 
-#: src/xz/message.c:829
+#: src/xz/message.c:821
 msgid "File format not recognized"
 msgstr "Datei Format nicht erkannt"
 
-#: src/xz/message.c:832
+#: src/xz/message.c:824
 msgid "Unsupported options"
 msgstr "Optionen nicht unterstützt"
 
-#: src/xz/message.c:835
+#: src/xz/message.c:827
 msgid "Compressed data is corrupt"
 msgstr "Komprimierte Daten sind korrupt"
 
-#: src/xz/message.c:838
+#: src/xz/message.c:830
 msgid "Unexpected end of input"
 msgstr "Unerwartetes Eingabe Ende"
 
-#: src/xz/message.c:886
+#: src/xz/message.c:881
 #, c-format
 msgid "%s MiB of memory is required. The limit is %s."
 msgstr "%s MiB Speicher wird benötigt. Limit ist %s."
 
-#: src/xz/message.c:1053
+#: src/xz/message.c:1048
 #, c-format
 msgid "%s: Filter chain: %s\n"
 msgstr "%s: Filter Kette: %s\n"
 
-#: src/xz/message.c:1063
+#: src/xz/message.c:1058
 #, c-format
 msgid "Try `%s --help' for more information."
 msgstr "Versuchen Sie `%s --help' für mehr Informationen."
 
-#: src/xz/message.c:1089
+#: src/xz/message.c:1084
 #, c-format
 msgid ""
 "Usage: %s [OPTION]... [FILE]...\n"
@@ -492,18 +467,17 @@
 "Komprimiert oder dekomprimiert .xz DATEI(EN).\n"
 "\n"
 
-#: src/xz/message.c:1096
-msgid ""
-"Mandatory arguments to long options are mandatory for short options too.\n"
+#: src/xz/message.c:1091
+msgid "Mandatory arguments to long options are mandatory for short options too.\n"
 msgstr ""
 "Obligatorische Argumente für lange Optionen sind auch für kurze Optionen\n"
 "zwingend.\n"
 
-#: src/xz/message.c:1100
+#: src/xz/message.c:1095
 msgid " Operation mode:\n"
 msgstr " Operationsmodus:\n"
 
-#: src/xz/message.c:1103
+#: src/xz/message.c:1098
 msgid ""
 "  -z, --compress      force compression\n"
 "  -d, --decompress    force decompression\n"
@@ -515,7 +489,7 @@
 "  -t, --test            überprüfe Datei Integrität\n"
 "  -l, --list            liste Datei Informationen"
 
-#: src/xz/message.c:1109
+#: src/xz/message.c:1104
 msgid ""
 "\n"
 " Operation modifiers:\n"
@@ -523,7 +497,7 @@
 "\n"
 " Operationsmodifikatoren:\n"
 
-#: src/xz/message.c:1112
+#: src/xz/message.c:1107
 msgid ""
 "  -k, --keep          keep (don't delete) input files\n"
 "  -f, --force         force overwrite of output file and (de)compress links\n"
@@ -535,14 +509,13 @@
 "  -c, --stdout          schreibe nach Standard Output und lösche nicht die\n"
 "                        Eingabedateien"
 
-#: src/xz/message.c:1118
+#: src/xz/message.c:1113
 msgid ""
 "      --no-sparse     do not create sparse files when decompressing\n"
 "  -S, --suffix=.SUF   use the suffix `.SUF' on compressed files\n"
 "      --files[=FILE]  read filenames to process from FILE; if FILE is\n"
 "                      omitted, filenames are read from the standard input;\n"
-"                      filenames must be terminated with the newline "
-"character\n"
+"                      filenames must be terminated with the newline character\n"
 "      --files0[=FILE] like --files but use the null character as terminator"
 msgstr ""
 "      --no-sparse       erzeuge keine sparse Datei beim Dekomprimieren\n"
@@ -551,10 +524,9 @@
 "                        DATEI nicht angegeben wurde, werden Dateinamen\n"
 "                        von Standard Input gelesen. Dateinamen müssen mit\n"
 "                        einem Zeilenumbruch voneinander getrennt werden\n"
-"      --files0=[DATEI]  wie --files, aber benutze den Null Charakter als "
-"Trenner"
+"      --files0=[DATEI]  wie --files, aber benutze den Null Charakter als Trenner"
 
-#: src/xz/message.c:1126
+#: src/xz/message.c:1121
 msgid ""
 "\n"
 " Basic file format and compression options:\n"
@@ -562,76 +534,62 @@
 "\n"
 " Grundlegende Optionen für Dateiformat und Kompression:\n"
 
-#: src/xz/message.c:1128
+#: src/xz/message.c:1123
 msgid ""
 "  -F, --format=FMT    file format to encode or decode; possible values are\n"
 "                      `auto' (default), `xz', `lzma', and `raw'\n"
 "  -C, --check=CHECK   integrity check type: `none' (use with caution),\n"
 "                      `crc32', `crc64' (default), or `sha256'"
 msgstr ""
-"  -F, --format=FMT      Dateiformat zur Kodierung oder Dekodierung; "
-"mögliche\n"
-"                        Werte sind `auto' (Voreinstellung), `xz', `lzma' "
-"und\n"
+"  -F, --format=FMT      Dateiformat zur Kodierung oder Dekodierung; mögliche\n"
+"                        Werte sind `auto' (Voreinstellung), `xz', `lzma' und\n"
 "                        `raw'\n"
-"  -C, --check=CHECK     Typ des Integritätschecks: `none' (Vorsicht), "
-"`crc32',\n"
+"  -C, --check=CHECK     Typ des Integritätschecks: `none' (Vorsicht), `crc32',\n"
 "                        `crc64' (Voreinstellung), oder `sha256'"
 
-#: src/xz/message.c:1135
+#: src/xz/message.c:1130
 msgid ""
-"  -0 ... -9           compression preset; default is 6; take compressor "
-"*and*\n"
-"                      decompressor memory usage into account before using 7-"
-"9!"
+"  -0 ... -9           compression preset; default is 6; take compressor *and*\n"
+"                      decompressor memory usage into account before using 7-9!"
 msgstr ""
-"  -0 .. -9              Kompressionseinstellung; Voreinstellung is 6. "
-"Beachten\n"
-"                        Sie den Speicherverbrauch des Komprimieres *und* "
-"des\n"
+"  -0 .. -9              Kompressionseinstellung; Voreinstellung is 6. Beachten\n"
+"                        Sie den Speicherverbrauch des Komprimieres *und* des\n"
 "                        Dekomprimierers, wenn Sie 7-9 benutzen!"
 
-#: src/xz/message.c:1139
+#: src/xz/message.c:1134
 msgid ""
-"  -e, --extreme       try to improve compression ratio by using more CPU "
-"time;\n"
+"  -e, --extreme       try to improve compression ratio by using more CPU time;\n"
 "                      does not affect decompressor memory requirements"
 msgstr ""
-"  -e, --extreme         Versuche durch stärkere CPU Nutzung das "
-"Kompressions-\n"
+"  -e, --extreme         Versuche durch stärkere CPU Nutzung das Kompressions-\n"
 "                        verhältnis zu verbessern. Das beeinflusst nicht den\n"
 "                        Speicherbedarf des Dekomprimierers."
 
-#: src/xz/message.c:1144
+#: src/xz/message.c:1139
 #, no-c-format
 msgid ""
 "      --memlimit-compress=LIMIT\n"
 "      --memlimit-decompress=LIMIT\n"
 "  -M, --memlimit=LIMIT\n"
-"                      set memory usage limit for compression, "
-"decompression,\n"
+"                      set memory usage limit for compression, decompression,\n"
 "                      or both; LIMIT is in bytes, % of RAM, or 0 for defaults"
 msgstr ""
 "      --memlimit-compress=LIMIT\n"
 "      --memlimit-decompress=LIMIT\n"
 "  -M, --memlimit=LIMIT  Setze Speicher Nutzungslimit für Kompression,\n"
-"                        Dekompression, oder beides; LIMIT ist in bytes, % "
-"RAM,\n"
+"                        Dekompression, oder beides; LIMIT ist in bytes, % RAM,\n"
 "                        oder 0 für Grundeinstellungen."
 
-#: src/xz/message.c:1151
+#: src/xz/message.c:1146
 msgid ""
-"      --no-adjust     if compression settings exceed the memory usage "
-"limit,\n"
-"                      give an error instead of adjusting the settings "
-"downwards"
+"      --no-adjust     if compression settings exceed the memory usage limit,\n"
+"                      give an error instead of adjusting the settings downwards"
 msgstr ""
 "      --no-adjust       Wenn die Kompressionseinstellungen das Speicher\n"
-"                        Nutzungslimit übersteigen, erzeuge einen Fehler "
-"statt\n"
+"                        Nutzungslimit übersteigen, erzeuge einen Fehler statt\n"
 "                        die Einstellungen nach unten anzupassen."
 
-#: src/xz/message.c:1157
+#: src/xz/message.c:1152
 msgid ""
 "\n"
 " Custom filter chain for compression (alternative for using presets):"
@@ -639,13 +597,11 @@
 "\n"
 " User-definierte Filter Kette für Kompression (alternativ zu Voreinstellung):"
 
-#: src/xz/message.c:1166
+#: src/xz/message.c:1161
 msgid ""
 "\n"
-"  --lzma1[=OPTS]      LZMA1 or LZMA2; OPTS is a comma-separated list of zero "
-"or\n"
-"  --lzma2[=OPTS]      more of the following options (valid values; "
-"default):\n"
+"  --lzma1[=OPTS]      LZMA1 or LZMA2; OPTS is a comma-separated list of zero or\n"
+"  --lzma2[=OPTS]      more of the following options (valid values; default):\n"
 "                        preset=PRE reset options to a preset (0-9[e])\n"
 "                        dict=NUM   dictionary size (4KiB - 1536MiB; 8MiB)\n"
 "                        lc=NUM     number of literal context bits (0-4; 3)\n"
@@ -653,37 +609,28 @@
 "                        pb=NUM     number of position bits (0-4; 2)\n"
 "                        mode=MODE  compression mode (fast, normal; normal)\n"
 "                        nice=NUM   nice length of a match (2-273; 64)\n"
-"                        mf=NAME    match finder (hc3, hc4, bt2, bt3, bt4; "
-"bt4)\n"
-"                        depth=NUM  maximum search depth; 0=automatic "
-"(default)"
+"                        mf=NAME    match finder (hc3, hc4, bt2, bt3, bt4; bt4)\n"
+"                        depth=NUM  maximum search depth; 0=automatic (default)"
 msgstr ""
 "\n"
 "  --lzma1[=OPTIONEN]    LZMA1 oder LZMA2; OPTIONEN ist eine durch Kommata\n"
-"  --lzma2[=OPTIONEN]    getrennte Liste bestehend aus den folgenden "
-"Optionen\n"
+"  --lzma2[=OPTIONEN]    getrennte Liste bestehend aus den folgenden Optionen\n"
 "                        (zulässige Werte; Voreinstellung):\n"
-"                          preset=NUM Setze Optionen zurück zu "
-"Voreinstellung\n"
+"                          preset=NUM Setze Optionen zurück zu Voreinstellung\n"
 "                                     (0-9[e])\n"
-"                          dict=NUM   Wörterbuch Größe (4 KiB - 1536 MiB; 8 "
-"MiB)\n"
-"                          lc=NUM     Anzahl der Literal Kontext Bits (0-4; "
-"3)\n"
-"                          lp=NUM     Anzahl der Literal Positionsbits (0-4; "
-"0)\n"
+"                          dict=NUM   Wörterbuch Größe (4 KiB - 1536 MiB; 8 MiB)\n"
+"                          lc=NUM     Anzahl der Literal Kontext Bits (0-4; 3)\n"
+"                          lp=NUM     Anzahl der Literal Positionsbits (0-4; 0)\n"
 "                          pb=NUM     Anzahl der Positionsbits (0-4; 2)\n"
-"                          mode=MODUS Kompressionsmodus (fast, normal; "
-"normal)\n"
+"                          mode=MODUS Kompressionsmodus (fast, normal; normal)\n"
 "                          nice=NUM   Nice-Länge eines Treffers (2-273; 64)\n"
 "                          mf=NAME    Algorithmus zum Auffinden von\n"
-"                                     Übereinstimmungen (hc3, hc4, bt2, bt3, "
-"bt4;\n"
+"                                     Übereinstimmungen (hc3, hc4, bt2, bt3, bt4;\n"
 "                                     bt4)\n"
 "                          depth=NUM  Maximale Suchtiefe; 0=automatisch\n"
 "                                     (Voreinstellung)"
 
-#: src/xz/message.c:1181
+#: src/xz/message.c:1176
 msgid ""
 "\n"
 "  --x86[=OPTS]        x86 BCJ filter (32-bit and 64-bit)\n"
@@ -706,7 +653,7 @@
 "                          start=NUM  Start-Offset für Konversion\n"
 "                          (Voreinstellung=0)"
 
-#: src/xz/message.c:1193
+#: src/xz/message.c:1188
 msgid ""
 "\n"
 "  --delta[=OPTS]      Delta filter; valid OPTS (valid values; default):\n"
@@ -716,11 +663,10 @@
 "\n"
 "  --delta[=OPTIONEN]    Delta Filter; zulässige Optionen (gültige Werte;\n"
 "                        Voreinstellung):\n"
-"                          dist=NUM  Abstand zwischen den Bytes, die "
-"voneinander\n"
+"                          dist=NUM  Abstand zwischen den Bytes, die voneinander\n"
 "                                    subtrahiert werden (1-256; 1)"
 
-#: src/xz/message.c:1201
+#: src/xz/message.c:1196
 msgid ""
 "\n"
 " Other options:\n"
@@ -728,37 +674,33 @@
 "\n"
 " Andere Optionen:\n"
 
-#: src/xz/message.c:1204
+#: src/xz/message.c:1199
 msgid ""
-"  -q, --quiet         suppress warnings; specify twice to suppress errors "
-"too\n"
+"  -q, --quiet         suppress warnings; specify twice to suppress errors too\n"
 "  -v, --verbose       be verbose; specify twice for even more verbose"
 msgstr ""
 "  -q, --quiet           unterdrücke Warnungen; benutze diese Option zweimal\n"
 "                        um auch Fehlermeldungen zu unterdrücken\n"
-"  -v, --verbose         sei gesprächig; benutze diese Option zweimal um "
-"noch\n"
+"  -v, --verbose         sei gesprächig; benutze diese Option zweimal um noch\n"
 "                        gesprächiger zu sein"
 
-#: src/xz/message.c:1209
+#: src/xz/message.c:1204
 msgid "  -Q, --no-warn       make warnings not affect the exit status"
 msgstr "  -Q, --no-warn         Warnungen verändern nicht den exit status"
 
-#: src/xz/message.c:1211
-msgid ""
-"      --robot         use machine-parsable messages (useful for scripts)"
+#: src/xz/message.c:1206
+msgid "      --robot         use machine-parsable messages (useful for scripts)"
 msgstr ""
 "      --robot           benutze Maschinen-lesbare Meldungen (nützlich für\n"
 "                        Skripte)"
 
-#: src/xz/message.c:1214
+#: src/xz/message.c:1209
 msgid ""
-"      --info-memory   display the total amount of RAM and the currently "
-"active\n"
+"      --info-memory   display the total amount of RAM and the currently active\n"
 "                      memory usage limits, and exit"
 msgstr "      --info-memory     zeige Speicherlimit an und terminiere"
 
-#: src/xz/message.c:1217
+#: src/xz/message.c:1212
 msgid ""
 "  -h, --help          display the short help (lists only the basic options)\n"
 "  -H, --long-help     display this long help and exit"
@@ -767,21 +709,20 @@
 "                        Optionen)\n"
 "  -H, --long-help       zeige diese lange Hilfe an und terminiere"
 
-#: src/xz/message.c:1221
+#: src/xz/message.c:1216
 msgid ""
 "  -h, --help          display this short help and exit\n"
 "  -H, --long-help     display the long help (lists also the advanced options)"
 msgstr ""
 "  -h, --help            zeige diese kurze Hilfe an und terminiere\n"
-"  -H, --long-help       zeige die lange Hilfe an (zeigt auch "
-"fortgeschrittene\n"
+"  -H, --long-help       zeige die lange Hilfe an (zeigt auch fortgeschrittene\n"
 "                        Optionen an)"
 
-#: src/xz/message.c:1226
+#: src/xz/message.c:1221
 msgid "  -V, --version       display the version number and exit"
 msgstr "  -V, --version         zeige Versionsnummer an und terminiere"
 
-#: src/xz/message.c:1228
+#: src/xz/message.c:1223
 msgid ""
 "\n"
 "With no FILE, or when FILE is -, read standard input.\n"
@@ -794,15 +735,14 @@
 #. for this package. Please add _another line_ saying
 #. "Report translation bugs to <...>\n" with the email or WWW
 #. address for translation bugs. Thanks.
-#: src/xz/message.c:1234
+#: src/xz/message.c:1229
 #, c-format
 msgid "Report bugs to <%s> (in English or Finnish).\n"
 msgstr ""
 "Melde Bugs an <%s> (in englisch oder finnisch).\n"
-"Melde Übersetzungsfehler an <maan@systemlinux.org> (in englisch oder "
-"deutsch).\n"
+"Melde Übersetzungsfehler an <maan@systemlinux.org> (in englisch oder deutsch).\n"
 
-#: src/xz/message.c:1236
+#: src/xz/message.c:1231
 #, c-format
 msgid "%s home page: <%s>\n"
 msgstr "%s Homepage: <%s>\n"
@@ -810,9 +750,7 @@
 #: src/xz/options.c:86
 #, c-format
 msgid "%s: Options must be `name=value' pairs separated with commas"
-msgstr ""
-"%s: Optionen müssen in der Form `Name=Wert` gegeben werden, getrennt durch "
-"Kommata"
+msgstr "%s: Optionen müssen in der Form `Name=Wert` gegeben werden, getrennt durch Kommata"
 
 #: src/xz/options.c:93
 #, c-format
@@ -836,17 +774,12 @@
 #: src/xz/options.c:359
 #, c-format
 msgid "The selected match finder requires at least nice=%<PRIu32>"
-msgstr ""
-"Der ausgewählte Algorithmus zum Auffinden von Übereinstimmungen braucht "
-"mindestens nice=%<PRIu32>"
+msgstr "Der ausgewählte Algorithmus zum Auffinden von Übereinstimmungen braucht mindestens nice=%<PRIu32>"
 
 #: src/xz/suffix.c:79 src/xz/suffix.c:164
 #, c-format
-msgid ""
-"%s: With --format=raw, --suffix=.SUF is required unless writing to stdout"
-msgstr ""
-"%s: Mit --format=raw ist --sufix=.SUF notwendig, falls nicht nach stdout "
-"geschrieben wird"
+msgid "%s: With --format=raw, --suffix=.SUF is required unless writing to stdout"
+msgstr "%s: Mit --format=raw ist --sufix=.SUF notwendig, falls nicht nach stdout geschrieben wird"
 
 #: src/xz/suffix.c:99
 #, c-format
diff --git a/po/it.po b/po/it.po
index ea6f858..4bffbe3 100644
--- a/po/it.po
+++ b/po/it.po
@@ -7,8 +7,8 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: xz-utils\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2011-05-27 11:42+0200\n"
+"Report-Msgid-Bugs-To: lasse.collin@tukaani.org\n"
+"POT-Creation-Date: 2010-10-23 17:48+0300\n"
 "PO-Revision-Date: 2011-05-27 11:43+0200\n"
 "Last-Translator: Milo Casagrande <milo@ubuntu.com>\n"
 "Language-Team: Italian <tp@lists.linux.it>\n"
@@ -20,72 +20,62 @@
 "X-Generator: Launchpad (build Unknown)\n"
 "Plural-Forms: nplurals=2; plural=(n != 1)\n"
 
-#: ../src/xz/args.c:333
+#: src/xz/args.c:333
 #, c-format
 msgid "%s: Unknown file format type"
 msgstr "%s: tipo di formato del file sconosciuto"
 
-#: ../src/xz/args.c:356 ../src/xz/args.c:364
+#: src/xz/args.c:356 src/xz/args.c:364
 #, c-format
 msgid "%s: Unsupported integrity check type"
 msgstr "%s: tipo di controllo integrità non supportato"
 
-#: ../src/xz/args.c:382
+#: src/xz/args.c:382
 msgid "Only one file can be specified with `--files' or `--files0'."
 msgstr "Solo un file può essere specificato con \"--files\" o \"--files0\"."
 
-#: ../src/xz/args.c:445
+#: src/xz/args.c:445
 #, c-format
 msgid "The environment variable %s contains too many arguments"
 msgstr "La variabile d'ambiente %s contiene troppi argomenti"
 
-#: ../src/xz/coder.c:95
+#: src/xz/coder.c:95
 msgid "Maximum number of filters is four"
 msgstr "Il numero massimo di filtri è quattro"
 
-#: ../src/xz/coder.c:108
+#: src/xz/coder.c:108
 msgid "Memory usage limit is too low for the given filter setup."
-msgstr ""
-"Il limite dell'uso della memoria è troppo basso per l'impostazione del "
-"filtro dato."
+msgstr "Il limite dell'uso della memoria è troppo basso per l'impostazione del filtro dato."
 
-#. The message is shown only if warnings are allowed
-#. but the exit status isn't changed.
-#: ../src/xz/coder.c:129
+#: src/xz/coder.c:129
 msgid "Using a preset in raw mode is discouraged."
 msgstr "Non è consigliato usare un preset nella modalità raw."
 
-#: ../src/xz/coder.c:131
+#: src/xz/coder.c:131
 msgid "The exact options of the presets may vary between software versions."
-msgstr ""
-"Le opzioni esatte per i preset possono variare tra le versioni del software."
+msgstr "Le opzioni esatte per i preset possono variare tra le versioni del software."
 
-#: ../src/xz/coder.c:157
+#: src/xz/coder.c:157
 msgid "The .lzma format supports only the LZMA1 filter"
 msgstr "Il formato .lzma supporta solo il filtro LZMA1"
 
-#: ../src/xz/coder.c:165
+#: src/xz/coder.c:165
 msgid "LZMA1 cannot be used with the .xz format"
 msgstr "LZMA1 non può essere usato con il formato .xz"
 
-#: ../src/xz/coder.c:182
+#: src/xz/coder.c:182
 msgid "Unsupported filter chain or filter options"
 msgstr "Catena di filtri od opzioni del filtro non supportata"
 
-#: ../src/xz/coder.c:190
+#: src/xz/coder.c:190
 #, c-format
 msgid "Decompression will need %s MiB of memory."
 msgstr "L'estrazione necessita di %s MiB di memoria."
 
-#. Tell the user that we decreased the dictionary size.
-#: ../src/xz/coder.c:247
+#: src/xz/coder.c:247
 #, c-format
-msgid ""
-"Adjusted LZMA%c dictionary size from %s MiB to %s MiB to not exceed the "
-"memory usage limit of %s MiB"
-msgstr ""
-"Regolata la dimensione del dizionario LZMA%c da %s MiB a %s MiB per non "
-"superare il limite dell'uso della memoria di %s MiB"
+msgid "Adjusted LZMA%c dictionary size from %s MiB to %s MiB to not exceed the memory usage limit of %s MiB"
+msgstr "Regolata la dimensione del dizionario LZMA%c da %s MiB a %s MiB per non superare il limite dell'uso della memoria di %s MiB"
 
 #. TRANSLATORS: When compression or decompression finishes,
 #. and xz is going to remove the source file, xz first checks
@@ -97,128 +87,118 @@
 #. it is possible that the user has put a new file in place
 #. of the original file, and in that case it obviously
 #. shouldn't be removed.
-#: ../src/xz/file_io.c:137
+#: src/xz/file_io.c:137
 #, c-format
 msgid "%s: File seems to have been moved, not removing"
 msgstr "%s: sembra che il file sia stato spostato, non viene rimosso"
 
-#: ../src/xz/file_io.c:144 ../src/xz/file_io.c:589
+#: src/xz/file_io.c:144 src/xz/file_io.c:590
 #, c-format
 msgid "%s: Cannot remove: %s"
 msgstr "%s: impossibile rimuovere: %s"
 
-#: ../src/xz/file_io.c:169
+#: src/xz/file_io.c:169
 #, c-format
 msgid "%s: Cannot set the file owner: %s"
 msgstr "%s: impossibile impostare il proprietario del file: %s"
 
-#: ../src/xz/file_io.c:175
+#: src/xz/file_io.c:175
 #, c-format
 msgid "%s: Cannot set the file group: %s"
 msgstr "%s: impossibile impostare il gruppo del file: %s"
 
-#: ../src/xz/file_io.c:194
+#: src/xz/file_io.c:194
 #, c-format
 msgid "%s: Cannot set the file permissions: %s"
 msgstr "%s: impossibile impostare i permessi del file: %s"
 
-#: ../src/xz/file_io.c:337 ../src/xz/file_io.c:420
+#: src/xz/file_io.c:337 src/xz/file_io.c:420
 #, c-format
 msgid "%s: Is a symbolic link, skipping"
 msgstr "%s: è un collegamento simbolico, viene saltato"
 
-#: ../src/xz/file_io.c:455
+#: src/xz/file_io.c:455
 #, c-format
 msgid "%s: Is a directory, skipping"
 msgstr "%s: è una directory, viene saltata"
 
-#: ../src/xz/file_io.c:461
+#: src/xz/file_io.c:462
 #, c-format
 msgid "%s: Not a regular file, skipping"
 msgstr "%s: non è un file regolare, viene saltato"
 
-#. gzip rejects setuid and setgid files even
-#. when --force was used. bzip2 doesn't check
-#. for them, but calls fchown() after fchmod(),
-#. and many systems automatically drop setuid
-#. and setgid bits there.
-#.
-#. We accept setuid and setgid files if
-#. --force was used. We drop these bits
-#. explicitly in io_copy_attr().
-#: ../src/xz/file_io.c:478
+#: src/xz/file_io.c:479
 #, c-format
 msgid "%s: File has setuid or setgid bit set, skipping"
 msgstr "%s: il file ha il bit setuid o setgid impostato, viene saltato"
 
-#: ../src/xz/file_io.c:485
+#: src/xz/file_io.c:486
 #, c-format
 msgid "%s: File has sticky bit set, skipping"
 msgstr "%s: il file ha lo sticky bit impostato, viene saltato"
 
-#: ../src/xz/file_io.c:492
+#: src/xz/file_io.c:493
 #, c-format
 msgid "%s: Input file has more than one hard link, skipping"
 msgstr "%s: il file di input ha più di un collegamento fisico, viene saltato"
 
-#: ../src/xz/file_io.c:713
+#: src/xz/file_io.c:714
 #, c-format
 msgid "Error restoring the O_APPEND flag to standard output: %s"
 msgstr "Errore nel ripristinare la flag O_APPEND sullo standard output: %s"
 
-#: ../src/xz/file_io.c:725
+#: src/xz/file_io.c:726
 #, c-format
 msgid "%s: Closing the file failed: %s"
 msgstr "%s: chiusura del file non riuscita: %s"
 
-#: ../src/xz/file_io.c:761 ../src/xz/file_io.c:945
+#: src/xz/file_io.c:762 src/xz/file_io.c:946
 #, c-format
 msgid "%s: Seeking failed when trying to create a sparse file: %s"
-msgstr ""
-"%s: posizionamento non riuscito nel tentativo di creare un file sparso: %s"
+msgstr "%s: posizionamento non riuscito nel tentativo di creare un file sparso: %s"
 
-#: ../src/xz/file_io.c:820
+#: src/xz/file_io.c:821
 #, c-format
 msgid "%s: Read error: %s"
 msgstr "%s: errore di lettura: %s"
 
-#: ../src/xz/file_io.c:843
+#: src/xz/file_io.c:844
 #, c-format
 msgid "%s: Error seeking the file: %s"
 msgstr "%s: errore nel cercare il file: %s"
 
-#: ../src/xz/file_io.c:853
+#: src/xz/file_io.c:854
 #, c-format
 msgid "%s: Unexpected end of file"
 msgstr "%s: fine del file inaspettata"
 
-#: ../src/xz/file_io.c:903
+#: src/xz/file_io.c:904
 #, c-format
 msgid "%s: Write error: %s"
 msgstr "%s: errore di scrittura: %s"
 
-#: ../src/xz/hardware.c:100
+#: src/xz/hardware.c:100
 msgid "Disabled"
 msgstr "Disabilitato"
 
 #. TRANSLATORS: Test with "xz --info-memory" to see if
 #. the alignment looks nice.
-#: ../src/xz/hardware.c:119
+#: src/xz/hardware.c:119
 msgid "Total amount of physical memory (RAM): "
 msgstr "Quantità totale di memoria fisica (RAM):     "
 
-#: ../src/xz/hardware.c:121
+#: src/xz/hardware.c:121
 msgid "Memory usage limit for compression:    "
 msgstr "Limite utilizzo memoria per la compressione: "
 
-#: ../src/xz/hardware.c:123
+#: src/xz/hardware.c:123
 msgid "Memory usage limit for decompression:  "
 msgstr "Limite utilizzo memoria per l'estrazione:    "
 
 #. TRANSLATORS: Indicates that there is no integrity check.
 #. This string is used in tables, so the width must not
 #. exceed ten columns with a fixed-width font.
-#: ../src/xz/list.c:62
+#: src/xz/list.c:62
 msgid "None"
 msgstr "Nessuno"
 
@@ -227,60 +207,60 @@
 #. strings are used in tables, so the width must not exceed ten
 #. columns with a fixed-width font. It's OK to omit the dash if
 #. you need space for one extra letter, but don't use spaces.
-#: ../src/xz/list.c:69
+#: src/xz/list.c:69
 msgid "Unknown-2"
 msgstr "Sconosc2"
 
-#: ../src/xz/list.c:70
+#: src/xz/list.c:70
 msgid "Unknown-3"
 msgstr "Sconosc3"
 
-#: ../src/xz/list.c:72
+#: src/xz/list.c:72
 msgid "Unknown-5"
 msgstr "Sconosc5"
 
-#: ../src/xz/list.c:73
+#: src/xz/list.c:73
 msgid "Unknown-6"
 msgstr "Sconosc6"
 
-#: ../src/xz/list.c:74
+#: src/xz/list.c:74
 msgid "Unknown-7"
 msgstr "Sconosc7"
 
-#: ../src/xz/list.c:75
+#: src/xz/list.c:75
 msgid "Unknown-8"
 msgstr "Sconosc8"
 
-#: ../src/xz/list.c:76
+#: src/xz/list.c:76
 msgid "Unknown-9"
 msgstr "Sconosc9"
 
-#: ../src/xz/list.c:78
+#: src/xz/list.c:78
 msgid "Unknown-11"
 msgstr "Sconosc11"
 
-#: ../src/xz/list.c:79
+#: src/xz/list.c:79
 msgid "Unknown-12"
 msgstr "Sconosc12"
 
-#: ../src/xz/list.c:80
+#: src/xz/list.c:80
 msgid "Unknown-13"
 msgstr "Sconosc13"
 
-#: ../src/xz/list.c:81
+#: src/xz/list.c:81
 msgid "Unknown-14"
 msgstr "Sconosc14"
 
-#: ../src/xz/list.c:82
+#: src/xz/list.c:82
 msgid "Unknown-15"
 msgstr "Sconosc15"
 
-#: ../src/xz/list.c:126
+#: src/xz/list.c:126
 #, c-format
 msgid "%s: File is empty"
 msgstr "%s: il file è vuoto"
 
-#: ../src/xz/list.c:131
+#: src/xz/list.c:131
 #, c-format
 msgid "%s: Too small to be a valid .xz file"
 msgstr "%s: troppo piccolo per essere un file .xz valido"
@@ -289,72 +269,66 @@
 #. to Ratio, the columns are right aligned. Check and Filename
 #. are left aligned. If you need longer words, it's OK to
 #. use two lines here. Test with "xz -l foo.xz".
-#: ../src/xz/list.c:612
+#: src/xz/list.c:612
 msgid "Strms  Blocks   Compressed Uncompressed  Ratio  Check   Filename"
 msgstr " Strm  Blocc.    Compresso     Estratto  Rapp.  Contr   Nome file"
 
-#: ../src/xz/list.c:652
+#: src/xz/list.c:652
 #, c-format
 msgid "  Streams:            %s\n"
 msgstr "  Stream:               %s\n"
 
-#: ../src/xz/list.c:654
+#: src/xz/list.c:654
 #, c-format
 msgid "  Blocks:             %s\n"
 msgstr "  Blocchi:              %s\n"
 
-#: ../src/xz/list.c:656
+#: src/xz/list.c:656
 #, c-format
 msgid "  Compressed size:    %s\n"
 msgstr "  Dim. compresso:       %s\n"
 
-#: ../src/xz/list.c:659
+#: src/xz/list.c:659
 #, c-format
 msgid "  Uncompressed size:  %s\n"
 msgstr "  Dim. estratto:        %s\n"
 
-#: ../src/xz/list.c:662
+#: src/xz/list.c:662
 #, c-format
 msgid "  Ratio:              %s\n"
 msgstr "  Rapporto:             %s\n"
 
-#: ../src/xz/list.c:664
+#: src/xz/list.c:664
 #, c-format
 msgid "  Check:              %s\n"
 msgstr "  Controllo:            %s\n"
 
-#: ../src/xz/list.c:665
+#: src/xz/list.c:665
 #, c-format
 msgid "  Stream padding:     %s\n"
 msgstr "  Padding dello stream: %s\n"
 
-#. Print information about the Streams.
-#.
 #. TRANSLATORS: The second line is column headings. All except
 #. Check are right aligned; Check is left aligned. Test with
 #. "xz -lv foo.xz".
-#: ../src/xz/list.c:693
+#: src/xz/list.c:693
 msgid ""
 "  Streams:\n"
-"    Stream    Blocks      CompOffset    UncompOffset        CompSize      "
-"UncompSize  Ratio  Check      Padding"
+"    Stream    Blocks      CompOffset    UncompOffset        CompSize      UncompSize  Ratio  Check      Padding"
 msgstr ""
 "Stream:\n"
-"    Stream    Blocc.    Offset comp.    Offset estr.      Dim. comp.   Dim. "
-"estratto  Rapp.  Contr      Padding"
+"    Stream    Blocc.    Offset comp.    Offset estr.      Dim. comp.   Dim. estratto  Rapp.  Contr      Padding"
 
 #. TRANSLATORS: The second line is column headings. All
 #. except Check are right aligned; Check is left aligned.
-#: ../src/xz/list.c:748
+#: src/xz/list.c:748
 #, c-format
 msgid ""
 "  Blocks:\n"
-"    Stream     Block      CompOffset    UncompOffset       TotalSize      "
-"UncompSize  Ratio  Check"
+"    Stream     Block      CompOffset    UncompOffset       TotalSize      UncompSize  Ratio  Check"
 msgstr ""
 "  Blocchi:\n"
-"    Stream    Blocc.    Offset comp. Offset estratto       Dim. tot.   Dim. "
-"estratto  Rapp.  Contr"
+"    Stream    Blocc.    Offset comp. Offset estratto       Dim. tot.   Dim. estratto  Rapp.  Contr"
 
 #. TRANSLATORS: These are additional column headings
 #. for the most verbose listing mode. CheckVal
@@ -363,160 +337,130 @@
 #. are right aligned. %*s is replaced with 0-120
 #. spaces to make the CheckVal column wide enough.
 #. Test with "xz -lvv foo.xz".
-#: ../src/xz/list.c:760
+#: src/xz/list.c:760
 #, c-format
 msgid "      CheckVal %*s Header  Flags        CompSize    MemUsage  Filters"
 msgstr "      Val.cont %*s Header  Flag       Dim.compr.    Uso mem.  Filtri"
 
-#: ../src/xz/list.c:838 ../src/xz/list.c:1007
+#: src/xz/list.c:838 src/xz/list.c:1007
 #, c-format
 msgid "  Memory needed:      %s MiB\n"
 msgstr "  Memoria necessaria:   %s MiB\n"
 
-#: ../src/xz/list.c:840 ../src/xz/list.c:1009
+#: src/xz/list.c:840 src/xz/list.c:1009
 #, c-format
 msgid "  Sizes in headers:   %s\n"
 msgstr "  Dim. negli header:    %s\n"
 
-#: ../src/xz/list.c:841 ../src/xz/list.c:1010
+#: src/xz/list.c:841 src/xz/list.c:1010
 msgid "Yes"
 msgstr "Sì"
 
-#: ../src/xz/list.c:841 ../src/xz/list.c:1010
+#: src/xz/list.c:841 src/xz/list.c:1010
 msgid "No"
 msgstr "No"
 
-#. Since we print totals only when there are at least two files,
-#. the English message will always use "%s files". But some other
-#. languages need different forms for different plurals so we
-#. have to translate this with ngettext().
-#.
 #. TRANSLATORS: %s is an integer. Only the plural form of this
 #. message is used (e.g. "2 files"). Test with "xz -l foo.xz bar.xz".
-#: ../src/xz/list.c:986
+#: src/xz/list.c:986
 #, c-format
 msgid "%s file\n"
 msgid_plural "%s files\n"
 msgstr[0] "%s file\n"
 msgstr[1] "%s file\n"
 
-#: ../src/xz/list.c:999
+#: src/xz/list.c:999
 msgid "Totals:"
 msgstr "Totali:"
 
-#: ../src/xz/list.c:1000
+#: src/xz/list.c:1000
 #, c-format
 msgid "  Number of files:    %s\n"
 msgstr "  Numero di file:       %s\n"
 
-#: ../src/xz/list.c:1072
+#: src/xz/list.c:1072
 msgid "--list works only on .xz files (--format=xz or --format=auto)"
 msgstr "--list funziona solamente con file .xz (--format=xz o --format=auto)"
 
-#: ../src/xz/list.c:1078
+#: src/xz/list.c:1078
 msgid "--list does not support reading from standard input"
 msgstr "--list non è in grado di leggere dallo standard input"
 
-#: ../src/xz/main.c:89
+#: src/xz/main.c:89
 #, c-format
 msgid "%s: Error reading filenames: %s"
 msgstr "%s: errore nel leggere i nomi dei file: %s"
 
-#: ../src/xz/main.c:96
+#: src/xz/main.c:96
 #, c-format
 msgid "%s: Unexpected end of input when reading filenames"
 msgstr "%s: fine dell'input durante la lettura dei nomi dei file non attesa"
 
-#. A null character was found when using --files,
-#. which expects plain text input separated with
-#. newlines.
-#: ../src/xz/main.c:120
+#: src/xz/main.c:120
 #, c-format
-msgid ""
-"%s: Null character found when reading filenames; maybe you meant to use `--"
-"files0' instead of `--files'?"
-msgstr ""
-"%s: nessun carattere trovato durante la lettura dei nomi dei file; forse si "
-"intendeva usare \"--files0\" invece di \"--files\"?"
+msgid "%s: Null character found when reading filenames; maybe you meant to use `--files0' instead of `--files'?"
+msgstr "%s: nessun carattere trovato durante la lettura dei nomi dei file; forse si intendeva usare \"--files0\" invece di \"--files\"?"
 
-#: ../src/xz/main.c:174
+#: src/xz/main.c:174
 msgid "Compression and decompression with --robot are not supported yet."
 msgstr "La compressione e l'estrazione con --robot non sono ancora supportate."
 
-#: ../src/xz/main.c:231
-msgid ""
-"Cannot read data from standard input when reading filenames from standard "
-"input"
-msgstr ""
-"Impossibile leggere i dati dallo standard input durante la lettura dei nomi "
-"dei file dallo standard input"
+#: src/xz/main.c:231
+msgid "Cannot read data from standard input when reading filenames from standard input"
+msgstr "Impossibile leggere i dati dallo standard input durante la lettura dei nomi dei file dallo standard input"
 
-#. TRANSLATORS: This is the program name in the beginning
-#. of the line in messages. Usually it becomes "xz: ".
-#. This is a translatable string because French needs
-#. a space before a colon.
-#: ../src/xz/message.c:733
-#, c-format
-msgid "%s: "
-msgstr "%s: "
-
-#: ../src/xz/message.c:796 ../src/xz/message.c:846
+#: src/xz/message.c:792 src/xz/message.c:842
 msgid "Internal error (bug)"
 msgstr "Errore interno (bug)"
 
-#: ../src/xz/message.c:803
+#: src/xz/message.c:799
 msgid "Cannot establish signal handlers"
 msgstr "Impossibile stabilire i gestori dei segnali"
 
-#: ../src/xz/message.c:812
+#: src/xz/message.c:808
 msgid "No integrity check; not verifying file integrity"
-msgstr ""
-"Nessun controllo d'integrità; l'integrità del file non viene verificata"
+msgstr "Nessun controllo d'integrità; l'integrità del file non viene verificata"
 
-#: ../src/xz/message.c:815
+#: src/xz/message.c:811
 msgid "Unsupported type of integrity check; not verifying file integrity"
-msgstr ""
-"Tipo di controllo di integrità non supportato; l'integrità del file non "
-"viene verificata"
+msgstr "Tipo di controllo di integrità non supportato; l'integrità del file non viene verificata"
 
-#: ../src/xz/message.c:822
+#: src/xz/message.c:818
 msgid "Memory usage limit reached"
 msgstr "Limite di utilizzo della memoria raggiunto"
 
-#: ../src/xz/message.c:825
+#: src/xz/message.c:821
 msgid "File format not recognized"
 msgstr "Formato di file non riconosciuto"
 
-#: ../src/xz/message.c:828
+#: src/xz/message.c:824
 msgid "Unsupported options"
 msgstr "Opzioni non supportate"
 
-#: ../src/xz/message.c:831
+#: src/xz/message.c:827
 msgid "Compressed data is corrupt"
 msgstr "I dati compressi sono danneggiati"
 
-#: ../src/xz/message.c:834
+#: src/xz/message.c:830
 msgid "Unexpected end of input"
 msgstr "Fine dell'input non attesa"
 
-#: ../src/xz/message.c:885
+#: src/xz/message.c:881
 #, c-format
 msgid "%s MiB of memory is required. The limit is %s."
 msgstr "%s MiB di memoria sono richiesti. Il limite è %s."
 
-#: ../src/xz/message.c:1052
+#: src/xz/message.c:1048
 #, c-format
 msgid "%s: Filter chain: %s\n"
 msgstr "%s: catena di filtri: %s\n"
 
-#. Print this with V_WARNING instead of V_ERROR to prevent it from
-#. showing up when --quiet has been specified.
-#: ../src/xz/message.c:1062
+#: src/xz/message.c:1058
 #, c-format
 msgid "Try `%s --help' for more information."
 msgstr "Provare \"%s --help\" per maggiori informazioni."
 
-#: ../src/xz/message.c:1088
+#: src/xz/message.c:1084
 #, c-format
 msgid ""
 "Usage: %s [OPTION]... [FILE]...\n"
@@ -527,18 +471,15 @@
 "Comprime o estrae i FILE nel formato .xz.\n"
 "\n"
 
-#: ../src/xz/message.c:1095
-msgid ""
-"Mandatory arguments to long options are mandatory for short options too.\n"
-msgstr ""
-"Gli argomenti obbligatori per le opzioni lunghe lo sono anche per quelle "
-"brevi.\n"
+#: src/xz/message.c:1091
+msgid "Mandatory arguments to long options are mandatory for short options too.\n"
+msgstr "Gli argomenti obbligatori per le opzioni lunghe lo sono anche per quelle brevi.\n"
 
-#: ../src/xz/message.c:1099
+#: src/xz/message.c:1095
 msgid " Operation mode:\n"
 msgstr " Modalità di operazione:\n"
 
-#: ../src/xz/message.c:1102
+#: src/xz/message.c:1098
 msgid ""
 "  -z, --compress      force compression\n"
 "  -d, --decompress    force decompression\n"
@@ -550,7 +491,7 @@
 "  -t, --test          Verifica l'integrità dei file compressi\n"
 "  -l, --list          Elenca informazioni sui file .xz"
 
-#: ../src/xz/message.c:1108
+#: src/xz/message.c:1104
 msgid ""
 "\n"
 " Operation modifiers:\n"
@@ -558,40 +499,35 @@
 "\n"
 " Modificatori di operazioni:\n"
 
-#: ../src/xz/message.c:1111
+#: src/xz/message.c:1107
 msgid ""
 "  -k, --keep          keep (don't delete) input files\n"
 "  -f, --force         force overwrite of output file and (de)compress links\n"
 "  -c, --stdout        write to standard output and don't delete input files"
 msgstr ""
 "  -k, --keep          Mantiene (non elimina) i file di input\n"
-"  -f, --force         Forza la sovrascrittura dell'output e comprime/estrae "
-"i\n"
+"  -f, --force         Forza la sovrascrittura dell'output e comprime/estrae i\n"
 "                      collegamenti\n"
-"  -c, --stdout        Scrive sullo standard output e non elimina i file di "
-"input"
+"  -c, --stdout        Scrive sullo standard output e non elimina i file di input"
 
-#: ../src/xz/message.c:1117
+#: src/xz/message.c:1113
 msgid ""
 "      --no-sparse     do not create sparse files when decompressing\n"
 "  -S, --suffix=.SUF   use the suffix `.SUF' on compressed files\n"
 "      --files[=FILE]  read filenames to process from FILE; if FILE is\n"
 "                      omitted, filenames are read from the standard input;\n"
-"                      filenames must be terminated with the newline "
-"character\n"
+"                      filenames must be terminated with the newline character\n"
 "      --files0[=FILE] like --files but use the null character as terminator"
 msgstr ""
 "      --no-sparse     Non crea file sparsi durante l'estrazione\n"
 "  -S, --suffix=.SUF   Usa il suffisso \".SUF\" sui file compressi\n"
 "      --files=[FILE]  Legge i nomi dei file da elaborare da FILE; se FILE è\n"
-"                      omesso, i nomi dei file sono letti dallo standard "
-"input;\n"
-"                      i nomi dei file devono essere terminati con un "
-"carattere\n"
+"                      omesso, i nomi dei file sono letti dallo standard input;\n"
+"                      i nomi dei file devono essere terminati con un carattere\n"
 "                      di newline\n"
 "      --files0=[FILE] Come --files ma usa il carattere null come terminatore"
 
-#: ../src/xz/message.c:1125
+#: src/xz/message.c:1121
 msgid ""
 "\n"
 " Basic file format and compression options:\n"
@@ -599,76 +535,62 @@
 "\n"
 " Formato file di base e opzioni di compressione:\n"
 
-#: ../src/xz/message.c:1127
+#: src/xz/message.c:1123
 msgid ""
 "  -F, --format=FMT    file format to encode or decode; possible values are\n"
 "                      `auto' (default), `xz', `lzma', and `raw'\n"
 "  -C, --check=CHECK   integrity check type: `none' (use with caution),\n"
 "                      `crc32', `crc64' (default), or `sha256'"
 msgstr ""
-"  -F, --format=FMT    Formato file per codificare o decodificare; i "
-"possibili\n"
-"                      valori sono \"auto\" (predefinito) \"xz\", \"lzma\" e "
-"\"raw\"\n"
-"  -C, --check=CHECK   Tipo di verifica integrità: \"none\" (usare con "
-"attenzione),\n"
+"  -F, --format=FMT    Formato file per codificare o decodificare; i possibili\n"
+"                      valori sono \"auto\" (predefinito) \"xz\", \"lzma\" e \"raw\"\n"
+"  -C, --check=CHECK   Tipo di verifica integrità: \"none\" (usare con attenzione),\n"
 "                      \"crc32\", \"crc64\" (predefinito) o \"sha256\""
 
-#: ../src/xz/message.c:1134
+#: src/xz/message.c:1130
 msgid ""
-"  -0 ... -9           compression preset; default is 6; take compressor "
-"*and*\n"
-"                      decompressor memory usage into account before using "
-"7-9!"
+"  -0 ... -9           compression preset; default is 6; take compressor *and*\n"
+"                      decompressor memory usage into account before using 7-9!"
 msgstr ""
-"  -0 ... -9           Preset di compressione; predefinito è 6; tenere a "
-"mente\n"
-"                      l'utilizzo di memoria per comprimere ed estrarre "
-"prima\n"
+"  -0 ... -9           Preset di compressione; predefinito è 6; tenere a mente\n"
+"                      l'utilizzo di memoria per comprimere ed estrarre prima\n"
 "                      di usare 7-9"
 
-#: ../src/xz/message.c:1138
+#: src/xz/message.c:1134
 msgid ""
-"  -e, --extreme       try to improve compression ratio by using more CPU "
-"time;\n"
+"  -e, --extreme       try to improve compression ratio by using more CPU time;\n"
 "                      does not affect decompressor memory requirements"
 msgstr ""
 "  -e, --extreme       Tenta di migliorare il rapporto di compressione\n"
-"                      utilizzando più tempo di CPU; non cambia i requisiti "
-"di\n"
+"                      utilizzando più tempo di CPU; non cambia i requisiti di\n"
 "                      memoria in fase di estrazione"
 
-#: ../src/xz/message.c:1143
+#: src/xz/message.c:1139
 #, no-c-format
 msgid ""
 "      --memlimit-compress=LIMIT\n"
 "      --memlimit-decompress=LIMIT\n"
 "  -M, --memlimit=LIMIT\n"
-"                      set memory usage limit for compression, "
-"decompression,\n"
+"                      set memory usage limit for compression, decompression,\n"
 "                      or both; LIMIT is in bytes, % of RAM, or 0 for defaults"
 msgstr ""
 "      --memlimit-compress=LIMIT\n"
 "      --memlimit-decompress=LIMIT\n"
 "  -M, --memlimit=LIMIT\n"
 "                      Imposta il limite di utilizzo della memoria per la\n"
-"                      compressione, l'estrazione o entrambe; LIMIT è in "
-"byte,\n"
+"                      compressione, l'estrazione o entrambe; LIMIT è in byte,\n"
 "                      % della memoria RAM oppure 0 per il valore predefinito"
 
-#: ../src/xz/message.c:1150
+#: src/xz/message.c:1146
 msgid ""
-"      --no-adjust     if compression settings exceed the memory usage "
-"limit,\n"
-"                      give an error instead of adjusting the settings "
-"downwards"
+"      --no-adjust     if compression settings exceed the memory usage limit,\n"
+"                      give an error instead of adjusting the settings downwards"
 msgstr ""
-"      --no-adjust     Se le impostazioni di compressione eccedono il limite "
-"di\n"
+"      --no-adjust     Se le impostazioni di compressione eccedono il limite di\n"
 "                      utilizzo della memoria, lancia un errore invece di\n"
 "                      utilizzare valori più piccoli"
 
-#: ../src/xz/message.c:1156
+#: src/xz/message.c:1152
 msgid ""
 "\n"
 " Custom filter chain for compression (alternative for using presets):"
@@ -677,13 +599,11 @@
 " Catena di filtri personalizzati per la compressione (alternative per\n"
 " l'utilizzo di preset):"
 
-#: ../src/xz/message.c:1165
+#: src/xz/message.c:1161
 msgid ""
 "\n"
-"  --lzma1[=OPTS]      LZMA1 or LZMA2; OPTS is a comma-separated list of zero "
-"or\n"
-"  --lzma2[=OPTS]      more of the following options (valid values; "
-"default):\n"
+"  --lzma1[=OPTS]      LZMA1 or LZMA2; OPTS is a comma-separated list of zero or\n"
+"  --lzma2[=OPTS]      more of the following options (valid values; default):\n"
 "                        preset=PRE reset options to a preset (0-9[e])\n"
 "                        dict=NUM   dictionary size (4KiB - 1536MiB; 8MiB)\n"
 "                        lc=NUM     number of literal context bits (0-4; 3)\n"
@@ -691,24 +611,17 @@
 "                        pb=NUM     number of position bits (0-4; 2)\n"
 "                        mode=MODE  compression mode (fast, normal; normal)\n"
 "                        nice=NUM   nice length of a match (2-273; 64)\n"
-"                        mf=NAME    match finder (hc3, hc4, bt2, bt3, bt4; "
-"bt4)\n"
-"                        depth=NUM  maximum search depth; 0=automatic "
-"(default)"
+"                        mf=NAME    match finder (hc3, hc4, bt2, bt3, bt4; bt4)\n"
+"                        depth=NUM  maximum search depth; 0=automatic (default)"
 msgstr ""
 "\n"
-"  --lzma1[=OPZ]      LZMA1 o LZMA2; OPZ è un elenco separato da virgole di "
-"zero\n"
-"  --lzma2[=OPZ]      o più delle seguenti opzioni (valori validi; "
-"predefinito):\n"
-"                        preset=NUM Reimposta le opzioni al preset NUM (0-9"
-"[e])\n"
+"  --lzma1[=OPZ]      LZMA1 o LZMA2; OPZ è un elenco separato da virgole di zero\n"
+"  --lzma2[=OPZ]      o più delle seguenti opzioni (valori validi; predefinito):\n"
+"                        preset=NUM Reimposta le opzioni al preset NUM (0-9[e])\n"
 "                        dict=NUM   Dimensione del dizionario\n"
 "                                   (4KiB - 1536MiB; 8MiB)\n"
-"                        lc=NUM     Numero di bit letterali di contesto (0-4; "
-"3)\n"
-"                        lp=NUM     Numero di bit letterali di posizione "
-"(0-4; 0)\n"
+"                        lc=NUM     Numero di bit letterali di contesto (0-4; 3)\n"
+"                        lp=NUM     Numero di bit letterali di posizione (0-4; 0)\n"
 "                        pb=NUM     Numero di bit di posizione (0-4; 2)\n"
 "                        mode=MODE  Modalità di compressione\n"
 "                                   (fast, normal; normal)\n"
@@ -716,11 +629,10 @@
 "                                   (2-273; 64)\n"
 "                        mf=NAME    Strumento per cercare corrispondenze\n"
 "                                   (hc3, hc4, bt2, bt3, bt4; bt4)\n"
-"                        depth=NUM  Profondità massima di ricerca; "
-"0=automatica\n"
+"                        depth=NUM  Profondità massima di ricerca; 0=automatica\n"
 "                                   (predefinito)"
 
-#: ../src/xz/message.c:1180
+#: src/xz/message.c:1176
 msgid ""
 "\n"
 "  --x86[=OPTS]        x86 BCJ filter (32-bit and 64-bit)\n"
@@ -743,7 +655,7 @@
 "                      start=NUM Offset iniziale per le conversioni\n"
 "                                (predefinito=0)"
 
-#: ../src/xz/message.c:1192
+#: src/xz/message.c:1188
 msgid ""
 "\n"
 "  --delta[=OPTS]      Delta filter; valid OPTS (valid values; default):\n"
@@ -755,7 +667,7 @@
 "                      dist=NUM   Distanza tra byte sottratti\n"
 "                                 gli uni dagli altri (1-256; 1)"
 
-#: ../src/xz/message.c:1200
+#: src/xz/message.c:1196
 msgid ""
 "\n"
 " Other options:\n"
@@ -763,39 +675,33 @@
 "\n"
 " Altre opzioni:\n"
 
-#: ../src/xz/message.c:1203
+#: src/xz/message.c:1199
 msgid ""
-"  -q, --quiet         suppress warnings; specify twice to suppress errors "
-"too\n"
+"  -q, --quiet         suppress warnings; specify twice to suppress errors too\n"
 "  -v, --verbose       be verbose; specify twice for even more verbose"
 msgstr ""
-"  -q, --quiet         Sopprime gli avvisi; specificare due volte per "
-"sopprimere\n"
+"  -q, --quiet         Sopprime gli avvisi; specificare due volte per sopprimere\n"
 "                      anche gli errori\n"
-"  -v, --verbose       Output prolisso; specificare due volte per output "
-"ancora\n"
+"  -v, --verbose       Output prolisso; specificare due volte per output ancora\n"
 "                      più prolisso"
 
-#: ../src/xz/message.c:1208
+#: src/xz/message.c:1204
 msgid "  -Q, --no-warn       make warnings not affect the exit status"
 msgstr "  -Q, --no-warn       Gli avvisi non influenzano lo stato d'uscita"
 
-#: ../src/xz/message.c:1210
-msgid ""
-"      --robot         use machine-parsable messages (useful for scripts)"
+#: src/xz/message.c:1206
+msgid "      --robot         use machine-parsable messages (useful for scripts)"
 msgstr "      --robot         Usa messaggi analizzabili (utile per gli script)"
 
-#: ../src/xz/message.c:1213
+#: src/xz/message.c:1209
 msgid ""
-"      --info-memory   display the total amount of RAM and the currently "
-"active\n"
+"      --info-memory   display the total amount of RAM and the currently active\n"
 "                      memory usage limits, and exit"
 msgstr ""
-"      --info-memory   Visualizza la quantità totale di RAM, il limite "
-"attuale\n"
+"      --info-memory   Visualizza la quantità totale di RAM, il limite attuale\n"
 "                      attivo di utilizzo della memore ed esce"
 
-#: ../src/xz/message.c:1216
+#: src/xz/message.c:1212
 msgid ""
 "  -h, --help          display the short help (lists only the basic options)\n"
 "  -H, --long-help     display this long help and exit"
@@ -803,7 +709,7 @@
 "  -h, --help          Stampa l'aiuto breve (elenca solo le opzioni di base)\n"
 "  -H, --long-help     Stampa questo lungo aiuto ed esce"
 
-#: ../src/xz/message.c:1220
+#: src/xz/message.c:1216
 msgid ""
 "  -h, --help          display this short help and exit\n"
 "  -H, --long-help     display the long help (lists also the advanced options)"
@@ -811,11 +717,11 @@
 "  -h, --help          Stampa questo breve aiuto ed esce\n"
 "  -H, --long-help     Stampa l'aiuto lungo (elenca anche le opzioni avanzate)"
 
-#: ../src/xz/message.c:1225
+#: src/xz/message.c:1221
 msgid "  -V, --version       display the version number and exit"
 msgstr "  -V, --version       Stampa il numero della versione ed esce"
 
-#: ../src/xz/message.c:1227
+#: src/xz/message.c:1223
 msgid ""
 "\n"
 "With no FILE, or when FILE is -, read standard input.\n"
@@ -827,111 +733,102 @@
 #. for this package. Please add _another line_ saying
 #. "Report translation bugs to <...>\n" with the email or WWW
 #. address for translation bugs. Thanks.
-#: ../src/xz/message.c:1233
+#: src/xz/message.c:1229
 #, c-format
 msgid "Report bugs to <%s> (in English or Finnish).\n"
 msgstr ""
 "Segnalare i bug a <%s> (in inglese o finlandese).\n"
 "Segnalare i bug di traduzione a <tp@lists.linux.it>.\n"
 
-#: ../src/xz/message.c:1235
+#: src/xz/message.c:1231
 #, c-format
 msgid "%s home page: <%s>\n"
 msgstr "Sito web di %s: <%s>\n"
 
-#: ../src/xz/options.c:86
+#: src/xz/options.c:86
 #, c-format
 msgid "%s: Options must be `name=value' pairs separated with commas"
-msgstr ""
-"%s: le opzioni devono essere coppie \"nome=valore\" separate da virgole"
+msgstr "%s: le opzioni devono essere coppie \"nome=valore\" separate da virgole"
 
-#: ../src/xz/options.c:93
+#: src/xz/options.c:93
 #, c-format
 msgid "%s: Invalid option name"
 msgstr "%s: nome opzione non valido"
 
-#: ../src/xz/options.c:113
+#: src/xz/options.c:113
 #, c-format
 msgid "%s: Invalid option value"
 msgstr "%s: valore dell'opzione non valido"
 
-#: ../src/xz/options.c:247
+#: src/xz/options.c:247
 #, c-format
 msgid "Unsupported LZMA1/LZMA2 preset: %s"
 msgstr "Preset LZMA/LZMA2 non supportato: %s"
 
-#: ../src/xz/options.c:355
+#: src/xz/options.c:355
 msgid "The sum of lc and lp must not exceed 4"
 msgstr "La somma di lc e lp non deve superare 4"
 
-#: ../src/xz/options.c:359
+#: src/xz/options.c:359
 #, c-format
 msgid "The selected match finder requires at least nice=%<PRIu32>"
-msgstr ""
-"Lo strumento per cercare corrispondenze selezionato richiede almeno nice="
-"%<PRIu32>"
+msgstr "Lo strumento per cercare corrispondenze selezionato richiede almeno nice=%<PRIu32>"
 
-#: ../src/xz/suffix.c:101 ../src/xz/suffix.c:194
+#: src/xz/suffix.c:79 src/xz/suffix.c:164
 #, c-format
-msgid ""
-"%s: With --format=raw, --suffix=.SUF is required unless writing to stdout"
-msgstr ""
-"%s: con --format=raw, --suffix=.SUF è richiesto a meno che non si scriva "
-"sullo stdout"
+msgid "%s: With --format=raw, --suffix=.SUF is required unless writing to stdout"
+msgstr "%s: con --format=raw, --suffix=.SUF è richiesto a meno che non si scriva sullo stdout"
 
-#: ../src/xz/suffix.c:121
+#: src/xz/suffix.c:99
 #, c-format
 msgid "%s: Filename has an unknown suffix, skipping"
 msgstr "%s: il nome del file ha un suffisso sconosciuto, viene saltato"
 
-#: ../src/xz/suffix.c:175 ../src/xz/suffix.c:184
+#: src/xz/suffix.c:154
 #, c-format
 msgid "%s: File already has `%s' suffix, skipping"
 msgstr "%s: il file ha già il suffisso \"%s\", viene saltato"
 
-#: ../src/xz/suffix.c:235
+#: src/xz/suffix.c:205
 #, c-format
 msgid "%s: Invalid filename suffix"
 msgstr "%s: suffisso del nome del file non valido"
 
-#: ../src/xz/util.c:61
+#: src/xz/util.c:61
 #, c-format
 msgid "%s: Value is not a non-negative decimal integer"
 msgstr "%s: il valore non è un numero intero decimale non-negativo"
 
-#: ../src/xz/util.c:103
+#: src/xz/util.c:103
 #, c-format
 msgid "%s: Invalid multiplier suffix"
 msgstr "%s: suffisso del moltiplicatore non valido"
 
-#: ../src/xz/util.c:105
+#: src/xz/util.c:105
 msgid "Valid suffixes are `KiB' (2^10), `MiB' (2^20), and `GiB' (2^30)."
-msgstr ""
-"I suffissi validi sono \"KiB\" (2^10), \"MiB\" (2^20), e \"GiB\" (2^30)."
+msgstr "I suffissi validi sono \"KiB\" (2^10), \"MiB\" (2^20), e \"GiB\" (2^30)."
 
-#: ../src/xz/util.c:122
+#: src/xz/util.c:122
 #, c-format
 msgid "Value of the option `%s' must be in the range [%<PRIu64>, %<PRIu64>]"
-msgstr ""
-"Il valore dell'opzione \"%s\" deve essere nell'intervallo [%<PRIu64>, "
-"%<PRIu64>]"
+msgstr "Il valore dell'opzione \"%s\" deve essere nell'intervallo [%<PRIu64>, %<PRIu64>]"
 
-#: ../src/xz/util.c:247
+#: src/xz/util.c:247
 msgid "Empty filename, skipping"
 msgstr "Nome file vuoto, viene saltato"
 
-#: ../src/xz/util.c:261
+#: src/xz/util.c:261
 msgid "Compressed data cannot be read from a terminal"
 msgstr "I dati compressi non possono essere letti da un terminale"
 
-#: ../src/xz/util.c:274
+#: src/xz/util.c:274
 msgid "Compressed data cannot be written to a terminal"
 msgstr "I dati compressi non possono essere scritti ad un terminale"
 
-#: ../src/common/tuklib_exit.c:39
+#: src/common/tuklib_exit.c:39
 msgid "Writing to standard output failed"
 msgstr "Scrittura sullo standard ouput non riuscita"
 
-#: ../src/common/tuklib_exit.c:42
+#: src/common/tuklib_exit.c:42
 msgid "Unknown error"
 msgstr "Errore sconosciuto"
diff --git a/src/liblzma/Makefile.am b/src/liblzma/Makefile.am
index 6d05fc6..ee34c83 100644
--- a/src/liblzma/Makefile.am
+++ b/src/liblzma/Makefile.am
@@ -24,7 +24,7 @@
 	-I$(top_srcdir)/src/liblzma/simple \
 	-I$(top_srcdir)/src/common \
 	-DTUKLIB_SYMBOL_PREFIX=lzma_
-liblzma_la_LDFLAGS = -no-undefined -version-info 5:0:0
+liblzma_la_LDFLAGS = -no-undefined -version-info 2:0:0
 
 include $(srcdir)/common/Makefile.inc
 include $(srcdir)/check/Makefile.inc
diff --git a/src/liblzma/api/lzma/base.h b/src/liblzma/api/lzma/base.h
index 43dde8d..fc165ab 100644
--- a/src/liblzma/api/lzma/base.h
+++ b/src/liblzma/api/lzma/base.h
@@ -478,12 +478,8 @@
 	 */
 	void *reserved_ptr1;
 	void *reserved_ptr2;
-	void *reserved_ptr3;
-	void *reserved_ptr4;
 	uint64_t reserved_int1;
 	uint64_t reserved_int2;
-	size_t reserved_int3;
-	size_t reserved_int4;
 	lzma_reserved_enum reserved_enum1;
 	lzma_reserved_enum reserved_enum2;
 
@@ -510,8 +506,7 @@
  */
 #define LZMA_STREAM_INIT \
 	{ NULL, 0, 0, NULL, 0, 0, NULL, NULL, \
-	NULL, NULL, NULL, NULL, 0, 0, 0, 0, \
-	LZMA_RESERVED_ENUM, LZMA_RESERVED_ENUM }
+	NULL, NULL, 0, 0, LZMA_RESERVED_ENUM, LZMA_RESERVED_ENUM }
 
 
 /**
diff --git a/src/liblzma/api/lzma/lzma.h b/src/liblzma/api/lzma/lzma.h
index 8d5fdb6..ae57728 100644
--- a/src/liblzma/api/lzma/lzma.h
+++ b/src/liblzma/api/lzma/lzma.h
@@ -381,6 +381,8 @@
 	 * with the currently supported options, so it is safe to leave these
 	 * uninitialized.
 	 */
+	void *reserved_ptr1;
+	void *reserved_ptr2;
 	uint32_t reserved_int1;
 	uint32_t reserved_int2;
 	uint32_t reserved_int3;
@@ -393,8 +395,6 @@
 	lzma_reserved_enum reserved_enum2;
 	lzma_reserved_enum reserved_enum3;
 	lzma_reserved_enum reserved_enum4;
-	void *reserved_ptr1;
-	void *reserved_ptr2;
 
 } lzma_options_lzma;
 
diff --git a/src/liblzma/api/lzma/stream_flags.h b/src/liblzma/api/lzma/stream_flags.h
index bbdd408..c6e7303 100644
--- a/src/liblzma/api/lzma/stream_flags.h
+++ b/src/liblzma/api/lzma/stream_flags.h
@@ -91,6 +91,8 @@
 	lzma_reserved_enum reserved_enum2;
 	lzma_reserved_enum reserved_enum3;
 	lzma_reserved_enum reserved_enum4;
+	lzma_reserved_enum reserved_enum5;
+	lzma_reserved_enum reserved_enum6;
 	lzma_bool reserved_bool1;
 	lzma_bool reserved_bool2;
 	lzma_bool reserved_bool3;
@@ -101,6 +103,8 @@
 	lzma_bool reserved_bool8;
 	uint32_t reserved_int1;
 	uint32_t reserved_int2;
+	uint32_t reserved_int3;
+	uint32_t reserved_int4;
 
 } lzma_stream_flags;
 
diff --git a/src/liblzma/common/common.c b/src/liblzma/common/common.c
index 0408e15..d1a9bed 100644
--- a/src/liblzma/common/common.c
+++ b/src/liblzma/common/common.c
@@ -186,12 +186,8 @@
 	// which would indicate that some new feature is wanted.
 	if (strm->reserved_ptr1 != NULL
 			|| strm->reserved_ptr2 != NULL
-			|| strm->reserved_ptr3 != NULL
-			|| strm->reserved_ptr4 != NULL
 			|| strm->reserved_int1 != 0
 			|| strm->reserved_int2 != 0
-			|| strm->reserved_int3 != 0
-			|| strm->reserved_int4 != 0
 			|| strm->reserved_enum1 != LZMA_RESERVED_ENUM
 			|| strm->reserved_enum2 != LZMA_RESERVED_ENUM)
 		return LZMA_OPTIONS_ERROR;
diff --git a/src/liblzma/common/filter_encoder.c b/src/liblzma/common/filter_encoder.c
index 635d812..436d2cc 100644
--- a/src/liblzma/common/filter_encoder.c
+++ b/src/liblzma/common/filter_encoder.c
@@ -226,7 +226,6 @@
 }
 
 
-/*
 extern LZMA_API(lzma_vli)
 lzma_chunk_size(const lzma_filter *filters)
 {
@@ -248,7 +247,6 @@
 
 	return max;
 }
-*/
 
 
 extern LZMA_API(lzma_ret)