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@

Attachment: signature.asc
Description: PGP signature

Reply via email to