Merge tag 'v5.2.4'

Sync with upstream.

* tag 'v5.2.4': (59 commits)
  Bump version and soname for 5.2.4.
  extra/scanlzma: Fix compiler warnings.
  Add NEWS for 5.2.4.
  Update THANKS.
  nothrow: use noexcept for C++11 and newer
  liblzma: Remove incorrect #ifdef from range_common.h.
  Update THANKS.
  tuklib_integer: New Intel C compiler needs immintrin.h.
  Update THANKS.
  Windows: Fix paths in VS project files.
  Windows: Add project files for VS2017.
  Windows: Move VS2013 files into windows/vs2013 directory.
  Fix or hide warnings from GCC 7's -Wimplicit-fallthrough.
  Docs: Fix a typo in a comment in doc/examples/02_decompress.c.
  xz: Fix "xz --list --robot missing_or_bad_file.xz".
  Build: Omit pre-5.0.0 entries from the generated ChangeLog.
  Update the Git repository URL to HTTPS in ChangeLog.
  Update the home page URLs to HTTPS.
  xz: Use POSIX_FADV_RANDOM for in "xz --list" mode.
  liblzma: Fix lzma_memlimit_set(strm, 0).
  ...
diff --git a/debian/.git-dpm b/debian/.git-dpm
new file mode 100644
index 0000000..9c1d147
--- /dev/null
+++ b/debian/.git-dpm
@@ -0,0 +1,8 @@
+# see git-dpm(1) from git-dpm package
+c49e1b3c33488a05467d754dc574b284578533ed
+c49e1b3c33488a05467d754dc574b284578533ed
+141d36d7861b6e8522c213194d5fba1e47af63e9
+141d36d7861b6e8522c213194d5fba1e47af63e9
+xz-utils_5.2.2.orig.tar.xz
+72c567d3263345844191a7e618779b179d1f49e0
+1016404
diff --git a/debian/.gitignore b/debian/.gitignore
new file mode 100644
index 0000000..7936ab7
--- /dev/null
+++ b/debian/.gitignore
@@ -0,0 +1,23 @@
+/changelog.upstream
+/generated-m4.list
+/generated-po.list
+/generated-build-aux.list
+
+*.debhelper.log
+*.debhelper
+
+/*-stamp
+
+/normal-build/
+/static-build/
+/xzdec-build/
+/tmp/
+
+/liblzma5/
+/xz-utils/
+/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..05a3a9f
--- /dev/null
+++ b/debian/autogen.sh
@@ -0,0 +1,32 @@
+#!/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
+! changelog_needs_update || exec sh debian/changelog.upstream.sh
diff --git a/debian/changelog b/debian/changelog
new file mode 100644
index 0000000..3fc3992
--- /dev/null
+++ b/debian/changelog
@@ -0,0 +1,683 @@
+xz-utils (5.2.4-0.1) unstable; urgency=low
+
+  * New upstream release.  Closes: #851615.
+  * Drop -lfreebsd-glue patch, fixed differently upstream.
+    - No longer Build-Depends: freebsd-glue on kfreebsd.
+  * liblzma:
+    - Remove compatibility tricks that permit sharing a process with
+      liblzma.so.2.  This means liblzma.a no longer depends on libdl
+      at run time.
+      Closes: #919950.  Thanks to Josh Triplett.
+    - Breaks: liblzma2 versions without symbol versioning.
+  * xz-utils:
+    - README.Debian: Remove notes about liblzma.so.2 compatibility.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Sun, 27 Jan 2019 15:02:13 -0800
+
+xz-utils (5.2.2-1.3) unstable; urgency=medium
+
+  * Non-maintainer upload.
+  * Force a constant /bin/sh for installed scripts. This helps the build
+    be reproducible; /bin/sh on Debian is always POSIX. (Closes: #806331)
+
+ -- Ximin Luo <infinity0@debian.org>  Wed, 28 Jun 2017 18:39:19 +0200
+
+xz-utils (5.2.2-1.2) unstable; urgency=medium
+
+  * Non-maintainer upload.
+  * link against libfreebsd-glue on kfreebsd-* (Closes: #840063)
+
+ -- Sebastian Andrzej Siewior <sebastian@breakpoint.cc>  Sat, 08 Oct 2016 15:11:19 +0200
+
+xz-utils (5.2.2-1.1) unstable; urgency=medium
+
+  * Non-maintainer upload.
+  * switch to git-dpm for packaging (closes: #540405)
+  * New Upstream (closes: #731634)
+   - no more "xzless error in line 49" (closes: #693537)
+   - xzgrep -h works (closes: #780268)
+  * update symbol file
+  * enable threads for the "normal build"
+
+ -- Sebastian Andrzej Siewior <sebastian@breakpoint.cc>  Mon, 26 Sep 2016 20:45:45 +0200
+
+xz-utils (5.1.1alpha+20120614-2.1) unstable; urgency=medium
+
+  [ Helmut Grohne ]
+  * Non-maintainer upload.
+
+  [ Colin Watson ]
+  * Remove build-dependency on perl; we use no non-trivial Perl modules so
+    the Essential perl-base is perfectly adequate, and an unadorned
+    build-dependency on perl is problematic for cross-building.
+    Closes: #697328.
+
+ -- Helmut Grohne <helmut@subdivi.de>  Thu, 18 Jun 2015 20:27:23 +0200
+
+xz-utils (5.1.1alpha+20120614-2) unstable; urgency=low
+
+  * Apply fixes from 5.1.2alpha.  Closes: #685220.
+    - liblzma: report a LZMA_DATA_ERROR when range encoded data starts
+      with a nonzero byte.  This is a sanity check to catch malformed
+      files that no known encoders produce.
+    - xz -v -v --list: Support for decompressing blocks with
+      zero-length uncompressed data was added in xz 5.0.2, not 5.0.3.
+    - xz.1: "xz --robot -v -v --list" gained a "minimum xz version to
+      decompress" field.
+  * xz-utils/README.Debian: Document differences from upstream.
+    Closes: #685217.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Mon, 10 Sep 2012 14:35:33 -0700
+
+xz-utils (5.1.1alpha+20120614-1) unstable; urgency=low
+
+  * New snapshot, taken from upstream commit f1675f76.
+    - liblzma: BCJ filters would return a spurious LZMA_BUF_ERROR
+      result in certain circumstances.  As a result, the xz tool
+      could produce inappropriate "Compressed data is corrupt" or
+      "Unexpected end of input" failures (reported in XZ Embedded as
+      Fedora bug 735408).
+    - "xz -v -v --list" prints the minimal XZ Utils version needed
+      to decompress a stream.
+    - "xz --robot -v --list" formats filenames more plainly.
+    - xzgrep does not fail unconditionally when the decompressor
+      dies with SIGPIPE due to unconsumed output any more.  This
+      makes the exit status from commands such as "xzgrep -q" and
+      "xzgrep -l" more predictable and convenient for scripts.
+    - examples/xz_pipe_decomp.c did not check correctly for
+      truncated input.
+    - There is a new set of sample programs.  The old ones have
+      been renamed to examples_old but are still maintained.
+  * liblzma:
+    - If dlopen() indicates that liblzma.so.2 is loaded, check fewer
+      reserved fields in the stream argument to the lzma_code()
+      function.  This prevents out-of-bounds reads when liblzma5
+      functions are called by code built against liblzma2 (see
+      <http://sourceware.org/PR12977>).
+    - Remove the lzma_code@Base compatibility symbol.
+      Closes: #649522.  Thanks to Eduard Bloch.
+    - Install run-time library to /lib so it can be used before /usr
+      is mounted.  Closes: #672120.
+    - Configure with --disable-threads for now to avoid needlessly
+      linking to libpthread and librt.
+  * liblzma-dev:
+    - Install an appropriate library for static linking instead of
+      the decompression-only version used to build xzdec.
+      Closes: #673001.  Thanks to Anton Tolchanov.
+    - Use the liblzma2-compatible version of lzma_code() in the
+      static library.
+    - Multi-Arch: same.  Thanks to Riku Voipio.
+    - Install new examples and revised old examples to
+      /usr/share/doc/liblzma-dev.
+  * xz-utils:
+    - Use update-alternatives to provide lzma, unlzma, lzcat, and
+      the rest of the lz* scripts without conflicting with the lzma
+      package.
+    - Conflicts: lzma versions before before 9.22-1, when it started
+      providing lzma, unlzma, and lzcat through the alternatives
+      system.
+    - Conflicts: and Replaces: xz-lzma.
+    - README.Debian: Update instructions on configuring the package
+      to provide lzma compatibility commands.
+  * Remove xz-lzma package.
+  * Use dpkg-buildflags to retrieve compiler flags, including
+    hardening options.  Build-Depends: dpkg-dev (>= 1.16.1).
+    Closes: #653739.
+  * debian/rules:
+    - build-arch: Simplify by using a double-colon rule instead of a
+      dependency on a dummy noop target.
+    - build-indep: Assume doxygen is available, instead of trying to
+      get by by assuming the caller meant to invoke build-arch when
+      it is missing.  Build-Depends: dpkg-dev (>= 1.16.2).
+    - Rearrange for clarity.
+  * debian/symbols: Bump the minimal version for lzma_code(),
+    lzma_raw_buffer_decode(), and lzma_raw_buffer_encode().
+  * Use machine-readable copyright-format 1.0.
+  * Update copyright file.
+  * Standards-Version: 3.9.3 (checked).
+  * debian/changelog.upstream.sh: Use ‘git rev-list | git diff-tree’
+    instead of ‘git log’ to avoid depending on the build system’s
+    configuration.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Sat, 16 Jun 2012 15:03:17 -0500
+
+xz-utils (5.1.1alpha+20110809-3) unstable; urgency=low
+
+  * liblzma: Match upstream ABI.
+    - Remove the lzma_chunk_size() function.
+    - A few ABI tweaks to reserved space in structures.
+    - Enable ELF symbol versioning.
+    - Bump soname to 5.
+    - Continue to leave out threading support, since the relevant
+      interfaces in liblzma are not yet stable.
+  * xz-utils/README.Debian: Remove note on ABI differences.
+  * Remove liblzma/README.Debian.
+  * liblzma: Introduce a lzma_code@Base compatibility symbol to ensure
+    programs linked against unversioned symbols from liblzma2 can
+    share a process image with liblzma5 without breaking.
+  * debian/symbols: XZ_5.0 symbols come from liblzma5.  Build-Depends:
+    dpkg-dev (>= 1.15.6); thanks to Jakub Wilk for a reminder.
+  * debian/symbols: The lzma_code@Base symbol is not guaranteed to
+    continue to exist in the future, so tell dpkg-shlibdeps to produce
+    an error if some package manages to use it.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Thu, 20 Oct 2011 21:31:31 -0500
+
+xz-utils (5.1.1alpha+20110809-2) unstable; urgency=low
+
+  * debian/rules build-arch: Do not trigger an infinite "make"
+    recursion loop when DEB_BUILD_OPTIONS=nocheck.  Closes: #638071.
+    Thanks to Thorsten Glaser.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Tue, 16 Aug 2011 18:11:47 -0500
+
+xz-utils (5.1.1alpha+20110809-1) unstable; urgency=low
+
+  * New snapshot, taken from upstream commit 5c5b225.
+    - liblzma:
+      - lzma_stream_encoder() leaked memory.
+      - The LZMA2 decoder rejected streams that decompress to a
+        zero-length string.
+      - lzma_easy_buffer_encode() and lzma_stream_buffer_encode()
+        used to write such streams when asked to compress a 0-length
+        buffer.
+      - lzma_index_init() would segfault on allocation failure.
+      - liblzma: Various functions check their arguments (especially
+        choice of integrity check) better, making it harder to create
+        a corrupt .xz file instead of receiving an error.
+    - xz and scripts:
+      - "xz -v -v --list" would read and try to free() uninitialized
+        memory, continuing past the end of an on-stack array, when
+        asked to describe certain corrupted XZ files.
+      - xz -S.suf now refuses to compress a file whose name already
+        ends with the suffix “.suf”.
+      - xz --force can be used to compress setuid, setgid, sticky,
+        and multiply linked files.
+      - xz uses posix_fadvise() to speed up sequential input.
+      - xz --block-size forces a full flush periodically during
+        compression, for better random-access reading support and to
+        make simple parallelism possible in the future.
+      - unxz: The new --single-stream option discards trailing
+        garbage after the end of the first stream.
+      - xzdiff can read gzip- and bzip2-compressed files.
+      - xzdiff and xzgrep can read lzop-compressed files.
+      - xzegrep and xzfgrep perform extended regex and fixed-string
+        matches, respectively.  (The previous behavior was to always
+        use basic regexes.)
+      - xzgrep -l (= --files-with-match) works.
+      - The Czech “xz --help” output uses a more correct term for
+        files with holes.  Thanks to Petr Hubený.  Closes: #605762.
+      - xz: New Polish and French translations.
+    - The Doxygen-generated documentation uses short, relative paths
+      to name source files.  Closes: #572273.
+  * Update copyright file.
+  * Remove example programs from debian/examples.  They are included
+    in the upstream source package now.
+  * Move liblzma to an architecture-specific directory, so the
+    native library and foreign-architecture versions can be installed
+    simultaneously.
+    - liblzma2: Pre-Depends: multiarch-support.
+    - Use debhelper compatibility level 9.  This requires passing
+      the dh sequence name before other options when invoking dh in
+      debian/rules.  Build-Depends: debhelper (>= 8.1.3).
+    - liblzma2, liblzma-dev: Install files under /usr/lib/<triplet>
+      instead of /usr/lib.
+    - Thanks to Steve Langasek for explaining the process on the
+      Debian wiki.
+  * Standards-Version: 3.9.2 (checked).
+  * debian/control: liblzma2 is Multi-Arch: same, while xz-utils
+    and xzdec are Multi-Arch: foreign.  Closes: #637883.  Thanks to
+    Riku Voipio.
+  * debian/symbols: Bump the minimal version for LZMA2 encoder
+    functions that reject more bad arguments and skip empty blocks.
+  * debian/rules: ./configure --disable-symbol-versions for now.
+  * debian/rules: Provide build-arch and build-indep targets that
+    only build the code and the API documentation, respectively.
+    Thanks to Roger Leigh for suggesting it through lintian.
+    Build-Depends: debhelper (>= 8.9.0).
+  * debian/rules: Treat DEB_BUILD_OPTIONS=nocheck as a request not to
+    run build-time tests.  Thanks to Thorsten Glaser for a reminder.
+    Closes: #627209.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Tue, 16 Aug 2011 00:40:31 -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..afaec0f
--- /dev/null
+++ b/debian/changelog.upstream.sh
@@ -0,0 +1,133 @@
+#!/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 rev-list --no-merges "$limiter$last_cid" |
+	git diff-tree --date=iso --stat --format=medium --stdin
+	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..59248e4
--- /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
+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..ec63514
--- /dev/null
+++ b/debian/compat
@@ -0,0 +1 @@
+9
diff --git a/debian/control b/debian/control
new file mode 100644
index 0000000..59ccae3
--- /dev/null
+++ b/debian/control
@@ -0,0 +1,115 @@
+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 (>= 8.9.0), dpkg-dev (>= 1.16.2),
+ 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.3
+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: liblzma5
+Section: libs
+Architecture: any
+Depends: ${shlibs:Depends}, ${misc:Depends}
+Pre-Depends: ${misc:Pre-Depends}
+Breaks: liblzma2 (<< 5.1.1alpha+20110809-3~)
+Multi-Arch: same
+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}
+Multi-Arch: foreign
+Conflicts: lzma (<< 9.22-1), xz-lzma
+Breaks: lzip (<< 1.8~rc2)
+Replaces: lzip (<< 1.8~rc2), xz-lzma
+Provides: lzma
+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: xzdec
+Priority: extra
+Architecture: any
+Depends: ${shlibs:Depends}, ${misc:Depends}
+Multi-Arch: foreign
+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
+Multi-Arch: same
+Architecture: any
+Depends: liblzma5 (= ${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..3327901
--- /dev/null
+++ b/debian/copyright
@@ -0,0 +1,383 @@
+Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
+Upstream-Name: XZ Utils
+Upstream-Contact:
+ Lasse Collin <lasse.collin@tukaani.org>
+ http://tukaani.org/xz/lists.html
+Source:
+ http://tukaani.org/xz
+ http://git.tukaani.org/xz.git
+Comment:
+ 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).
+ .
+ This file describes the source package.  The binary packages contain
+ some files derived from other works: for example, images in the API
+ documentation come from Doxygen.
+License:
+ 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.
+
+Files: *
+Copyright: 2006-2012, Lasse Collin
+           1999-2008, Igor Pavlov
+           2006, Ville Koskinen
+           1998, Steve Reid
+           2000, Wei Dai
+           2003, Kevin Springle
+           2009, Jonathan Nieder
+           2010, Anders F Björklund
+License: PD
+ This file has been put in the public domain.
+ You can do whatever you want with this file.
+Comment:
+  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
+Other-Authors: Paul Eggert, Ulrich Drepper
+License: 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.
+Other-Authors: Ulrich Drepper
+License: 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.
+Other-Authors: Bruno Haible, Paul Eggert
+License: permissive-fsf
+
+Files: m4/acx_pthread.m4
+Copyright: © 2008, Steven G. Johnson <stevenj@alum.mit.edu>
+License: Autoconf
+
+Files: Doxyfile.in
+Copyright: © 1997-2007 by Dimitri van Heesch
+Origin: Doxygen 1.4.7
+License: GPL-2
+
+Files: src/liblzma/check/crc32_table_?e.h
+ src/liblzma/check/crc64_table_?e.h
+ src/liblzma/lzma/fastpos_table.c
+ src/liblzma/rangecoder/price_table.c
+Copyright: none, automatically generated data
+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
+Source-Code: tests/bcj_test.c
+License: PD
+ This file has been put into the public domain.
+ You can do whatever you want with this file.
+Comment:
+ 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 po/fr.po
+Copyright: 2010, Marek Černocký
+           2010, Andre Noll
+           2011, Adrien Nader
+License: PD
+ This file is put in the public domain.
+
+Files: po/it.po po/pl.po
+Copyright: 2009, 2010, Gruppo traduzione italiano di Ubuntu-it
+           2010, Lorenzo De Liso
+           2009, 2010, 2011, Milo Casagrande
+           2011, Jakub Bogusz
+License: PD
+ This file is in the public domain
+
+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
+
+Files: dos/config.h
+Copyright: © 1992, 1993, 1994, 1999, 2000, 2001, 2002, 2005
+             Free Software Foundation, Inc.
+           2007-2010, Lasse Collin
+Other-Authors: Roland McGrath, Akim Demaille, Paul Eggert,
+               David Mackenzie, Bruno Haible, and many others.
+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.
+ .
+ [...]
+ .
+  # 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.
+ .
+ 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
+Origin: gettext-runtime/po/Makevars (gettext-0.12)
+Copyright: © 2003 Free Software Foundation, Inc.
+Authors: Bruno Haible
+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: 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-2012, Jonathan Nieder
+License: PD-debian
+ The Debian packaging files are in the public domain.
+ You may freely use, modify, distribute, and relicense them.
+
+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’.
+
+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’.
+
+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’.
+
+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 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’.
+
+License: permissive-fsf
+ 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.
+
+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.
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..9c1a7dc
--- /dev/null
+++ b/debian/liblzma-dev.docs
@@ -0,0 +1,5 @@
+doc/xz-file-format.txt
+doc/lzma-file-format.txt
+doc/examples
+doc/examples_old
+TODO
diff --git a/debian/liblzma-dev.install b/debian/liblzma-dev.install
new file mode 100644
index 0000000..97de04c
--- /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..06a0344
--- /dev/null
+++ b/debian/liblzma-dev.links
@@ -0,0 +1,3 @@
+usr/share/doc/liblzma5/AUTHORS usr/share/doc/liblzma-dev/AUTHORS
+usr/share/doc/liblzma5/THANKS usr/share/doc/liblzma-dev/THANKS
+usr/share/doc/liblzma5/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/liblzma5.docs b/debian/liblzma5.docs
new file mode 100644
index 0000000..aa4127d
--- /dev/null
+++ b/debian/liblzma5.docs
@@ -0,0 +1,3 @@
+AUTHORS
+THANKS
+NEWS
diff --git a/debian/liblzma5.install b/debian/liblzma5.install
new file mode 100644
index 0000000..1b15eaa
--- /dev/null
+++ b/debian/liblzma5.install
@@ -0,0 +1 @@
+lib/*/liblzma.so.*
diff --git a/debian/rules b/debian/rules
new file mode 100755
index 0000000..6033114
--- /dev/null
+++ b/debian/rules
@@ -0,0 +1,168 @@
+#!/usr/bin/make -f
+
+build clean install binary-arch binary-indep binary:
+	+dh $@ --parallel $(opt_no_act)
+
+# Runs tests, too, if and only if nocheck is unset (see below).
+build-arch:: build-plain build-static build-small
+
+build-indep: debian/normal-build/Makefile
+	cd debian/normal-build && doxygen Doxyfile
+
+autoreconf_sources := $(wildcard Makefile.am */Makefile.am */*/Makefile.am)
+autoreconf_sources += configure.ac
+
+autoreconf_products := $(wildcard Makefile.in */Makefile.in */*/Makefile.in)
+autoreconf_products += configure	# and more, but these will do
+
+configure_input := $(autoreconf_products)
+configure_input += Doxyfile.in
+configure_input += src/liblzma/liblzma.pc.in
+configure_input += $(wildcard src/scripts/*.in)
+
+override_dh_auto_clean:
+	rm -f debian/*-stamp
+	dh_auto_clean --builddirectory debian/xzdec-build
+	dh_auto_clean --builddirectory debian/normal-build
+	dh_auto_clean --builddirectory debian/static-build
+	sh debian/clean.sh
+
+override_dh_auto_install:
+	dh_auto_install --builddirectory debian/xzdec-build
+	dh_auto_install --builddirectory debian/normal-build
+	dh_auto_install --builddirectory debian/static-build
+	set -e; arch=$$(dpkg-architecture -qDEB_HOST_MULTIARCH); \
+	install -d debian/tmp/lib/$$arch; \
+	mv debian/tmp/usr/lib/$$arch/liblzma.so.* debian/tmp/lib/$$arch/; \
+	dso=$$(basename $$(readlink debian/tmp/usr/lib/$$arch/liblzma.so)); \
+	ln -s -f /lib/$$arch/$$dso debian/tmp/usr/lib/$$arch/liblzma.so
+
+override_dh_installchangelogs:
+	dh_installchangelogs ChangeLog
+
+build-plain: debian/normal-build/Makefile
+	dh_auto_build --builddirectory debian/normal-build
+
+build-static: debian/static-build/Makefile
+	dh_auto_build --builddirectory debian/static-build
+
+build-small: debian/xzdec-build/Makefile
+	dh_auto_build --builddirectory debian/xzdec-build
+
+debian/test-plain-stamp: | build-plain
+	dh_auto_test --builddirectory debian/normal-build
+	>$@
+
+debian/test-static-stamp: | build-static
+	dh_auto_test --builddirectory debian/static-build
+	>$@
+
+debian/test-xzdec-stamp: | build-small
+	$(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
+	>$@
+
+debian/normal-build/Makefile debian/normal-build/Doxyfile: $(configure_input)
+	dh_auto_configure --builddirectory debian/normal-build -- \
+		$(opt_reproduce) \
+		--enable-threads --disable-static \
+		$(opt_optimize) $(opt_quiet) \
+		--disable-xzdec --disable-lzmadec
+
+debian/static-build/Makefile: $(configure_input)
+	dh_auto_configure --builddirectory debian/static-build -- \
+		$(opt_reproduce) \
+		--disable-threads --disable-shared \
+		--enable-liblzma2-compat \
+		$(opt_optimize) $(opt_quiet) \
+		--disable-lzmainfo --disable-scripts \
+		--disable-xzdec --disable-lzmadec \
+		--disable-xz --disable-lzma-links
+
+debian/xzdec-build/Makefile: $(configure_input)
+	dh_auto_configure --builddirectory debian/xzdec-build -- \
+		$(opt_reproduce) \
+		--disable-shared --disable-nls --disable-encoders \
+		--enable-small --disable-threads \
+		--disable-liblzma2-compat \
+		$(opt_optimize_small) $(opt_quiet) \
+		--disable-lzmainfo --disable-scripts \
+		--disable-xz --disable-lzma-links
+
+$(autoreconf_products): $(autoreconf_sources)
+	autoreconf -is
+
+small_flags_env =
+small_flags_env += DEB_CFLAGS_MAINT_STRIP='-O2 -O3'
+small_flags_env += DEB_CFLAGS_MAINT_PREPEND=-Os
+flags_cmd = dpkg-buildflags --export=configure
+opt_optimize = $(shell $(flags_cmd))
+opt_optimize_small = $(shell $(small_flags_env) $(flags_cmd))
+opt_reproduce = gl_cv_posix_shell=/bin/sh
+
+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
+    opt_optimize_small += --disable-assembler
+endif
+
+ifneq (,$(findstring n,$(MAKEFLAGS)))
+    opt_no_act = --no-act
+endif
+
+ifneq (,$(filter quiet,$(DEB_BUILD_OPTIONS)))
+    opt_quiet = --quiet
+    MAKEFLAGS += --quiet
+endif
+
+ifeq (,$(filter nocheck,$(DEB_BUILD_OPTIONS)))
+build-arch:: debian/test-plain-stamp
+build-arch:: debian/test-static-stamp
+build-arch:: debian/test-xzdec-stamp
+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/symbols b/debian/symbols
new file mode 100644
index 0000000..4a95cf5
--- /dev/null
+++ b/debian/symbols
@@ -0,0 +1,7 @@
+liblzma.so.5 liblzma5 #MINVER#
+* Build-Depends-Package: liblzma-dev
+ (symver)XZ_5.0 5.1.1alpha+20110809
+ lzma_code@XZ_5.0 5.1.1alpha+20120614
+ lzma_raw_buffer_decode@XZ_5.0 5.1.1alpha+20120614
+ lzma_raw_buffer_encode@XZ_5.0 5.1.1alpha+20120614
+ (symver)XZ_5.2 5.2.2
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-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..7a06d2b
--- /dev/null
+++ b/debian/xz-utils.README.Debian
@@ -0,0 +1,82 @@
+XZ Utils for Debian
+===================
+
+Contents:
+ 1. History
+ 2. Differences from standard XZ Utils
+ 3. LZMA Utils compatibility
+ 4. Configuration
+
+History
+-------
+
+XZ Utils should have been called LZMA Utils 4.42, but it came too late.
+The old .lzma file format has some problems, worst of which is the lack
+of magic number, but it gets enough use to still need to be supported.
+See /usr/share/doc/xz-utils/history.txt.gz for the full story.
+
+Differences from standard XZ Utils
+----------------------------------
+
+XZ Utils 5.1.y has some experimental features which are disabled in
+Debian to allow interfaces to evolve.
+
+abi-threaded-encoder
+  Disable threaded compression in liblzma and xz.
+
+abi-version-script
+  liblzma: Do not pretend to satisfy dependencies on XZ_5.1.1alpha.
+
+man-date, man-xz-lvv-minver (from upstream)
+  Document the "Minimum version required to decompress" field of
+  "xz --robot -v -v --list" output.
+
+xz-lvv-empty-block-minver (from upstream)
+  Fix the version number printed by "xz -lvv" for files with Blocks
+  of zero uncompressed_size: the decoder bug preventing reading such
+  files was fixed in xz 5.0.2, not 5.0.3.
+
+decoder-check-first-0x00 (from upstream)
+  Check that the first byte of range encoded data is zero to catch
+  broken files sooner.
+
+Changes in 5.1.2alpha not applied:
+
+  Docs: Language fix to 01_compress_easy.c
+  xz: Add incomplete support for --block-list
+  INSTALL: Document --enable-symbol-versions
+  configure: Add a comment about *-linux tuples for clarity
+  TODO: Warn that threads and fork() do not mix well
+  Bump the version number and update NEWS for 5.1.2alpha
+
+LZMA Utils compatibility
+------------------------
+
+To support old scripts and muscle memory, XZ Utils can emulate the
+legacy LZMA Utils interface.  To use this feature, you can install some
+subset of the following list of symbolic links to your $PATH.
+
+	lzma, unlzma, lzcat -> /usr/bin/xz
+	lzgrep, lzegrep, lzfgrep -> /usr/bin/xzgrep
+	lzless -> /usr/bin/xzless
+	lzmore -> /usr/bin/xzmore
+	lzdiff, lzcmp -> /usr/bin/xzdiff
+
+If you would like XZ Utils to provide these commands by default for
+all users, use "update-alternatives --config lzma".
+
+Configuration
+-------------
+
+The memory usage of xz can vary from a few hundred kilobytes to several
+gigabytes depending on the compression settings.  If you would like xz
+to automatically scale down its settings while compressing to decrease
+memory usage, you can declare so by adding an option like the
+following to your environment (e.g., in ~/.profile):
+
+	XZ_DEFAULTS=--memlimit-compress=256MiB
+	export XZ_DEFAULTS
+
+See the "Memory usage" section of the xz(1) manual page for details.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Mon, 10 Sep 2012 14:35:27 -0700
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/xz-utils.postinst b/debian/xz-utils.postinst
new file mode 100644
index 0000000..a2cf46f
--- /dev/null
+++ b/debian/xz-utils.postinst
@@ -0,0 +1,19 @@
+#!/bin/sh
+set -e
+
+slave () {
+	dir=$1 filename=$2 target=$3
+	echo "--slave $dir/$filename $filename $dir/$target"
+}
+
+update-alternatives --install /usr/bin/lzma lzma /usr/bin/xz 20 $(
+	slave /usr/share/man/man1 lzma.1.gz xz.1.gz
+	slave /usr/bin unlzma unxz
+	slave /usr/share/man/man1 unlzma.1.gz unxz.1.gz
+	for util in cat more less diff cmp grep egrep fgrep
+	do
+		slave /usr/bin lz$util xz$util
+		slave /usr/share/man/man1 lz$util.1.gz xz$util.1.gz
+	done
+)
+#DEBHELPER#
diff --git a/debian/xz-utils.prerm b/debian/xz-utils.prerm
new file mode 100644
index 0000000..8dd3d8f
--- /dev/null
+++ b/debian/xz-utils.prerm
@@ -0,0 +1,10 @@
+#!/bin/sh
+set -e
+if
+	test "$1" != upgrade ||
+	# downgrading to a pre-alternatives version
+	dpkg --compare-versions "$2" lt-nl 5.1.1alpha+20120614-1
+then
+	update-alternatives --remove lzma /usr/bin/xz
+fi
+#DEBHELPER#
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