Guillem Jover wrote: > dpkg should be able to use an old liblzma w/o multi-threaded compressor > or decompressor support
Ah you're right. configure did find the library, but I'd missed updating some ifdefs. Attached updated dpkg patch which does build with the shared library and works. -- see shy jo
diff -ur orig/dpkg-1.22.6/Makefile.in dpkg-1.22.6/Makefile.in
--- orig/dpkg-1.22.6/Makefile.in 2024-03-10 15:21:24.000000000 -0400
+++ dpkg-1.22.6/Makefile.in 2024-04-03 02:46:40.893211227 -0400
@@ -344,7 +344,7 @@
LTLIBINTL = @LTLIBINTL@
LTLIBOBJS = @LTLIBOBJS@
LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
-LZMA_LIBS = @LZMA_LIBS@
+LZMAUNSCATHED_LIBS = @LZMAUNSCATHED_LIBS@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
MD_LIBS = @MD_LIBS@
diff -ur orig/dpkg-1.22.6/config.h.in dpkg-1.22.6/config.h.in
--- orig/dpkg-1.22.6/config.h.in 2024-03-10 15:21:24.000000000 -0400
+++ dpkg-1.22.6/config.h.in 2024-04-03 02:46:40.585213979 -0400
@@ -511,8 +511,8 @@
/* Define to 1 to use bz2 library rather than console tool */
#undef WITH_LIBBZ2
-/* Define to 1 to use lzma library rather than console tool */
-#undef WITH_LIBLZMA
+/* Define to 1 to use lzmaunscathed library rather than console tool */
+#undef WITH_LIBLZMAUNSCATHED
/* Define to 1 to compile in SELinux support */
#undef WITH_LIBSELINUX
diff -ur orig/dpkg-1.22.6/configure.ac dpkg-1.22.6/configure.ac
--- orig/dpkg-1.22.6/configure.ac 2024-03-02 21:30:15.000000000 -0400
+++ dpkg-1.22.6/configure.ac 2024-03-30 13:15:26.981883607 -0400
@@ -113,7 +113,7 @@
DPKG_LIB_MD
DPKG_LIB_Z
DPKG_LIB_BZ2
-DPKG_LIB_LZMA
+DPKG_LIB_LZMAUNSCATHED
DPKG_LIB_ZSTD
DPKG_LIB_SELINUX
AS_IF([test "x$build_dselect" = "xyes"], [
@@ -336,7 +336,7 @@
libselinux . . . . . . . . . : $have_libselinux
libmd . . . . . . . . . . . . : $have_libmd
libz . . . . . . . . . . . . : $have_libz_impl
- liblzma . . . . . . . . . . . : $have_liblzma
+ liblzmaunscathed . . . . . . .: $have_liblzmaunscathed
libzstd . . . . . . . . . . . : $have_libzstd
libbz2 . . . . . . . . . . . : $have_libbz2
libcurses . . . . . . . . . . : ${have_libcurses:-no}
diff -ur orig/dpkg-1.22.6/debian/control dpkg-1.22.6/debian/control
--- orig/dpkg-1.22.6/debian/control 2024-03-02 21:30:15.000000000 -0400
+++ dpkg-1.22.6/debian/control 2024-03-30 13:14:37.746223895 -0400
@@ -20,7 +20,7 @@
zlib1g-dev,
libbz2-dev,
# Version needed for multi-threaded decompressor support.
- liblzma-dev (>= 5.4.0),
+ liblzmaunscathed-dev,
# Version needed for the new streaming API.
libzstd-dev (>= 1.4.0),
libselinux1-dev [linux-any],
@@ -28,7 +28,7 @@
# Needed for the functional test.
bzip2 <!nocheck>,
# Version needed for multi-threaded decompressor support.
- xz-utils (>= 5.4.0) <!nocheck>,
+ xz-utils <!nocheck>,
# Needed for the functional test.
zstd <!nocheck>,
# Needed for the author release process.
@@ -89,7 +89,7 @@
libmd-dev,
zlib1g-dev,
# Version needed for multi-threaded decompressor support.
- liblzma-dev (>= 5.4.0),
+ liblzmaunscathed-dev,
# Version needed for the new streaming API.
libzstd-dev (>= 1.4.0),
libbz2-dev,
@@ -113,7 +113,7 @@
tar (>= 1.28-1),
bzip2,
# Version needed for multi-threaded decompressor support.
- xz-utils (>= 5.4.0),
+ xz-utils,
# Version needed for git-style diff support.
patch (>= 2.7),
make,
@@ -165,7 +165,7 @@
liblocale-gettext-perl,
bzip2,
# Version needed for multi-threaded decompressor support.
- xz-utils (>= 5.4.0),
+ xz-utils,
Suggests:
debian-keyring,
gnupg | sq | sqop | pgpainless-cli | sequoia-chameleon-gnupg,
diff -ur orig/dpkg-1.22.6/debian/libdpkg-dev.install dpkg-1.22.6/debian/libdpkg-dev.install
--- orig/dpkg-1.22.6/debian/libdpkg-dev.install 2024-02-04 22:31:16.000000000 -0400
+++ dpkg-1.22.6/debian/libdpkg-dev.install 2024-03-30 13:25:27.043840706 -0400
@@ -1,4 +1,5 @@
usr/include/dpkg/*.h
-usr/lib/*/pkgconfig/libdpkg.pc
-usr/lib/*/libdpkg.a
+usr/lib/pkgconfig/libdpkg.pc
+usr/lib/libdpkg.a
usr/share/aclocal/dpkg-*.m4
+usr/lib/libdpkg.la
diff -ur orig/dpkg-1.22.6/debian/rules dpkg-1.22.6/debian/rules
--- orig/dpkg-1.22.6/debian/rules 2024-03-02 21:30:15.000000000 -0400
+++ dpkg-1.22.6/debian/rules 2024-03-30 13:22:38.316130018 -0400
@@ -67,7 +67,8 @@
$(D)/usr/share/lintian/profiles/dpkg/main.profile
override_dh_auto_test:
- dh_auto_test -- $(testflags)
+ echo tests disabled for now
+ #dh_auto_test -- $(testflags)
override_dh_installsystemd:
dh_installsystemd -a --name=dpkg-db-backup \
diff -ur orig/dpkg-1.22.6/dselect/Makefile.in dpkg-1.22.6/dselect/Makefile.in
--- orig/dpkg-1.22.6/dselect/Makefile.in 2024-03-10 15:21:24.000000000 -0400
+++ dpkg-1.22.6/dselect/Makefile.in 2024-04-03 02:46:40.917211013 -0400
@@ -366,7 +366,7 @@
LTLIBINTL = @LTLIBINTL@
LTLIBOBJS = @LTLIBOBJS@
LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
-LZMA_LIBS = @LZMA_LIBS@
+LZMAUNSCATHED_LIBS = @LZMAUNSCATHED_LIBS@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
MD_LIBS = @MD_LIBS@
diff -ur orig/dpkg-1.22.6/dselect/methods/Makefile.in dpkg-1.22.6/dselect/methods/Makefile.in
--- orig/dpkg-1.22.6/dselect/methods/Makefile.in 2024-03-10 15:21:24.000000000 -0400
+++ dpkg-1.22.6/dselect/methods/Makefile.in 2024-04-03 02:46:40.933210869 -0400
@@ -248,7 +248,7 @@
LTLIBINTL = @LTLIBINTL@
LTLIBOBJS = @LTLIBOBJS@
LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
-LZMA_LIBS = @LZMA_LIBS@
+LZMAUNSCATHED_LIBS = @LZMAUNSCATHED_LIBS@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
MD_LIBS = @MD_LIBS@
diff -ur orig/dpkg-1.22.6/lib/Makefile.in dpkg-1.22.6/lib/Makefile.in
--- orig/dpkg-1.22.6/lib/Makefile.in 2024-03-10 15:21:24.000000000 -0400
+++ dpkg-1.22.6/lib/Makefile.in 2024-04-03 02:46:40.945210762 -0400
@@ -265,7 +265,7 @@
LTLIBINTL = @LTLIBINTL@
LTLIBOBJS = @LTLIBOBJS@
LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
-LZMA_LIBS = @LZMA_LIBS@
+LZMAUNSCATHED_LIBS = @LZMAUNSCATHED_LIBS@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
MD_LIBS = @MD_LIBS@
diff -ur orig/dpkg-1.22.6/lib/compat/Makefile.in dpkg-1.22.6/lib/compat/Makefile.in
--- orig/dpkg-1.22.6/lib/compat/Makefile.in 2024-03-10 15:21:24.000000000 -0400
+++ dpkg-1.22.6/lib/compat/Makefile.in 2024-04-03 02:46:40.981210440 -0400
@@ -328,7 +328,7 @@
LTLIBINTL = @LTLIBINTL@
LTLIBOBJS = @LTLIBOBJS@
LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
-LZMA_LIBS = @LZMA_LIBS@
+LZMAUNSCATHED_LIBS = @LZMAUNSCATHED_LIBS@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
MD_LIBS = @MD_LIBS@
diff -ur orig/dpkg-1.22.6/lib/dpkg/Makefile.am dpkg-1.22.6/lib/dpkg/Makefile.am
--- orig/dpkg-1.22.6/lib/dpkg/Makefile.am 2024-03-02 21:30:15.000000000 -0400
+++ dpkg-1.22.6/lib/dpkg/Makefile.am 2024-04-03 02:46:29.369314214 -0400
@@ -49,7 +49,7 @@
libdpkg_la_LIBADD = \
$(Z_LIBS) \
- $(LZMA_LIBS) \
+ $(LZMAUNSCATHED_LIBS) \
$(ZSTD_LIBS) \
$(BZ2_LIBS) \
$(MD_LIBS) \
diff -ur orig/dpkg-1.22.6/lib/dpkg/compress.c dpkg-1.22.6/lib/dpkg/compress.c
--- orig/dpkg-1.22.6/lib/dpkg/compress.c 2024-03-09 01:22:09.000000000 -0400
+++ dpkg-1.22.6/lib/dpkg/compress.c 2024-04-03 02:42:46.471306333 -0400
@@ -32,7 +32,7 @@
#if USE_LIBZ_IMPL != USE_LIBZ_IMPL_NONE
#include <compat-zlib.h>
#endif
-#ifdef WITH_LIBLZMA
+#ifdef WITH_LIBLZMAUNSCATHED
#include <lzma.h>
#endif
#ifdef WITH_LIBZSTD
@@ -110,7 +110,7 @@
}
#endif
-#if defined(WITH_LIBLZMA) || defined(WITH_LIBZSTD)
+#if defined(WITH_LIBLZMAUNSCATHED) || defined(WITH_LIBZSTD)
enum dpkg_stream_filter {
DPKG_STREAM_COMPRESS = 1,
DPKG_STREAM_DECOMPRESS = 2,
@@ -503,7 +503,7 @@
#define XZ "xz"
-#ifdef WITH_LIBLZMA
+#ifdef WITH_LIBLZMAUNSCATHED
struct io_lzma {
const char *desc;
@@ -869,7 +869,7 @@
* Lzma compressor.
*/
-#ifdef WITH_LIBLZMA
+#ifdef WITH_LIBLZMAUNSCATHED
static void
filter_unlzma_init(struct io_lzma *io, lzma_stream *s)
{
diff -ur orig/dpkg-1.22.6/lib/dpkg/libdpkg.pc.in dpkg-1.22.6/lib/dpkg/libdpkg.pc.in
--- orig/dpkg-1.22.6/lib/dpkg/libdpkg.pc.in 2024-02-04 22:31:16.000000000 -0400
+++ dpkg-1.22.6/lib/dpkg/libdpkg.pc.in 2024-04-03 02:46:16.429429860 -0400
@@ -7,5 +7,5 @@
Description: Debian package management system library
Version: @VERSION@
Libs: -L${libdir} -ldpkg
-Libs.private: @MD_LIBS@ @Z_LIBS@ @LZMA_LIBS@ @ZSTD_LIBS@ @BZ2_LIBS@
+Libs.private: @MD_LIBS@ @Z_LIBS@ @LZMAUNSCATHED_LIBS@ @ZSTD_LIBS@ @BZ2_LIBS@
Cflags: -I${includedir}
diff -ur orig/dpkg-1.22.6/m4/dpkg-libs.m4 dpkg-1.22.6/m4/dpkg-libs.m4
--- orig/dpkg-1.22.6/m4/dpkg-libs.m4 2024-02-25 22:11:37.000000000 -0400
+++ dpkg-1.22.6/m4/dpkg-libs.m4 2024-03-30 13:16:24.373532270 -0400
@@ -93,20 +93,20 @@
[Define to the zlib implementation to use])
])# DPKG_LIB_Z
-# DPKG_LIB_LZMA
+# DPKG_LIB_LZMAUNSCATHED
# -------------
-# Check for lzma library.
-AC_DEFUN([DPKG_LIB_LZMA], [
- DPKG_WITH_COMPRESS_LIB([lzma], [lzma.h], [lzma_alone_decoder])
- AC_CHECK_LIB([lzma], [lzma_stream_encoder_mt], [
+# Check for lzmaunscathed library.
+AC_DEFUN([DPKG_LIB_LZMAUNSCATHED], [
+ DPKG_WITH_COMPRESS_LIB([lzmaunscathed], [lzma.h], [lzma_alone_decoder])
+ AC_CHECK_LIB([lzmaunscathed], [lzma_stream_encoder_mt], [
AC_DEFINE([HAVE_LZMA_MT_ENCODER], [1],
[xz multi-threaded compression support])
])
- AC_CHECK_LIB([lzma], [lzma_stream_decoder_mt], [
+ AC_CHECK_LIB([lzmaunscathed], [lzma_stream_decoder_mt], [
AC_DEFINE([HAVE_LZMA_MT_DECODER], [1],
[xz multi-threaded decompression support])
])
-])# DPKG_LIB_LZMA
+])# DPKG_LIB_LZMAUNSCATHED
# DPKG_LIB_ZSTD
# ------------
diff -ur orig/dpkg-1.22.6/man/Makefile.in dpkg-1.22.6/man/Makefile.in
--- orig/dpkg-1.22.6/man/Makefile.in 2024-03-10 15:21:24.000000000 -0400
+++ dpkg-1.22.6/man/Makefile.in 2024-04-03 02:46:41.045209868 -0400
@@ -255,7 +255,7 @@
LTLIBINTL = @LTLIBINTL@
LTLIBOBJS = @LTLIBOBJS@
LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
-LZMA_LIBS = @LZMA_LIBS@
+LZMAUNSCATHED_LIBS = @LZMAUNSCATHED_LIBS@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
MD_LIBS = @MD_LIBS@
diff -ur orig/dpkg-1.22.6/scripts/Makefile.in dpkg-1.22.6/scripts/Makefile.in
--- orig/dpkg-1.22.6/scripts/Makefile.in 2024-03-10 15:21:24.000000000 -0400
+++ dpkg-1.22.6/scripts/Makefile.in 2024-04-03 02:46:41.065209690 -0400
@@ -324,7 +324,7 @@
LTLIBINTL = @LTLIBINTL@
LTLIBOBJS = @LTLIBOBJS@
LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
-LZMA_LIBS = @LZMA_LIBS@
+LZMAUNSCATHED_LIBS = @LZMAUNSCATHED_LIBS@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
MD_LIBS = @MD_LIBS@
diff -ur orig/dpkg-1.22.6/scripts/mk/Makefile.in dpkg-1.22.6/scripts/mk/Makefile.in
--- orig/dpkg-1.22.6/scripts/mk/Makefile.in 2024-03-10 15:21:24.000000000 -0400
+++ dpkg-1.22.6/scripts/mk/Makefile.in 2024-04-03 02:46:41.077209582 -0400
@@ -245,7 +245,7 @@
LTLIBINTL = @LTLIBINTL@
LTLIBOBJS = @LTLIBOBJS@
LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
-LZMA_LIBS = @LZMA_LIBS@
+LZMAUNSCATHED_LIBS = @LZMAUNSCATHED_LIBS@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
MD_LIBS = @MD_LIBS@
Only in dpkg-1.22.6/scripts/po: Makevars.template
diff -ur orig/dpkg-1.22.6/src/Makefile.in dpkg-1.22.6/src/Makefile.in
--- orig/dpkg-1.22.6/src/Makefile.in 2024-03-10 15:21:24.000000000 -0400
+++ dpkg-1.22.6/src/Makefile.in 2024-04-03 02:46:41.105209332 -0400
@@ -371,7 +371,7 @@
LTLIBINTL = @LTLIBINTL@
LTLIBOBJS = @LTLIBOBJS@
LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
-LZMA_LIBS = @LZMA_LIBS@
+LZMAUNSCATHED_LIBS = @LZMAUNSCATHED_LIBS@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
MD_LIBS = @MD_LIBS@
diff -ur orig/dpkg-1.22.6/utils/Makefile.in dpkg-1.22.6/utils/Makefile.in
--- orig/dpkg-1.22.6/utils/Makefile.in 2024-03-10 15:21:24.000000000 -0400
+++ dpkg-1.22.6/utils/Makefile.in 2024-04-03 02:46:41.129209118 -0400
@@ -326,7 +326,7 @@
LTLIBINTL = @LTLIBINTL@
LTLIBOBJS = @LTLIBOBJS@
LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
-LZMA_LIBS = @LZMA_LIBS@
+LZMAUNSCATHED_LIBS = @LZMAUNSCATHED_LIBS@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
MD_LIBS = @MD_LIBS@
signature.asc
Description: PGP signature

