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