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