xz-utils (5.2.5-2.1) [PTS] [DDPO]
OLD: VCS is behind the version in the archive: 5.2.4-1 < 5.2.5-2.1.Hint: This git repository uses http. You might need to run git update-server-info to update the auxiliary info files.
- Git: https://repo.or.cz/r/xz/debian
- Branch: master
- Path: debian/changelog
- Browser: https://repo.or.cz/w/xz/debian
- Last scan: 2022-07-02 08:56:07+00
- Next scan: 2022-07-03 09:46:00+00
- Debian changelog in Git:
xz-utils (5.2.4-1) unstable; urgency=low * New upstream release. Closes: #851615. * Standards-Version: 4.3.0 (checked). * Use an XZ compressed tarball for upstream source. * Add upstream signing key and verify tarball at "uscan" time. * Drop patches; all were applied or otherwise fixed upstream. * Update copyright file. * debian/control: - Use a stable repo.or.cz URL for packaging repo. Closes: #826382. Thanks to Rolf Leggewie. - Use https for upstream homepage URL. - No longer Build-Depends: freebsd-glue on kfreebsd. * get-orig-source: Use https for upstream Git repository. * 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. - Priority: optional. * xz-utils: - Lower priority of xz-utils to standard. Closes: #685203. - README.Debian: Remove notes about differences from upstream. - Remove old NEWS.Debian. -- Jonathan Nieder <jrnieder@gmail.com> Sun, 27 Jan 2019 17:09:34 -0800
- This branch is 21 commits ahead of tag v5.2.4
- Git log:
commit 0eff79b00ba591400f0a6afde908647a83acbf93 Author: Jonathan Nieder <jrnieder@gmail.com> Date: Sun Jan 27 17:09:39 2019 -0800 debian: Prepare for upload commit 116a21b293479f50f8ce239ef74561a0359521c0 Author: Jonathan Nieder <jrnieder@gmail.com> Date: Sun Jan 27 17:08:20 2019 -0800 debian/xz-utils: Remove old NEWS.Debian This contains advice from 2010 about upgrading from a very early version of the package. It should not be relevant for new installations or for people upgrading from more recent versions, so remove the old news and avoid some clutter. commit 247c80e1191dc91b054a83964afa4d4332107bd2 Author: Jonathan Nieder <jrnieder@gmail.com> Date: Sun Jan 27 17:06:41 2019 -0800 debian/control: New Debian policy version commit 0106f555736c5a94052b758cc09f7ca4ac40a454 Author: Jonathan Nieder <jrnieder@gmail.com> Date: Sun Jan 27 16:54:58 2019 -0800 debian/watch: Download upstream source more securely Use https instead of http for transport for transport-layer privacy and integrity protection. More importantly, specify pgpsigurlmangle and a signing key to allow "uscan" to check that the tarball was genuinely released by Lasse Collin. Based on advice from Policy 4.11. While we're here, use the XZ compressed tarball, since it's a little smaller. commit a9c81252e0db470509cb4f618ffeb7c12d4ed37a Author: Jonathan Nieder <jrnieder@gmail.com> Date: Sun Jan 27 16:41:56 2019 -0800 debian/control: Follow current policy for Priority field Policy 2.5 explains: The priority of a package is determined solely by the functionality it provides directly to the user. The priority of a package should not be increased merely because another higher-priority package depends on it and: extra This priority is deprecated. Use the optional priority instead. This means we can treat liblzma5 and xzdec as optional now. commit d32587c9bc981ad0430f4ee6fcd60eb38ba60a0d Author: Jonathan Nieder <jrnieder@gmail.com> Date: Sun Jan 27 16:38:54 2019 -0800 debian/copyright: Use https URL for format According to Debian policy's upgrading checklist, the https form of the copyright-format URL is now allowed and preferred in the Format field. commit de2367985e1765c25e98f31053e1e3017ab3133f Author: Jonathan Nieder <jrnieder@gmail.com> Date: Sun Jan 27 16:27:23 2019 -0800 debian/copyright: Update based on upstream changes No major changes, but a few minor ones. commit 8b5e17be5de2ecd7b6b5c1583372fefa6eb1f385 Author: Jonathan Nieder <jrnieder@gmail.com> Date: Sun Jan 27 16:21:09 2019 -0800 debian: Use https for upstream URLs tukaani.org once didn't support TLS, but nowadays it does. Use the https URL so that people clicking it get better privacy and integrity support. The latter is especially important for the website of a project like this so that people don't download tampered code. commit fa45221b588c2262f912107a4802cf1fa347f217 Author: Jonathan Nieder <jrnieder@gmail.com> Date: Sun Jan 27 16:13:43 2019 -0800 debian/control: Vcs-Git: https://repo.or.cz/r/xz/debian Alioth (git.debian.org) has been shut down. Point to a copy of the packaging repository on repo.or.cz that should be more stable over time. Another advantage is that this URL uses https, so it has better privacy and integrity properties. Fixes: https://bugs.debian.org/826382 commit 3ed34568d0b311a6998a1aa8f6352b13849483ed Author: Jonathan Nieder <jrnieder@gmail.com> Date: Sat Jun 23 17:44:04 2012 -0500 debian/control: xz-utils is not pseudo-essential any more Since dpkg 1.16.4~6 (libdpkg: Add liblzma compression support, 2012-06-07), the xz command is no longer needed in a minimal Debian system. Based on its list of reverse-dependencies, it is even safe to lower the priority to optional. Let's make it "standard", since it is not part of the traditional Unix toolset but is a useful component even in reasonably small character-mode systems. Signed-off-by: Jonathan Nieder <jrnieder@gmail.com> commit f9d96de8567fabde39e028430fec69bbbf1e1737 Author: Jonathan Nieder <jrnieder@gmail.com> Date: Sun Jan 27 15:34:52 2019 -0800 debian: Update documentation to reflect package matching upstream Now that the library matches a standard upstream release, we do not need to document differences from the upstream ABI in the Debian README. commit 41377e317dedbe28baabaf11285e542465e7cebd Merge: 53b73b7 b5be61c Author: Jonathan Nieder <jrnieder@gmail.com> Date: Sun Jan 27 15:24:18 2019 -0800 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). ... commit 53b73b7b0a23dd46de515d179ffbd03e27d2ffa9 Author: Jonathan Nieder <jrnieder@gmail.com> Date: Sun Jan 27 15:22:49 2019 -0800 debian/liblzma: Drop liblzma.so.2 compatibility liblzma.so.2 was a Debian-specific ABI that has not been in Debian since Debian 6.0, which reached its end of support in February, 2016. Simplify by removing support for processes making use of that ABI and the current upstream ABI at the same time. Requested-by: Josh Triplett <josh@joshtriplett.org> commit 8ab1be2e92f45ad9a10d6179107067b27e24a432 Author: Ximin Luo <infinity0@debian.org> Date: Wed Jun 28 17:10:00 2017 +0000 debian/rules: Use /bin/sh as POSIX shell regardless of build environment While working on the “reproducible builds” effort [1], we have noticed that xz-utils could not be built reproducibly. When dash is the default shell, the configure script m4/posix-shell.m4 will select /bin/bash as the “conforming POSIX shell”. When bash is the default shell, /bin/sh will be selected. The binary package currently in sid on amd64 uses /bin/bash. As bash is currently Essential:yes (#103284), this is probably not a problem. But I wonder if they would not be troubles if the package was built on an environment were bash is the default shell, but later installed on a system where /bin/dash is /bin/sh. So for reproducibility and safety reason, it would be best if the selected path to the shell would not depend on the build environment. [jrnieder@gmail.com: imported from uploaded NMU] commit 5909127a913b7a495872259dddaa3583e3d30575 Merge: 21bf900 f7ef25f Author: Sebastian Andrzej Siewior <sebastian@breakpoint.cc> Date: Sat Oct 8 15:11:19 2016 +0200 debian: Link against libfreebsd-glue on kfreebsd cpuset_getaffinity() is available on kfreebsd but not in libc but in libfreebsd-glue. This code adds the library if kfreebsd is detected so cpuset_getaffinity() can be used. Without this, tuklib_cpucores will detect `cpuset' because the compile test succeeds and later it fails at link phase. [jrnieder@gmail.com: imported from uploaded NMU] commit f7ef25f72cc2a3d2634a581bf39400532b1e8dc5 Author: Sebastian Andrzej Siewior <sebastian@breakpoint.cc> Date: Sat Oct 8 14:55:42 2016 +0200 kfreebsd: link against libfreebsd-glue cpuset_getaffinity() is available on kfreebsd but not in libc but in libfreebsd-glue. This code adds the library if kfreebsd is detected so cpuset_getaffinity() can be used. Without it tuklib_cpucores will detect `cpuset' because the compile test succeeds and later it fails at link phase. Patch-Name: kfreebsd-link-against-libfreebsd-glue.patch Signed-off-by: Sebastian Andrzej Siewior <sebastian@breakpoint.cc> commit 3b1b36a4b2a2739552dd489c64b1a818bb9146b2 Author: Jonathan Nieder <jrnieder@gmail.com> Date: Sat Jun 16 05:57:42 2012 -0500 liblzma: make dlopen()-based liblzma2 compatibility optional Suppose I want to build a statically linked program: gcc -static -o app app.c -lrpm -llzma Suppose further that librpm.a was built against a pre-5.0 version of liblzma so it does not allocate as much space for reserved fields at the end of lzma_stream as the current API requires. (This is a hypothetical scenario --- Debian librpm does not provide a static library.) If liblzma uses unpatched lzma_code() from XZ Utils >= 5.0, then during calls to librpm that try to compress or decompress an xz-compressed RPM, lzma_code’s reserved field checks will overflow the buffer and segfault. If liblzma uses the modified version of lzma_code() which asks libdl if liblzma.so.2 is resident and refrains from checking reserved fields past the end of the old lzma_stream struct when the answer is "yes", the behavior is no better. The dynamic library liblzma.so.2 is _not_ resident, so lzma_code() dutifully reads reserved fields past the end of the buffer --- segfault. So the only safe behavior in the static library is to unconditionally disable checks that might break for callers we want to continue to support. The new "./configure --enable-liblzma2-compat" option implements all three sets of semantics: - "./configure --disable-liblzma2-compat" means to check the full set of reserved fields unconditionally. You can use this to check how your application would behave with the unpatched library. - "./configure --enable-liblzma2-compat=auto" means to skip checks of reserved fields past the old end of struct lzma_stream when liblzma.so.2 is resident. If a DSO built against liblzma2 shares the process image, the ABI-incompatible checks are skipped for safety, whereas in the usual case when no such DSO is resident, the full set of checks is run to help application developers remember to zero all reserved fields. - "./configure --enable-liblzma2-compat" makes liblzma skip the ABI-incompatible checks unconditionallty. You can use this if you want your copy of liblzma to be usable by static libraries that were built against the old library. Patch-Name: liblzma-make-dlopen-based-liblzma2-compatibility-opt.patch Signed-off-by: Jonathan Nieder <jrnieder@gmail.com> commit 00a784e9a4ab33ebb0a42e35444c8b25a3a36bda Author: Jonathan Nieder <jrnieder@gmail.com> Date: Thu May 17 18:49:00 2012 -0500 liblzma: skip ABI-incompatible check when liblzma.so.2 is loaded When liblzma started using ELF symbol versioning at the same time as a soname bump (2 → 5) and a small increase in the reserved space at the end of the lzma_stream structure checked by lzma_code, introducing an unversioned compatibility symbol to ease the transition seemed like a great idea. After all: - most applications only use one version of the library (liblzma.so.2 or liblzma.so.5) and would obviously work fine - applications linking to the new version of the library (liblzma.so.5) should use the default, versioned lzma_code symbol so errors initializing the reserved space can be noticed - symbol versioning should ensure application/library mixtures independently making use of both versions of the library also work. Calls using the unversioned symbol names would be resolved using the old symbol from liblzma.so.2 or the compatibility symbol from liblzma.so.5, avoiding segfaults and spurious LZMA_OPTIONS_ERROR errors. - application/library mixtures using both versions of the library and passing lzma_stream objects between the two would break, but that was never supposed to be supported, anyway. Three toolchain bugs dash that plan. Current (2.22) versions of the gold linker cannot be used to build libraries providing versioned and unversioned symbols with the same name. On the other hand, BFD ld doesn't mind. So GNU gold refuses to link versions of liblzma including the compatibility symbol (PR12261): /usr/bin/ld: error: symbol lzma_code has undefined version Annoying, but livable. liblzma with the compatibility symbol just has to be built with BFD ld. More importantly, gold does not support linking to libraries providing versioned and unversioned symbols with the same name. If I link some code to a version of liblzma with the compatibility symbol: ld -o demo demo.o -llzma then the documented behavior, implemented by BFD ld, is to interpret calls to lzma_code as referring to the default version (lzma_code@XZ_5.0). Current versions of GNU gold treat such calls as referring to whichever symbol comes first in liblzma.so.5's symbol table. If the unversioned symbol comes first (and in Debian liblzma5 5.1.1alpha+20110809-3 it does), GNU gold will mislink new applications to use the unversioned compatibility symbol (PR13521): $ ld.gold -o test.gold test.o -llzma $ eu-readelf -s test.gold | grep lzma_code 1: 0000000000000000 0 FUNC GLOBAL DEFAULT UNDEF lzma_code 5: 0000000000000000 0 FUNC GLOBAL DEFAULT UNDEF lzma_code There is no warning. Worse, ld.so from glibc unpredictably will sometimes use the versioned symbol to resolve references to the unversioned base version when both are present (PR12977). Clearly no one has been testing mixtures of versioned and unversioned symbols at all, and we cannot trust the symbol resolution process to do anything in particular for them. This patch implements an alternative method to implement the same compatibility goals described above. - No more compatibility symbol. liblzma.so.5 will define lzma_code only once, with version XZ_5.0. - When initializing an lzma_stream object, use dlopen("liblzma.so.2", RTLD_NOLOAD) to detect whether the caller might have been expecting the old ABI, and store that information in the private stream->internal->liblzma2_compat field. - In lzma_code, when checking reserved fields, skip fields past the old end of the lzma_stream structure ifying reserved fields if and only if this->internal->liblzma2_compat is false. That's it. Hopefully this time it will work reliably. Thanks to Eduard Bloch for noticing PR13521 and to Ian Lance Taylor for PR12977. Patch-Name: liblzma-skip-ABI-incompatible-check-when-liblzma.so.patch Signed-off-by: Jonathan Nieder <jrnieder@gmail.com> commit 21bf900099cc2deb8e36f2377159dc64f17519e6 Merge: 26b6506 9815cdf Author: Sebastian Andrzej Siewior <sebastian@breakpoint.cc> Date: Mon Sep 26 20:45:59 2016 +0200 debian: New upstream release I tried to package this in your source repo but didn't figure out how to handle the clashes (i.e. how to drop patches except to revert the initial commit). So the repo above is git-dpm for now. I kept liblzma-make-dlopen-based-liblzma2-compatibility-opt.patch liblzma-skip-ABI-incompatible-check-when-liblzma.so.patch but I think that we shouldn't worry about liblzma2 since it is long gone. Anyway, it is there. The current changelog: | * 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 I built pixz against it and the internal testsuite passed. I checked out all pristine-tar files from clamav (in the xz format) and the checkout worked. [jrnieder@gmail.com: imported from uploaded NMU] commit 26b650688b7805dbd78376772850d9177a27d4f6 Author: Colin Watson <cjwatson@ubuntu.com> Date: Thu Jan 3 23:59:36 2013 +0000 debian/control: Remove build-dependency on perl xz-utils' build-dependency on perl is unnecessary, and it impedes cross-building (because perl is assumed to be needed from the host architecture by default), which is awkward because xz-utils is part of a base buildd chroot. perl:native would be better, but Debian's build daemons don't support that syntax yet. As it happens, the perl build-dependency is entirely unnecessary. xz-utils only uses the bare perl interpreter, without modules (other than 'warnings' and 'strict'). As such, it has no need for non-Essential facilities, and can rely on the Essential perl-base. In private mail, Jonathan suggested rewriting in awk, but this is unnecessary; you really should just be able to rely on the Essentialness of the perl interpreter here, and the Perl policy sanctions this given that xz-utils is part of the base system. * 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. [helmut@subdivi.de: uploaded as NMU] commit 0147c4c37e9684acdeea8aec9ac08ffdfb790041 Author: Jonathan Nieder <jrnieder@gmail.com> Date: Mon Sep 10 14:36:35 2012 -0700 debian: prepare for upload commit 6915c4e015d22fdc7dcf13699631b92e2a74feb5 Author: Jonathan Nieder <jrnieder@gmail.com> Date: Sat Aug 18 02:54:54 2012 -0700 xz-utils/README.Debian: flesh out "differences from upstream" In addition to updating the list of patches applied, also list patches not applied to make the relationship to the upstream release 5.1.2alpha crystal clear. commit bbb482e3f7511694719099a4656df7e7b3c5e97e Merge: 42c2509 9d32a03 Author: Jonathan Nieder <jrnieder@gmail.com> Date: Mon Sep 10 14:22:33 2012 -0700 Merge branch 'jn/5.1.1alpha+20120614' Recent changes from upstream, including a documentation update and small correctness fix for the "minimal version to decode" field. Thanks to Lasse Collin for advice about which patches to apply. After these changes, the xz and liblzma API and ABI match 5.1.2alpha, except that no features that were not already present in Debian sid have been added. commit 42c25096d90922c1d5f789fc778a15a99146b2a1 Author: Jonathan Nieder <jrnieder@gmail.com> Date: Wed Jul 4 16:18:05 2012 -0500 xz-utils/README.Debian: Document patches End-users and distributors might wonder how a stable release is made out of an alpha release and how the packaged code differs from the original code. Briefly describe each patch in README.Debian to help such people, imitating the gcc packaging. This information does not belong in the package description because it is more relevant when using the package than when deciding whether to install it. The package description already mentions that threads are not supported. Thanks to Andrew Pollock, Thorsten Glaser, and Lasse Collin for advice. commit 9d32a034611c8bcf126970a97b939ae349870065 Author: Lasse Collin <lasse.collin@tukaani.org> Date: Thu Jun 28 10:47:49 2012 +0300 liblzma: Check that the first byte of range encoded data is 0x00. It is just to be more pedantic and thus perhaps catch broken files slightly earlier. Signed-off-by: Jonathan Nieder <jrnieder@gmail.com> commit 2f7b46d2c3dd4d89dcb922601ef4b1a85f89eb2e Author: Lasse Collin <lasse.collin@tukaani.org> Date: Wed Jul 4 19:58:23 2012 +0300 xz: Fix the version number printed by xz -lvv. The decoder bug was fixed in 5.0.2 instead of 5.0.3. Signed-off-by: Jonathan Nieder <jrnieder@gmail.com> commit 68f4b3955403bb3bf67f9dcaceb1a31fe8f32005 Author: Lasse Collin <lasse.collin@tukaani.org> Date: Sun Jul 1 18:44:33 2012 +0300 xz: Update the man page about the new field in --robot -lvv. Signed-off-by: Jonathan Nieder <jrnieder@gmail.com> commit 5dd73e3cb7d9bc1be6af93f3d56073856d1c61ab Author: Lasse Collin <lasse.collin@tukaani.org> Date: Fri Jun 22 14:34:03 2012 +0300 xz: Update man page date to match the latest update. Signed-off-by: Jonathan Nieder <jrnieder@gmail.com> commit 7bf0bc745a3f59cb82c5a2ba55fcaef86a2ab79c Author: Jonathan Nieder <jrnieder@gmail.com> Date: Sat Jun 16 15:05:59 2012 -0500 debian/symbols: bump to match new snapshot version The snapshot from 20120528 was never uploaded to the archive. Use a version listed in debian/changelog instead to make it easier for packagers to understand what happened to warrant the symbols bump. commit a35e01f5ccbbad21af8e82394c25ad1f8a309f9d Author: Jonathan Nieder <jrnieder@gmail.com> Date: Sat Jun 16 06:19:09 2012 -0500 debian: prepare for upload commit fae574863bf0adebc76388663e66223d80bdac6a Author: Jonathan Nieder <jrnieder@gmail.com> Date: Sat Jun 16 06:07:40 2012 -0500 debian/liblzma-dev: avoid linking static lib to libdl To avoid breaking existing static libs built against liblzma2, let's just unconditionally skip checking reserved fields past the traditional end of the lzma_stream structure. Hopefully most developers on Debian will test using the shared library by default. We could have made this change by keying the behavior on __PIC__, but that seems a little too tricky and inflexible (maybe some platform uses PIC for ordinary static libraries) so instead we build the static and shared libraries in separate configure runs. One subtlety: because the Libs.private setting in the pkgconfig metadata file is only valid in the static build, the static lib is installed after the shared library. commit e6bb16b7fb87a0953eb18bb11e92206172e725f7 Author: Jonathan Nieder <jrnieder@gmail.com> Date: Sat Jun 16 05:59:49 2012 -0500 debian/xzdec: configure --disable-liblzma2-compat This just simplifies and shrinks xzdec and lzmadec a little. commit 531fceb2f990896f2d43b174f218c31f92f3c47d Merge: d468549 18a69a2 Author: Jonathan Nieder <jrnieder@gmail.com> Date: Sat Jun 16 05:58:50 2012 -0500 Merge branch 'jn/abi' Make the liblzma2-compat trickery more configurable, so we have the option of turning it off for xzdec and the static lib if appropriate to avoid a dependency on libdl. * jn/abi: liblzma: make dlopen()-based liblzma2 compatibility optional commit 18a69a29003d00e171f98ee69170a47f41d4fb80 Author: Jonathan Nieder <jrnieder@gmail.com> Date: Sat Jun 16 05:57:42 2012 -0500 liblzma: make dlopen()-based liblzma2 compatibility optional Suppose I want to build a statically linked program: gcc -static -o app app.c -lrpm -llzma Suppose further that librpm.a was built against a pre-5.0 version of liblzma so it does not allocate as much space for reserved fields at the end of lzma_stream as the current API requires. (This is a hypothetical scenario --- Debian librpm does not provide a static library.) If liblzma uses unpatched lzma_code() from XZ Utils >= 5.0, then during calls to librpm that try to compress or decompress an xz-compressed RPM, lzma_code’s reserved field checks will overflow the buffer and segfault. If liblzma uses the modified version of lzma_code() which asks libdl if liblzma.so.2 is resident and refrains from checking reserved fields past the end of the old lzma_stream struct when the answer is "yes", the behavior is no better. The dynamic library liblzma.so.2 is _not_ resident, so lzma_code() dutifully reads reserved fields past the end of the buffer --- segfault. So the only safe behavior in the static library is to unconditionally disable checks that might break for callers we want to continue to support. The new "./configure --enable-liblzma2-compat" option implements all three sets of semantics: - "./configure --disable-liblzma2-compat" means to check the full set of reserved fields unconditionally. You can use this to check how your application would behave with the unpatched library. - "./configure --enable-liblzma2-compat=auto" means to skip checks of reserved fields past the old end of struct lzma_stream when liblzma.so.2 is resident. If a DSO built against liblzma2 shares the process image, the ABI-incompatible checks are skipped for safety, whereas in the usual case when no such DSO is resident, the full set of checks is run to help application developers remember to zero all reserved fields. - "./configure --enable-liblzma2-compat" makes liblzma skip the ABI-incompatible checks unconditionallty. You can use this if you want your copy of liblzma to be usable by static libraries that were built against the old library. Signed-off-by: Jonathan Nieder <jrnieder@gmail.com> commit d468549175654c31e8f3f846fe560e1e2add9acf Author: Jonathan Nieder <jrnieder@gmail.com> Date: Sat Jun 16 05:16:18 2012 -0500 debian/copyright: remove unwanted periods in formatted form In Debian's machine-readable copyright format, the space between paragraphs is indicated using a dot (.) preceded by a single space. Some instances of this were changed to a dot preceded by two spaces (which signifies a literal '.') by mistake when marking the paragraphs around them as literal to avoid automatically rewrapping. commit 5415947c77f63eba804b02df562819dac229b545 Merge: 9736036 f1675f7 Author: Jonathan Nieder <jrnieder@gmail.com> Date: Sat Jun 16 05:16:11 2012 -0500 Merge branch 'master' of http://git.tukaani.org/xz Sync with upstream. * 'master' of http://git.tukaani.org/xz: Fix the top-level Makefile.am for the new example programs. Docs: Add new example programs. Docs: Move xz_pipe_comp.c and xz_pipe_decomp.c to doc/examples_old. Docs: Fix a bug in xz_pipe_decomp.c example program. Translations: Update the French translation. Translations: Update the German translation. Translations: Update the German translation. Translations: Update Polish translation. commit 9736036fa25a992929f9e11f9f47be2cbab0ae7e Merge: 0e4f720 c98ccde Author: Jonathan Nieder <jrnieder@gmail.com> Date: Sat Jun 16 04:46:39 2012 -0500 Merge branch 'jn/abi' (early part) Bugfix for abi-liblzma2-compat. * jn/abi (early part): liblzma: add -ldl to Libs.private to support static linking again commit c98ccdef182e9b970e3f8945154d39ae576a2272 Author: Jonathan Nieder <jrnieder@gmail.com> Date: Sat Jun 16 02:44:02 2012 -0500 liblzma: add -ldl to Libs.private to support static linking again Static linking using the flags suggested by pkg-config fails: $ gcc -static -o xz_pipe_comp xz_pipe_comp.c \ $(pkg-config --static --cflags --libs liblzma) /usr/lib/i386-linux-gnu/liblzma.a(liblzma_la-common.o): In function `lzma_strm_init': (.text+0x32a): undefined reference to `dlopen' Add -ldl to get that working again. After this patch, gcc still warns: Using 'dlopen' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking This particular use of 'dlopen' is not harmful because it is only meant to check if liblzma.so.2 is already (dynamically) loaded. It is also not useful in statically linked applications, but fixing that can wait for another patch. Reported-by: Lasse Collin <lasse.collin@tukaani.org> Signed-off-by: Jonathan Nieder <jrnieder@gmail.com> commit f1675f765fe228cb5a5f904f853445a03e33cfe9 Author: Lasse Collin <lasse.collin@tukaani.org> Date: Thu Jun 14 20:15:30 2012 +0300 Fix the top-level Makefile.am for the new example programs. commit 3a0c5378abefaf86aa39a62a7c9682bdb21568a1 Author: Lasse Collin <lasse.collin@tukaani.org> Date: Thu Jun 14 10:52:33 2012 +0300 Docs: Add new example programs. These have more comments than the old examples and human-readable error messages. More tutorial-like examples are needed but these are a start. commit 1bd2c2c553e30c4a73cfb82abc6908efd6be6b8d Author: Lasse Collin <lasse.collin@tukaani.org> Date: Thu Jun 14 10:33:27 2012 +0300 Docs: Move xz_pipe_comp.c and xz_pipe_decomp.c to doc/examples_old. It is good to keep these around to so that if someone has copied the decompressor bug from xz_pipe_decomp.c he has an example how to easily fix it. commit 905f0ab5b5ce544d4b68a2ed6077df0f3d021292 Author: Lasse Collin <lasse.collin@tukaani.org> Date: Thu Jun 14 10:33:01 2012 +0300 Docs: Fix a bug in xz_pipe_decomp.c example program. commit 4bd1a3bd5fdf4870b2f96dd0b8a21657c8a58ad8 Author: Lasse Collin <lasse.collin@tukaani.org> Date: Wed May 30 23:14:33 2012 +0300 Translations: Update the French translation. Thanks to Adrien Nader. commit d2e836f2f3a87df6fe6bb0589b037db51205d910 Author: Lasse Collin <lasse.collin@tukaani.org> Date: Tue May 29 23:42:37 2012 +0300 Translations: Update the German translation. The previous only included the new strings in v5.0. commit c9a16151577ba459afd6e3528df23bc0ddb95171 Author: Lasse Collin <lasse.collin@tukaani.org> Date: Tue May 29 22:26:27 2012 +0300 Translations: Update the German translation. commit 1530a74fd48f8493372edad137a24541efe24713 Author: Lasse Collin <lasse.collin@tukaani.org> Date: Tue May 29 22:14:21 2012 +0300 Translations: Update Polish translation. commit 0e4f720c6a99a073d0143c8eda52d6686f713e23 Author: Jonathan Nieder <jrnieder@gmail.com> Date: Mon May 28 19:11:13 2012 -0500 Prepare for upload commit 4c15e41a9c9b7b0feddd9afc86249f7d50a84b34 Merge: d76bab2 d8db706 Author: Jonathan Nieder <jrnieder@gmail.com> Date: Mon May 28 19:10:53 2012 -0500 Merge branch 'master' of http://git.tukaani.org/xz Sync with upstream. Addresses an important bug in liblzma that can cause compression or decompression to error out without good reason. * 'master' of http://git.tukaani.org/xz: liblzma: Fix possibility of incorrect LZMA_BUF_ERROR. Update THANKS. xz: Don't show a huge number in -vv when memory limit is disabled. xz: Document the "summary" lines of --robot -lvv. xz: Fix output of verbose --robot --list modes. Build: Upgrade m4/acx_pthread.m4 to the latest version. commit d8db706acb8316f9861abd432cfbe001dd6d0c5c Author: Lasse Collin <lasse.collin@tukaani.org> Date: Mon May 28 20:42:11 2012 +0300 liblzma: Fix possibility of incorrect LZMA_BUF_ERROR. lzma_code() could incorrectly return LZMA_BUF_ERROR if all of the following was true: - The caller knows how many bytes of output to expect and only provides that much output space. - When the last output bytes are decoded, the caller-provided input buffer ends right before the LZMA2 end of payload marker. So LZMA2 won't provide more output anymore, but it won't know it yet and thus won't return LZMA_STREAM_END yet. - A BCJ filter is in use and it hasn't left any unfiltered bytes in the temp buffer. This can happen with any BCJ filter, but in practice it's more likely with filters other than the x86 BCJ. Another situation where the bug can be triggered happens if the uncompressed size is zero bytes and no output space is provided. In this case the decompression can fail even if the whole input file is given to lzma_code(). A similar bug was fixed in XZ Embedded on 2011-09-19. commit 3f94b6d87f1b8f1c421ba548f8ebb83dca9c8cda Author: Lasse Collin <lasse.collin@tukaani.org> Date: Mon May 28 15:38:32 2012 +0300 Update THANKS. commit 7769ea051d739a38a1640fd448cf5eb83cb119c6 Author: Lasse Collin <lasse.collin@tukaani.org> Date: Mon May 28 15:37:43 2012 +0300 xz: Don't show a huge number in -vv when memory limit is disabled. commit ec921105725e4d3ef0a683dd83eee6f24ab60ccd Author: Lasse Collin <lasse.collin@tukaani.org> Date: Sun May 27 22:30:17 2012 +0300 xz: Document the "summary" lines of --robot -lvv. This documents only the columns that are in v5.0. The new columns added in the master branch aren't necessarily stable yet. commit 27d24eb0a9f6eed96d6a4594c2b0bf7a91d29f9a Author: Lasse Collin <lasse.collin@tukaani.org> Date: Sun May 27 21:53:20 2012 +0300 xz: Fix output of verbose --robot --list modes. It printed the filename in "filename (x/y)" format which it obviously shouldn't do in robot mode. commit ab25b82a91754d9388c89abddf806424671d9431 Author: Lasse Collin <lasse.collin@tukaani.org> Date: Thu May 24 18:33:54 2012 +0300 Build: Upgrade m4/acx_pthread.m4 to the latest version. commit d76bab287cb450d121b11278cc01feb2f7249256 Author: Jonathan Nieder <jrnieder@gmail.com> Date: Fri May 18 17:19:59 2012 -0500 Prepare for upload While at it, fix the format of the Date: line in patches/abi-liblzma2-compat. commit 50eba4d1fec143e87f9134b0ec08314bc49d79c4 Author: Jonathan Nieder <jrnieder@gmail.com> Date: Fri May 18 05:01:36 2012 -0500 Clarify changelog commit 3d0b97a60c445b824702c4acd954574c41d919f5 Author: Jonathan Nieder <jrnieder@gmail.com> Date: Fri May 18 02:03:35 2012 -0500 debian/rules build-indep: assume Build-Depends-Indep are present Now that dpkg-buildpackage uses the build-arch target when present instead of build, there is no more need to guard against a build environment that tries to invoke build-indep without ensuring its dependencies are available. commit 2f51e0c41aa1272dffba505f51c032f32c38e61e Merge: a7c448c 5b8c38d Author: Jonathan Nieder <jrnieder@gmail.com> Date: Fri May 18 01:52:48 2012 -0500 Merge branch 'jn/slibdir' * jn/slibdir: debian/liblzma: Move run-time library to /lib Conflicts: debian/changelog debian/liblzma2.install debian/rules commit a7c448cc153a2e7aa72f3a3cc48a8444b8812246 Author: Jonathan Nieder <jrnieder@gmail.com> Date: Fri May 18 01:37:50 2012 -0500 debian/rules: avoid unnecessary linkage against -lpthread and -lrt Until the ABI stabilizes and it is time to re-enable threaded encoding, linking against the system pthread and realtime libraries just makes for needless complication and extra time spent loading the library. commit 52d48477f8596f70f159e2436be5b63d41f9e69b Merge: 7ab2e6a d648e7e Author: Jonathan Nieder <jrnieder@gmail.com> Date: Fri May 18 01:15:43 2012 -0500 Merge branch 'jn/alternatives' * jn/alternatives: Provide LZMA Utils compatibility commands through the alternatives system Conflicts: debian/changelog debian/xz-utils.README.Debian commit 7ab2e6a4cafbe40ad944c6c803fd197afb6d9731 Author: Jonathan Nieder <jrnieder@gmail.com> Date: Sun Aug 28 17:37:00 2011 -0500 debian/rules: reorder rules for clarity Move variable definitions used in dependencies to before the override_dh_* rules. debian/rules has the following layout now: Standard targets (build, install, etc) Lists of files for use in dependencies Targets used by standard targets (override_dh_*, etc) Compilation flags and other variables The get-orig-source target In particular, this makes the third section (detailed rules to configure, build, and install xz) easier to read straight through. commit 323bb36f7c3af1f56f219b6eb67c183e4a2aa957 Author: Jonathan Nieder <jrnieder@gmail.com> Date: Wed Aug 17 09:09:51 2011 -0500 changelog.upstream.sh: use rev-list | diff-tree instead of git log The developer’s Git installation might be set up to use --decorate by default or to automatically abbreviate commit names. Use plumbing commands whose output does not depend on configuration to avoid gratuitous differences between the changelogs produced on different machines. Reported-by: Thorsten Glaser <tg@mirbsd.de> commit e6769dbb06da8965a9a8d1c295aa8734221ad629 Author: Jonathan Nieder <jrnieder@gmail.com> Date: Tue Aug 16 19:45:23 2011 -0500 debian/rules: simplify DEB_BUILD_OPTIONS=nocheck handling Use a double-colon rule again to decide whether to run tests. This lets us get rid of the noop target from 0d22d82 (2011-08-16) and should make the makefile a little easier to read. commit eb19065145886adbd8c35d21be2b9dbfff951e64 Author: Jonathan Nieder <jrnieder@gmail.com> Date: Tue Aug 16 01:57:34 2011 -0500 debian/rules: use dpkg-buildflags to retrieve compilation flags The intent is for this to be the standard interface for passing hardening flags to the toolchain when building packages in wheezy. Fixes: http://bugs.debian.org/653739 commit bcc80d59d00b2e49cb5a153ff93d1bf415821835 Author: Jonathan Nieder <jrnieder@gmail.com> Date: Tue Aug 16 00:49:24 2011 -0500 Allow liblzma-dev to be installed for multiple architectures at once This isn't part of the official plan for the early stages of multiarch in Debian, but it already seems to work well. Requested-by: Riku Voipio <riku.voipio@linaro.org> commit 53a8fe26b8197efba55c382a386330f1fb3ad4c9 Author: Jonathan Nieder <jrnieder@gmail.com> Date: Thu May 17 23:38:44 2012 -0500 debian/control: new Debian policy version commit 9af4e21558a13a114dbac424a972beb64dfa60aa Author: Jonathan Nieder <jrnieder@gmail.com> Date: Thu May 17 23:36:12 2012 -0500 debian/copyright: follow machine-readable format more closely Most notably: Now that there is a stable URL for the copyright-format spec, point to it. Simplify the description of the dos/config.h license by removing some extraneous details about the license of the Autoconf source files it is derived from. (Since dos/config.h doesn't contain a license notice, this brings us closer to verbatim.) As Jakub Wilk pointed out on debian-devel (<20120507122448.GA6510@jwilk.net>), viewers are expected to reflow the License and Comments fields. Indent text that needs to be left alone by one extra space. Checked using “cme check dpkg-copyright”. commit 1f6691e44ad05bf788ca5df52323d7b994f16189 Merge: b9cfc07 d05d6d6 Author: Jonathan Nieder <jrnieder@gmail.com> Date: Fri May 18 01:13:07 2012 -0500 Merge branch 'master' of http://git.tukaani.org/xz Sync with upstream. * 'master' of http://git.tukaani.org/xz: (22 commits) Update THANKS. Docs: Cleanup line wrapping a bit. Fix a few typos and add some missing articles in some documents. Windows: Update notes about static linking with MSVC. liblzma: Remove outdated comments. DOS: Link against DJGPP's libemu to support FPU emulation. liblzma: Fix Libs.private in liblzma.pc to include -lrt when needed. Docs: Update MINIX 3 information in INSTALL. Update THANKS. Fix exit status of xzgrep when grepping binary files. Update THANKS. Fix compiling with IBM XL C on AIX. Tests: Fix a compiler warning with _FORTIFY_SOURCE. Docs: Explain the stable releases better in README. xz: Show minimum required XZ Utils version in xz -lvv. xz: Fix a typo in a comment. Update THANKS. xz: Fix xz on EBCDIC systems. Update THANKS. liblzma: Fix invalid free() in the threaded encoder. ... Conflicts: src/liblzma/common/outqueue.c src/liblzma/common/stream_encoder_mt.c commit b9cfc074ab5e4c56c1e90f6cd47329c9b785141c Merge: 7c82c9a 8f925fe Author: Jonathan Nieder <jrnieder@gmail.com> Date: Thu May 17 20:25:48 2012 -0500 Merge branch 'jn/static' * jn/static: Do not let liblzma.a from xzdec-build clobber the real thing commit 8f925feed7b437dada60ed4c8d72957d38f27fea Author: Jonathan Nieder <jrnieder@gmail.com> Date: Thu May 17 20:25:10 2012 -0500 Do not let liblzma.a from xzdec-build clobber the real thing After commit 18be97e6 (Optimize xzdec, lzmadec for size, 2009-06-24), the install target in debian/rules takes place in two stages: first install tools from the normal build, then from the xzdec build. In particular, after installing a perfectly good liblzma.a, we overwrite it with the copy from the xzdec build with all encoders disabled --- oops. The fix is simple: let the install rule for xzdec run _before_ the normal build. Probably this wasn't noticed before because static linking on Debian is not popular. The xz and lzmainfo commands, shared library, and scripts are all disabled when building xzdec, so this problem only affects the static library. Reported-by: Anton Tolchanov <anton.tolchanov@gmail.com> Fixes: http://bugs.debian.org/673001 commit 7c82c9ac43f1c7223e7b72190f3749911ba13a68 Author: Jonathan Nieder <jrnieder@gmail.com> Date: Thu May 17 19:21:13 2012 -0500 Revert "debian/symbols: forbid use of unversioned lzma_code symbol" This reverts commit a875d2722290adfd2943ab827f61b4f638e9e311. No need to forbid use of the unversioned compatibility symbol, since it has been removed (phew). As a side benefit, this means we don't have to rely any more on the undocumented semantics of invalid package names in symbols files. Suggested-by: Jakub Wilk <jwilk@debian.org> commit 0261638d8e939b147d6d564614cac2d602f34d5a Merge: 85af804 d1695d7 Author: Jonathan Nieder <jrnieder@gmail.com> Date: Thu May 17 19:16:28 2012 -0500 Merge branch 'jn/abi' * jn/abi: liblzma: remove unversioned lzma_code@Base compatibility symbol commit d1695d77580c92c8ee003e4721c3c8c98d709812 Author: Jonathan Nieder <jrnieder@gmail.com> Date: Thu May 17 18:49:00 2012 -0500 liblzma: remove unversioned lzma_code@Base compatibility symbol When liblzma started using ELF symbol versioning at the same time as a soname bump (2 → 5) and a small increase in the reserved space at the end of the lzma_stream structure checked by lzma_code, introducing an unversioned compatibility symbol to ease the transition seemed like a great idea. After all: - most applications only use one version of the library (liblzma.so.2 or liblzma.so.5) and would obviously work fine - applications linking to the new version of the library (liblzma.so.5) should use the default, versioned lzma_code symbol so errors initializing the reserved space can be noticed - symbol versioning should ensure application/library mixtures independently making use of both versions of the library also work. Calls using the unversioned symbol names would be resolved using the old symbol from liblzma.so.2 or the compatibility symbol from liblzma.so.5, avoiding segfaults and spurious LZMA_OPTIONS_ERROR errors. - application/library mixtures using both versions of the library and passing lzma_stream objects between the two would break, but that was never supposed to be supported, anyway. Three toolchain bugs dash that plan. Current (2.22) versions of the gold linker cannot be used to build libraries providing versioned and unversioned symbols with the same name. On the other hand, BFD ld doesn't mind. So GNU gold refuses to link versions of liblzma including the compatibility symbol (PR12261): /usr/bin/ld: error: symbol lzma_code has undefined version Annoying, but livable. liblzma with the compatibility symbol just has to be built with BFD ld. More importantly, gold does not support linking to libraries providing versioned and unversioned symbols with the same name. If I link some code to a version of liblzma with the compatibility symbol: ld -o demo demo.o -llzma then the documented behavior, implemented by BFD ld, is to interpret calls to lzma_code as referring to the default version (lzma_code@XZ_5.0). Current versions of GNU gold treat such calls as referring to whichever symbol comes first in liblzma.so.5's symbol table. If the unversioned symbol comes first (and in Debian liblzma5 5.1.1alpha+20110809-3 it does), GNU gold will mislink new applications to use the unversioned compatibility symbol (PR13521): $ ld.gold -o test.gold test.o -llzma $ eu-readelf -s test.gold | grep lzma_code 1: 0000000000000000 0 FUNC GLOBAL DEFAULT UNDEF lzma_code 5: 0000000000000000 0 FUNC GLOBAL DEFAULT UNDEF lzma_code There is no warning. Worse, ld.so from glibc unpredictably will sometimes use the versioned symbol to resolve references to the unversioned base version when both are present (PR12977). Clearly no one has been testing mixtures of versioned and unversioned symbols at all, and we cannot trust the symbol resolution process to do anything in particular for them. This patch implements an alternative method to implement the same compatibility goals described above. - No more compatibility symbol. liblzma.so.5 will define lzma_code only once, with version XZ_5.0. - When initializing an lzma_stream object, use dlopen("liblzma.so.2", RTLD_NOLOAD) to detect whether the caller might have been expecting the old ABI, and store that information in the private stream->internal->liblzma2_compat field. - In lzma_code, when checking reserved fields, skip fields past the old end of the lzma_stream structure ifying reserved fields if and only if this->internal->liblzma2_compat is false. That's it. Hopefully this time it will work reliably. Thanks to Eduard Bloch for noticing PR13521 and to Ian Lance Taylor for PR12977. Signed-off-by: Jonathan Nieder <jrnieder@gmail.com> commit 5b8c38d291aca6eb5b458933197bc619f7c4760e Author: Jonathan Nieder <jrnieder@gmail.com> Date: Sun May 13 18:35:27 2012 -0500 debian/liblzma: Move run-time library to /lib liblzma is used by systemd which runs before /usr is mounted. For now, let's make this change in the Debian packaging instead of the upstream rules to avoid having to worry about details like what happens to the .la file. Requested-by: Tollef Fog Heen <tfheen@debian.org> commit d05d6d65c41a4bc83f162fa3d67c5d84e8751634 Author: Lasse Collin <lasse.collin@tukaani.org> Date: Thu May 10 21:15:17 2012 +0300 Update THANKS. commit e077391982f9f28dbfe542bba8800e7c5b916666 Author: Lasse Collin <lasse.collin@tukaani.org> Date: Thu May 10 21:14:16 2012 +0300 Docs: Cleanup line wrapping a bit. commit fc39849c350225c6a1cd7f6e6adff1020521eabc Author: Benno Schulenberg <bensberg@justemail.net> Date: Tue Mar 13 22:04:04 2012 +0100 Fix a few typos and add some missing articles in some documents. Also hyphenate several compound adjectives. Signed-off-by: Benno Schulenberg <bensberg@justemail.net> commit 29fa0566d5df199cb9acb2d17bf7eea61acc7fa1 Author: Lasse Collin <lasse.collin@tukaani.org> Date: Sun Apr 29 11:51:25 2012 +0300 Windows: Update notes about static linking with MSVC. commit aac1b31ea4e66cf5a7a8c116bdaa15aa45e6c56e Author: Lasse Collin <lasse.collin@tukaani.org> Date: Thu Apr 19 15:25:26 2012 +0300 liblzma: Remove outdated comments. commit df14a46013bea70c0bd35be7821b0b9108f97de7 Author: Lasse Collin <lasse.collin@tukaani.org> Date: Thu Apr 19 14:17:52 2012 +0300 DOS: Link against DJGPP's libemu to support FPU emulation. This way xz should work on 386SX and 486SX. Floating point only is needed for verbose output in xz. commit 03ed742a3a4931bb5c821357832083b26f577b13 Author: Lasse Collin <lasse.collin@tukaani.org> Date: Thu Apr 19 14:02:25 2012 +0300 liblzma: Fix Libs.private in liblzma.pc to include -lrt when needed. commit 8c5b13ad59df70f49429bfdfd6ac120b8f892fda Author: Lasse Collin <lasse.collin@tukaani.org> Date: Thu Apr 19 13:58:55 2012 +0300 Docs: Update MINIX 3 information in INSTALL. commit c7376fc415a1566f38b2de4b516a17013d516a8b Author: Lasse Collin <lasse.collin@tukaani.org> Date: Wed Feb 22 14:23:13 2012 +0200 Update THANKS. commit cff070aba6281ba743d29a62b8c0c66e5da4b2a6 Author: Lasse Collin <lasse.collin@tukaani.org> Date: Wed Feb 22 14:02:34 2012 +0200 Fix exit status of xzgrep when grepping binary files. When grepping binary files, grep may exit before it has read all the input. In this case, gzip -q returns 2 (eating SIGPIPE), but xz and bzip2 show SIGPIPE as the exit status (e.g. 141). This causes wrong exit status when grepping xz- or bzip2-compressed binary files. The fix checks for the special exit status that indicates SIGPIPE. It uses kill -l which should be supported everywhere since it is in both SUSv2 (1997) and POSIX.1-2008. Thanks to James Buren for the bug report. commit 41cafb2bf9beea915710ee68f05fe929cd17759c Author: Lasse Collin <lasse.collin@tukaani.org> Date: Wed Feb 22 12:08:43 2012 +0200 Update THANKS. commit 2dcea03712fa881930d69ec9eff70855c3d126d9 Author: Lasse Collin <lasse.collin@tukaani.org> Date: Wed Feb 22 12:00:16 2012 +0200 Fix compiling with IBM XL C on AIX. commit 7db6bdf4abcf524115be2cf5659ed540cef074c5 Author: Lasse Collin <lasse.collin@tukaani.org> Date: Tue Jan 10 17:13:03 2012 +0200 Tests: Fix a compiler warning with _FORTIFY_SOURCE. Reported here: http://sourceforge.net/projects/lzmautils/forums/forum/708858/topic/4927385 commit 694952d545b6cf056547893ced69486eff9ece55 Author: Lasse Collin <lasse.collin@tukaani.org> Date: Mon Dec 19 21:21:29 2011 +0200 Docs: Explain the stable releases better in README. commit 418fe668b3c53a9a20020b6cc652aaf25c734b29 Author: Lasse Collin <lasse.collin@tukaani.org> Date: Mon Nov 7 13:07:52 2011 +0200 xz: Show minimum required XZ Utils version in xz -lvv. Man page wasn't updated yet. commit 7081d82c37326bac97184e338345fa1c327e3580 Author: Lasse Collin <lasse.collin@tukaani.org> Date: Fri Nov 4 17:57:16 2011 +0200 xz: Fix a typo in a comment. Thanks to Bela Lubkin. commit 232fe7cd70ad258d6a37f17e860e0f1b1891eeb5 Author: Lasse Collin <lasse.collin@tukaani.org> Date: Thu Nov 3 17:08:02 2011 +0200 Update THANKS. commit 74d2bae4d3449c68453b0473dd3430ce91fd90c1 Author: Lasse Collin <lasse.collin@tukaani.org> Date: Thu Nov 3 17:07:22 2011 +0200 xz: Fix xz on EBCDIC systems. Thanks to Chris Donawa. commit 4ac4923f47cc0ef97dd9ca5cfcc44fc53eeab34a Author: Lasse Collin <lasse.collin@tukaani.org> Date: Sun Oct 23 17:09:10 2011 +0300 Update THANKS. commit ab50ae3ef40c81e5bf613905ca3fd636548b75e7 Author: Lasse Collin <lasse.collin@tukaani.org> Date: Sun Oct 23 17:08:14 2011 +0300 liblzma: Fix invalid free() in the threaded encoder. It was triggered if initialization failed e.g. due to running out of memory. Thanks to Arkadiusz Miskiewicz. commit 6b620a0f0813d28c3c544b4ff8cb595b38a6e908 Author: Lasse Collin <lasse.collin@tukaani.org> Date: Sun Oct 23 17:05:55 2011 +0300 liblzma: Fix a deadlock in the threaded encoder. It was triggered when reinitializing the encoder, e.g. when encoding two files. commit 85af804469427b644a4a0806806396763b4328a8 Author: Jonathan Nieder <jrnieder@gmail.com> Date: Thu Oct 20 21:31:36 2011 -0500 debian/control: declare a build-time dependency on recent dpkg-gensymbols The (symver) tag was introduced in dpkg 1.15.6 Suggested-by: Jakub Wilk <jwilk@debian.org> commit 61556b0e0c25d37369f4131005d67a66a9361971 Author: Jonathan Nieder <jrnieder@gmail.com> Date: Thu Oct 20 21:19:51 2011 -0500 debian/patches: squash abi-version-script-fixup into abi-version-script A single patch per logical change is easier to review. Requested-by: Jakub Wilk <jwilk@debian.org> commit 000c7895c66a6ed4e0a6c9427deaf3cf97cb15da Author: Jonathan Nieder <jrnieder@gmail.com> Date: Thu Oct 20 21:17:22 2011 -0500 debian: correct lzma_code@Base rationale debian/patches/abi-liblzma2-compat says: | Applications linked directly to liblzma2 and indirectly to liblzma5 use | the implementation from liblzma5 As Jakub Wilk explained, that doesn't seem to be the case. If a program is linked to two versions of a library, one of which doesn't use versioned symbols, then the symbols from the directly-linked one shadow the indirectly-linked one. Annoyingly, I noticed the same thing last year and then promptly forgot about it. Luckily in cases where liblzma2 wins the right to provide lzma_code(), that just means the lib checks a few fewer reserved fields and the patch is not needed, and in cases where liblzma5 wins, the patch works. Reported-by: Jakub Wilk <jwilk@debian.org> commit b0119dee5cec8a5dfdc9b9f216eb8c38c7473eab Author: Jonathan Nieder <jrnieder@gmail.com> Date: Mon Oct 17 21:17:21 2011 -0500 Clarify changelog Be less cryptic about the latest changes. commit a875d2722290adfd2943ab827f61b4f638e9e311 Author: Jonathan Nieder <jrnieder@gmail.com> Date: Sun Oct 16 20:01:37 2011 -0500 debian/symbols: forbid use of unversioned lzma_code symbol New apps built against liblzma-dev would be using lzma_code@XZ_5.1, so any use of lzma_code@Base is a bug. Use an invalid dependency for this, based on an idea by Modestas Vainius from <http://bugs.debian.org/630344>. This way, attempts to build a Debian package linking to the compatibility symbol will be caught early. dpkg-shlibdeps: warning: can't parse dependency liblzma_private_symbols dpkg-shlibdeps: error: invalid dependency got generated: liblzma_private_symbols, libc6 (>= 2.4) dh_shlibdeps: dpkg-shlibdeps -Tdebian/test-prog.substvars debian/test-prog/usr/bin/testme returned exit code 2