Package: release.debian.org Control: affects -1 + src:p7zip X-Debbugs-Cc: [email protected], [email protected] User: [email protected] Usertags: pu Tags: bookworm Severity: normal
Hello Release Team, [ Reason ] 7zip and p7zip were recently rebased on 7-Zip 25.01 to address security issues, in bookworm 12.14: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1129934 https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1132466 A similar situation is happening now with the release of 8 new CVEs: https://deb.freexian.com/extended-lts/tracker/source-package/p7zip CVE-2026-48092: SquashFS Fragment Offset Overflow CVE-2026-48095: Heap Buffer Write Overflow CVE-2026-48101: UEFI Capsule uninitialized heap memory disclosure CVE-2026-48102: UDF Field OOB Read CVE-2026-48103: WIM SecurityId OOB read CVE-2026-48104: SquashFS BlockToNode uninitialized heap read CVE-2026-48111: UEFI DEPEX OOB Read CVE-2026-48112: Ar SYMDEF OOB Read whose fixes are again unfortunately lost within upstream mass-commit: https://github.com/ip7z/7zip/commit/8c63d71ff886bda90c86db28466287f977374237 The 7zip maintainer proposed a bookworm update, bumping from 25.01 to 26.01: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1138181 This is a follow-up update doing the same for p7zip. [ Impact ] Users are vulnerable to memory corruption (with potential code execution), information disclosure, and denial-of-service, when handling archives, in various archive formats that p7zip supports. https://securitylab.github.com/advisories/GHSL-2026-140_7-Zip/ https://securitylab.github.com/advisories/GHSL-2026-115_GHSL-2026-122_7-zip/ p7zip is used as a backend by several graphical interfaces (ark, file-roller/engrampa, lxqt-archiver...) and CLIs (mc, atool...). [ Tests ] 7zip/26 is in forky since February, and 7zip/26.01 since May. (The presence of CVE fixes was disclosed only recently.) A new DEP-8 test was added for the 3 p7zip compatibility patches applied on top of the 7-Zip codebase. It caught an inconsistency on 32-bit platforms, which was fixed. Salsa-CI and debusine tests run without regression: https://salsa.debian.org/debian/p7zip/-/pipelines/1099762 https://debusine.debian.net/debian/developers/work-request/804832/#qa PoCs from the reporter were tested against ASAN builds. p7zip-rar/25 was tested against p7zip/26 and does not need an update (Codecs/Rar.so remains compatible). Binary debdiffs report no changes to the installed fileset. Some manual rdeps testing was performed: - GUIs: engrampa/file-roller, ark, lxqt-archiver - CLI wrappers: mc, atool - Usage in test suites: libio-compress-lzma-perl (autopkgtest OK) - Illegal usage of (private) 7z.so: android-platform-external-libunwind (build OK) - SFX (SelF-eXtracting archive, concatenating 7zCon.sfx with a .7z file) - Password encryption (-p / -mhe=on) [ Risks ] As with previous 7zip and p7zip uploads, we weren't able to isolate individual fixes for the CVE with confidence, and bumping to a new upstream release appears to be the sanest path forward. Note however that the 7-Zip codebase and CLI remains remarkably stable over time. [ Checklist ] [X] *all* changes are documented in the d/changelog [X] I reviewed all changes and I approve them [X] attach debdiff against the package in (old)stable [X] the issue is verified as fixed in unstable [ Changes ] - The v26.01 codebase was imported on top of the bookworm p7zip packaging. The tarball is bit-for-bit identical with 7zip/forky's. $ sha256sum 7zip_26.01+dfsg.orig.tar.xz p7zip_16.02+really26.01+dfsg.orig.tar.xz ae0caa31cd8b95b25ede66e048781a268748f8342fbdf273ba9d91f7b4468022 7zip_26.01+dfsg.orig.tar.xz ae0caa31cd8b95b25ede66e048781a268748f8342fbdf273ba9d91f7b4468022 p7zip_16.02+really26.01+dfsg.orig.tar.xz - Add DEP-8 test for p7zip compatibility. - Improve compatibility with legacy p7zip's version output, notably on 32-bit platforms (p7zip-compat-version-output.patch). - Selected forky packaging bits were sync'd: - Updated debian/copyright. - Updated debian/gbp.conf to drop the permissions fix (we now have a cleaner upstream tarball). - Updated Debian man page for new "-spo{d|c|r}" option. - Updated debian/rules and 0001-Accept-Debian-build-flags.patch to clarify specific build environment variables. - Improved wording of NEWS to clarify that isolated 7-Zip CVE fixes were not available. - Update Salsa-CI to drop new uscan test which fails with our explicitly empty debian/watch (we reuse forky's tarball, not regenerate it). - Refresh patches (line number changes). [ Other info ] The previous p7zip/16 rebase on 7zip/25 is now deployed from bookworm down to stretch, and no issues was reported so far, giving further confidence in this approach. A plain debdiff is huge, because the 7zip package maintainer switched to GitHub-generated tarballs which have Unix newlines (upstream tarballs have DOS newlines -- and +x permissions for all files). The attached debdiffs are made against a modified bookworm version, with 'dos2unix' applied to all upstream files and Debian patches, to strip changes due to different newlines and significantly downsize it.
diff -Nru p7zip-16.02+really25.01+dfsg/debian/changelog p7zip-16.02+really26.01+dfsg/debian/changelog
--- p7zip-16.02+really25.01+dfsg/debian/changelog 2026-03-21 19:34:10.000000000 +0100
+++ p7zip-16.02+really26.01+dfsg/debian/changelog 2026-06-02 10:04:31.000000000 +0200
@@ -1,3 +1,31 @@
+p7zip (16.02+really26.01+dfsg-0+deb12u1) bookworm; urgency=high
+
+ * Non-maintainer upload by the LTS Team.
+ * Bump codebase to 7-Zip (not p7zip) upstream 26.01, fixes:
+ CVE-2026-48092: SquashFS Fragment Offset Overflow
+ CVE-2026-48095: Heap Buffer Write Overflow
+ CVE-2026-48101: UEFI Capsule uninitialized heap memory disclosure
+ CVE-2026-48102: UDF Field OOB Read
+ CVE-2026-48103: WIM SecurityId OOB read
+ CVE-2026-48104: SquashFS BlockToNode uninitialized heap read
+ CVE-2026-48111: UEFI DEPEX OOB Read
+ CVE-2026-48112: Ar SYMDEF OOB Read
+ * Adjust packaging for GitHub-generated upstream tarballs (cleaner
+ permissions, Unix-style newlines).
+ * Sync new patches from forky:
+ - Update 0001-Accept-Debian-build-flags
+ - Reject 0008-Use-Wno-error-array-bounds-option-to-some-specific-f
+ (not needed, no GCC 16)
+ * Selectively import packaging from forky:
+ - Update man page for new "-spo{d|c|r}" option.
+ - Update debian/rules.
+ - Update debian/copyright.
+ * Improve NEWS bit.
+ * Add p7zip compatibility tests.
+ * Improve p7zip version output compatibility.
+
+ -- Sylvain Beucler <[email protected]> Tue, 02 Jun 2026 10:04:31 +0200
+
p7zip (16.02+really25.01+dfsg-0+deb12u1) bookworm; urgency=high
* Non-maintainer upload by the LTS Security Team.
diff -Nru p7zip-16.02+really25.01+dfsg/debian/copyright p7zip-16.02+really26.01+dfsg/debian/copyright
--- p7zip-16.02+really25.01+dfsg/debian/copyright 2026-03-04 15:30:33.000000000 +0100
+++ p7zip-16.02+really26.01+dfsg/debian/copyright 2026-06-02 09:19:25.000000000 +0200
@@ -5,7 +5,7 @@
Comment: RAR code is under the non-free "unRAR license restriction"
Files: *
-Copyright: 1999-2021 Igor Pavlov
+Copyright: 1999-2026 Igor Pavlov
License: LGPL-2.1+
Files: Asm/arm64/7zAsm.S
@@ -152,11 +152,17 @@
License: BSD-3-clause
Comment: Some parts come from the "LZFSE compression library"
+Files: C/ZstdDec.c
+Copyright: 2024 Igor Pavlov
+License: BSD-3-clause
+Comment: the code was developed by Igor Pavlov, using Zstandard format
+ specification and original zstd decoder code as reference code.
+
Files: debian/*
Copyright: 2016, Robert Luberda <[email protected]>
- 2004-2012, Mohammed Adnè Trojette <[email protected]>
+ 2004-2012, Mohammed Adnène Trojette <[email protected]>
2021 Collabora, Ltd.
- 2021 YOKOTA Hiroshi <[email protected]>
+ 2021-2026 YOKOTA Hiroshi <[email protected]>
2026 Sylvain Beucler <[email protected]>
License: GPL-2+
diff -Nru p7zip-16.02+really25.01+dfsg/debian/gbp.conf p7zip-16.02+really26.01+dfsg/debian/gbp.conf
--- p7zip-16.02+really25.01+dfsg/debian/gbp.conf 2026-03-04 09:56:39.000000000 +0100
+++ p7zip-16.02+really26.01+dfsg/debian/gbp.conf 2026-06-02 08:44:52.000000000 +0200
@@ -1,6 +1,3 @@
[DEFAULT]
debian-branch = debian/bookworm
-
-[import-orig]
pristine-tar = True
-postunpack = find Asm C CPP DOC -type f -execdir chmod -x {} ";"
diff -Nru p7zip-16.02+really25.01+dfsg/debian/man/7zr.1 p7zip-16.02+really26.01+dfsg/debian/man/7zr.1
--- p7zip-16.02+really25.01+dfsg/debian/man/7zr.1 2026-03-04 15:30:33.000000000 +0100
+++ p7zip-16.02+really26.01+dfsg/debian/man/7zr.1 2026-06-02 09:07:08.000000000 +0200
@@ -211,6 +211,25 @@
\-spf
use fully qualified file paths
.TP
+\-spo{d|c|r}
+specifies the path generation mode for the output directory
+for archive extraction. The output directory path is generated from the path specified
+in the -o{\fI\,dir_path\fR\,} switch and the name of the archive being unpacked.
+.RS
+.TQ
+\-spod
+for Linux/Posix/macOS: -o{\fI\,dir_path\fR\,} specifies the direct path to the output directory.
+The asterisk (*) character in {\fI\,dir_path\fR\,} will not be replaced by the archive name.
+.TQ
+\-spoc
+7-Zip will concatenate the path specified in -o{\fI\,dir_path\fR\,} with the archive name
+to form the final path to the output directory.
+.TQ
+\-spor
+7-Zip will replace asterisk (*) character in the path specified in the -o{\fI\,dir_path\fR\,}
+with the archive name. This is the default option.
+.RE
+.TP
\-ssc[\-]
set sensitive case mode
.TP
diff -Nru p7zip-16.02+really25.01+dfsg/debian/NEWS p7zip-16.02+really26.01+dfsg/debian/NEWS
--- p7zip-16.02+really25.01+dfsg/debian/NEWS 2026-03-04 15:30:33.000000000 +0100
+++ p7zip-16.02+really26.01+dfsg/debian/NEWS 2026-06-02 08:26:14.000000000 +0200
@@ -1,13 +1,14 @@
p7zip (16.02+really25.01+dfsg-0+deb12u1) bookworm; urgency=high
- p7zip, a port of 7-zip for UNIX systems, has been unmaintained
- upstream.
+ p7zip, a port/fork of 7-Zip for UNIX systems, has been unmaintained
+ upstream. Additionally, 7-Zip security fixes are unfortunately not
+ isolated, hence hard to locate, backport and test.
- To fix security vulnerabilities, this update replaces p7zip with a
- recent 7-zip (which now supports GNU/Linux natively), with a couple
- patches to make it reasonably compatible with p7zip.
+ To address security vulnerabilities, this update replaces p7zip with
+ a recent 7-Zip (which now supports GNU/Linux natively), slightly
+ modified to make it reasonably compatible with p7zip.
- -- Sylvain Beucler <[email protected]> Wed, 04 Mar 2026 12:06:56 +0100
+ -- Sylvain Beucler <[email protected]> Sat, 21 Mar 2026 19:34:10 +0100
p7zip (15.09+dfsg-3) experimental; urgency=low
diff -Nru p7zip-16.02+really25.01+dfsg/debian/patches/0001-Accept-Debian-build-flags.patch p7zip-16.02+really26.01+dfsg/debian/patches/0001-Accept-Debian-build-flags.patch
--- p7zip-16.02+really25.01+dfsg/debian/patches/0001-Accept-Debian-build-flags.patch 2026-03-21 19:34:10.000000000 +0100
+++ p7zip-16.02+really26.01+dfsg/debian/patches/0001-Accept-Debian-build-flags.patch 2026-06-02 09:25:32.000000000 +0200
@@ -8,7 +8,7 @@
1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/CPP/7zip/7zip_gcc.mak b/CPP/7zip/7zip_gcc.mak
-index 8fbef14..2756ba4 100644
+index a78c0fa..0e4055f 100644
--- a/CPP/7zip/7zip_gcc.mak
+++ b/CPP/7zip/7zip_gcc.mak
@@ -45,7 +45,7 @@ CFLAGS_DEBUG = -g
@@ -25,7 +25,7 @@
else
SHARED_EXT=.so
-LDFLAGS = -shared -fPIC $(LDFLAGS_STATIC)
-+LDFLAGS = -shared -fPIC $(DEB_LDFLAGS) $(LDFLAGS_STATIC)
++LDFLAGS = -shared -fPIC $(DEB_7Z_LDFLAGS) $(LDFLAGS_STATIC)
CC_SHARED=-fPIC
endif
@@ -33,7 +33,7 @@
else
-LDFLAGS = $(LDFLAGS_STATIC)
-+LDFLAGS = $(DEB_LDFLAGS) $(LDFLAGS_STATIC)
++LDFLAGS = $(DEB_7Z_LDFLAGS) $(LDFLAGS_STATIC)
# -z force-bti
# -s is not required for clang, do we need it for GCC ???
@@ -42,7 +42,7 @@
-CFLAGS = $(MY_ARCH_2) $(LOCAL_FLAGS) $(CFLAGS_BASE2) $(CFLAGS_BASE) $(FLAGS_FLTO) $(CC_SHARED) -o $@
-+CFLAGS = $(DEB_CFLAGS) $(DEB_CPPFLAGS) $(MY_ARCH_2) $(LOCAL_FLAGS) $(CFLAGS_BASE2) $(CFLAGS_BASE) $(FLAGS_FLTO) $(CC_SHARED) -o $@
++CFLAGS = $(DEB_7Z_CFLAGS) $(DEB_7Z_CPPFLAGS) $(MY_ARCH_2) $(LOCAL_FLAGS) $(CFLAGS_BASE2) $(CFLAGS_BASE) $(FLAGS_FLTO) $(CC_SHARED) -o $@
ifdef IS_MINGW
@@ -51,7 +51,7 @@
#-Wno-reorder
-CXXFLAGS = $(MY_ARCH_2) $(LOCAL_FLAGS) $(CXXFLAGS_BASE2) $(CFLAGS_BASE) $(FLAGS_FLTO) $(CXXFLAGS_EXTRA) $(CC_SHARED) $(CXX_WARN_FLAGS) $(CXX_STD_FLAGS) $(CXX_INCLUDE_FLAGS) -o $@
-+CXXFLAGS = $(DEB_CXXFLAGS) $(DEB_CPPFLAGS) $(MY_ARCH_2) $(LOCAL_FLAGS) $(CXXFLAGS_BASE2) $(CFLAGS_BASE) $(FLAGS_FLTO) $(CXXFLAGS_EXTRA) $(CC_SHARED) $(CXX_WARN_FLAGS) $(CXX_STD_FLAGS) $(CXX_INCLUDE_FLAGS) -o $@
++CXXFLAGS = $(DEB_7Z_CXXFLAGS) $(DEB_7Z_CPPFLAGS) $(MY_ARCH_2) $(LOCAL_FLAGS) $(CXXFLAGS_BASE2) $(CFLAGS_BASE) $(FLAGS_FLTO) $(CXXFLAGS_EXTRA) $(CC_SHARED) $(CXX_WARN_FLAGS) $(CXX_STD_FLAGS) $(CXX_INCLUDE_FLAGS) -o $@
STATIC_TARGET=
ifdef COMPL_STATIC
diff -Nru p7zip-16.02+really25.01+dfsg/debian/patches/p7zip-compat-symlinks.patch p7zip-16.02+really26.01+dfsg/debian/patches/p7zip-compat-symlinks.patch
--- p7zip-16.02+really25.01+dfsg/debian/patches/p7zip-compat-symlinks.patch 2026-03-21 19:34:10.000000000 +0100
+++ p7zip-16.02+really26.01+dfsg/debian/patches/p7zip-compat-symlinks.patch 2026-06-02 08:53:12.000000000 +0200
@@ -27,7 +27,7 @@
===================================================================
--- p7zip.orig/CPP/7zip/UI/Common/ArchiveCommandLine.cpp
+++ p7zip/CPP/7zip/UI/Common/ArchiveCommandLine.cpp
-@@ -210,6 +210,9 @@ enum Enum
+@@ -212,6 +212,9 @@ enum Enum
#ifndef Z7_NO_CRYPTO
, kPassword
#endif
@@ -37,7 +37,7 @@
};
}
-@@ -361,6 +364,9 @@ static const CSwitchForm kSwitchForms[]
+@@ -364,6 +367,9 @@ static const CSwitchForm kSwitchForms[]
#ifndef Z7_NO_CRYPTO
, { "p", SWFRM_STRING }
#endif
@@ -47,7 +47,7 @@
};
static const char * const kUniversalWildcard = "*";
-@@ -1475,7 +1481,10 @@ void CArcCmdLineParser::Parse2(CArcCmdLi
+@@ -1581,7 +1587,10 @@ void CArcCmdLineParser::Parse2(CArcCmdLi
SetBoolPair(parser, NKey::kAltStreams, options.AltStreams);
SetBoolPair(parser, NKey::kHardLinks, options.HardLinks);
diff -Nru p7zip-16.02+really25.01+dfsg/debian/patches/p7zip-compat-utf16.patch p7zip-16.02+really26.01+dfsg/debian/patches/p7zip-compat-utf16.patch
--- p7zip-16.02+really25.01+dfsg/debian/patches/p7zip-compat-utf16.patch 2026-03-21 19:34:10.000000000 +0100
+++ p7zip-16.02+really26.01+dfsg/debian/patches/p7zip-compat-utf16.patch 2026-06-02 08:53:18.000000000 +0200
@@ -20,7 +20,7 @@
===================================================================
--- p7zip.orig/CPP/7zip/UI/Common/ArchiveCommandLine.cpp
+++ p7zip/CPP/7zip/UI/Common/ArchiveCommandLine.cpp
-@@ -213,6 +213,8 @@ enum Enum
+@@ -215,6 +215,8 @@ enum Enum
// p7zip compat
, kNoSymLinks
@@ -29,7 +29,7 @@
};
}
-@@ -367,6 +369,8 @@ static const CSwitchForm kSwitchForms[]
+@@ -370,6 +372,8 @@ static const CSwitchForm kSwitchForms[]
// p7zip compat
, { "l", SWFRM_SIMPLE }
diff -Nru p7zip-16.02+really25.01+dfsg/debian/patches/p7zip-compat-version-output.patch p7zip-16.02+really26.01+dfsg/debian/patches/p7zip-compat-version-output.patch
--- p7zip-16.02+really25.01+dfsg/debian/patches/p7zip-compat-version-output.patch 2026-03-21 19:34:10.000000000 +0100
+++ p7zip-16.02+really26.01+dfsg/debian/patches/p7zip-compat-version-output.patch 2026-06-02 08:49:06.000000000 +0200
@@ -1,12 +1,13 @@
Subject: Mimic p7zip version output
Reviewed-by: Sylvain Beucler <[email protected]>
-Last-Update: 2026-03-03
+Last-Update: 2026-06-01
Forwarded: not-needed
Some tools (e.g. ark #1064227) are confused by the new-style 7-Zip
version output.
To improve compatibility with p7zip, use old-style version output.
+Also reproduce bug where 7zr uses '7za' in its output.
Index: p7zip/CPP/7zip/UI/Console/Main.cpp
===================================================================
@@ -20,6 +21,17 @@
#ifdef _WIN32
+@@ -112,8 +113,8 @@ DECLARE_AND_SET_CLIENT_VERSION_VAR
+ #define PROG_POSTFIX "z"
+ #define PROG_POSTFIX_2 " (z)"
+ #elif defined(Z7_PROG_VARIANT_R)
+- #define PROG_POSTFIX "r"
+- #define PROG_POSTFIX_2 " (r)"
++ #define PROG_POSTFIX "a"
++ #define PROG_POSTFIX_2 " (a)"
+ #elif defined(Z7_PROG_VARIANT_A) || !defined(Z7_EXTERNAL_CODECS)
+ #define PROG_POSTFIX "a"
+ #define PROG_POSTFIX_2 " (a)"
@@ -125,7 +126,12 @@ DECLARE_AND_SET_CLIENT_VERSION_VAR
static const char * const kCopyrightString = "\n7-Zip"
@@ -27,7 +39,7 @@
- " " MY_VERSION_CPU
+#ifdef MY_CPU_64BIT
+" [64]"
-+#elif defined MY_CPU_32BIT
++#else
+" [32]"
+#endif
+ " " MY_VERSION
diff -Nru p7zip-16.02+really25.01+dfsg/debian/rules p7zip-16.02+really26.01+dfsg/debian/rules
--- p7zip-16.02+really25.01+dfsg/debian/rules 2026-03-04 15:30:33.000000000 +0100
+++ p7zip-16.02+really26.01+dfsg/debian/rules 2026-06-02 09:35:22.000000000 +0200
@@ -2,7 +2,7 @@
include /usr/share/dpkg/architecture.mk
-export DEB_BUILD_MAINT_OPTIONS=hardening=+all reproducible=+all
+export DEB_BUILD_MAINT_OPTIONS = hardening=+all reproducible=+all
include debian/arch-options.mak
@@ -17,45 +17,45 @@
# $(MAKE) -C CPP/7zip/Bundles/Alone2 -f $(m) \
# CROSS_COMPILE="$(DEB_HOST_GNU_TYPE)-" \
# DISABLE_RAR=1 \
-# DEB_CFLAGS="$(CFLAGS) -pipe" \
-# DEB_CXXFLAGS="$(CXXFLAGS) -pipe" \
-# DEB_CPPFLAGS="$(CPPFLAGS)" \
-# DEB_LDFLAGS="$(LDFLAGS) -pipe"
+# DEB_7Z_CFLAGS="$(CFLAGS)" \
+# DEB_7Z_CXXFLAGS="$(CXXFLAGS)" \
+# DEB_7Z_CPPFLAGS="$(CPPFLAGS)" \
+# DEB_7Z_LDFLAGS="$(LDFLAGS)"
$(MAKE) -C CPP/7zip/Bundles/Format7zF -f $(m) \
CROSS_COMPILE="$(DEB_HOST_GNU_TYPE)-" \
DISABLE_RAR_COMPRESS=1 \
- DEB_CFLAGS="$(CFLAGS) -pipe" \
- DEB_CXXFLAGS="$(CXXFLAGS) -pipe" \
- DEB_CPPFLAGS="$(CPPFLAGS)" \
- DEB_LDFLAGS="$(LDFLAGS) -pipe"
+ DEB_7Z_CFLAGS="$(CFLAGS)" \
+ DEB_7Z_CXXFLAGS="$(CXXFLAGS)" \
+ DEB_7Z_CPPFLAGS="$(CPPFLAGS)" \
+ DEB_7Z_LDFLAGS="$(LDFLAGS)"
$(MAKE) -C CPP/7zip/UI/Console -f $(m) \
CROSS_COMPILE="$(DEB_HOST_GNU_TYPE)-" \
DISABLE_RAR=1 \
- DEB_CFLAGS="$(CFLAGS) -pipe" \
- DEB_CXXFLAGS="$(CXXFLAGS) -pipe" \
- DEB_CPPFLAGS="$(CPPFLAGS)" \
- DEB_LDFLAGS="$(LDFLAGS) -pipe"
+ DEB_7Z_CFLAGS="$(CFLAGS)" \
+ DEB_7Z_CXXFLAGS="$(CXXFLAGS)" \
+ DEB_7Z_CPPFLAGS="$(CPPFLAGS)" \
+ DEB_7Z_LDFLAGS="$(LDFLAGS)"
$(MAKE) -C CPP/7zip/Bundles/SFXCon -f $(m) \
CROSS_COMPILE="$(DEB_HOST_GNU_TYPE)-" \
DISABLE_RAR=1 \
- DEB_CFLAGS="$(CFLAGS) -pipe" \
- DEB_CXXFLAGS="$(CXXFLAGS) -pipe" \
- DEB_CPPFLAGS="$(CPPFLAGS)" \
- DEB_LDFLAGS="$(LDFLAGS) -pipe"
+ DEB_7Z_CFLAGS="$(CFLAGS)" \
+ DEB_7Z_CXXFLAGS="$(CXXFLAGS)" \
+ DEB_7Z_CPPFLAGS="$(CPPFLAGS)" \
+ DEB_7Z_LDFLAGS="$(LDFLAGS)"
$(MAKE) -C CPP/7zip/Bundles/Alone -f $(m) \
CROSS_COMPILE="$(DEB_HOST_GNU_TYPE)-" \
DISABLE_RAR=1 \
- DEB_CFLAGS="$(CFLAGS) -pipe" \
- DEB_CXXFLAGS="$(CXXFLAGS) -pipe" \
- DEB_CPPFLAGS="$(CPPFLAGS)" \
- DEB_LDFLAGS="$(LDFLAGS) -pipe"
+ DEB_7Z_CFLAGS="$(CFLAGS)" \
+ DEB_7Z_CXXFLAGS="$(CXXFLAGS)" \
+ DEB_7Z_CPPFLAGS="$(CPPFLAGS)" \
+ DEB_7Z_LDFLAGS="$(LDFLAGS)"
$(MAKE) -C CPP/7zip/Bundles/Alone7z -f $(m) \
CROSS_COMPILE="$(DEB_HOST_GNU_TYPE)-" \
DISABLE_RAR=1 \
- DEB_CFLAGS="$(CFLAGS) -pipe" \
- DEB_CXXFLAGS="$(CXXFLAGS) -pipe" \
- DEB_CPPFLAGS="$(CPPFLAGS)" \
- DEB_LDFLAGS="$(LDFLAGS) -pipe"
+ DEB_7Z_CFLAGS="$(CFLAGS)" \
+ DEB_7Z_CXXFLAGS="$(CXXFLAGS)" \
+ DEB_7Z_CPPFLAGS="$(CPPFLAGS)" \
+ DEB_7Z_LDFLAGS="$(LDFLAGS)"
override_dh_auto_clean:
$(MAKE) -C CPP/7zip/Bundles/Alone2 -f $(m) clean
diff -Nru p7zip-16.02+really25.01+dfsg/debian/salsa-ci.yml p7zip-16.02+really26.01+dfsg/debian/salsa-ci.yml
--- p7zip-16.02+really25.01+dfsg/debian/salsa-ci.yml 2026-03-04 15:30:33.000000000 +0100
+++ p7zip-16.02+really26.01+dfsg/debian/salsa-ci.yml 2026-06-02 08:26:14.000000000 +0200
@@ -1,3 +1,6 @@
---
include:
- https://salsa.debian.org/salsa-ci-team/pipeline/raw/master/recipes/debian.yml
+
+variables:
+ SALSA_CI_DISABLE_USCAN: 1
diff -Nru p7zip-16.02+really25.01+dfsg/debian/tests/control p7zip-16.02+really26.01+dfsg/debian/tests/control
--- p7zip-16.02+really25.01+dfsg/debian/tests/control 2026-03-04 15:30:33.000000000 +0100
+++ p7zip-16.02+really26.01+dfsg/debian/tests/control 2026-06-02 08:26:14.000000000 +0200
@@ -30,3 +30,5 @@
Features: test-name=benchmark-7z-full
Test-Command: 7z b "-mm=*" "-mmt=*" -bt
Architecture: !armhf
+
+Tests: p7zip-compat
diff -Nru p7zip-16.02+really25.01+dfsg/debian/tests/p7zip-compat p7zip-16.02+really26.01+dfsg/debian/tests/p7zip-compat
--- p7zip-16.02+really25.01+dfsg/debian/tests/p7zip-compat 1970-01-01 01:00:00.000000000 +0100
+++ p7zip-16.02+really26.01+dfsg/debian/tests/p7zip-compat 2026-06-02 08:26:14.000000000 +0200
@@ -0,0 +1,32 @@
+#!/bin/bash
+
+# stop and fail on error
+set -e
+
+cd $AUTOPKGTEST_TMP
+
+echo
+echo "[compat-version-output]"
+7z | grep -F 'p7zip Version 16.02'
+7z -h | grep -E '7-Zip \[(32|64)\]'
+7zr -h | grep -E '7-Zip \(a\) \[(32|64)\]'
+echo "OK"
+
+echo
+echo "[compat-symlinks]"
+# symlinks by default, -l to dereference
+mkdir -p symlinks
+echo "hello, world" > symlinks/a
+ln -nfs a symlinks/b
+7z a test-symlinks.7z symlinks/ > /dev/null
+7z l -slt test-symlinks.7z symlinks/b | grep -E '^Attributes = A_? l'
+7z a -l test-nosymlinks.7z symlinks/ > /dev/null
+7z l -slt test-nosymlinks.7z symlinks/b | grep -E '^Attributes = A_? -'
+echo "OK"
+
+echo
+echo "[compat-utf16]"
+# accepts -utf16 and -no-utf16 as valid options
+7z a -utf16 test-utf16-options.7z /bin/ls > /dev/null
+7z a -no-utf16 test-utf16-options.7z /bin/ls > /dev/null
+echo "OK"
p7zip_16.02+really26.01+dfsg-0+deb12u1.diff.gz
Description: application/gzip

