Source: xtables-addons
Version: 3.27-3
Severity: serious
Tags: patch
Justification: -source is currently unable to build modules

Hi,

I have a few updates for the dkms and module-assistant support of this
package. The -source package currently fails to build module packages.
This is fixed and an autopkgtest is added to automatically detect
breakage in the future.

To simplify packaging modules depending on xtables-addons (e.g.
west-chamber), let's ship the compat_*.h headers in the -common package.
That way we can simply depend on that package and set a static include
path instead of doing funny 'find, ln, cp, tar xf, echo' dances to get
to the headers from the -dkms or -source package.


Thanks for considering.


Andreas
>From 2c9f312ec07859876d071164b412d75a93877768 Mon Sep 17 00:00:00 2001
From: Andreas Beckmann <a...@debian.org>
Date: Wed, 19 Feb 2025 21:51:16 +0100
Subject: [PATCH 1/6] dkms.conf: Declare BUILD_EXCLUSIVE_KERNEL_MIN="4.20" for
 using HASH_MAX_DESCSIZE

---
 debian/xtables-addons-dkms.dkms.in | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/debian/xtables-addons-dkms.dkms.in 
b/debian/xtables-addons-dkms.dkms.in
index 740bd23..539b62b 100644
--- a/debian/xtables-addons-dkms.dkms.in
+++ b/debian/xtables-addons-dkms.dkms.in
@@ -4,6 +4,9 @@ PACKAGE_VERSION="@VERSION@"
 
 PACKAGE_NAME="xtables-addons"
 
+# HASH_MAX_DESCSIZE
+BUILD_EXCLUSIVE_KERNEL_MIN="4.20"
+
 BUILD_DIR="$dkms_tree/${PACKAGE_NAME}/${PACKAGE_VERSION}/build"
 MAKEARGS="-C $kernel_source_dir \
           M=${BUILD_DIR}/extensions \
-- 
2.39.5

>From ccbcdbccc6313d3acc3d630b107b8c59c6527655 Mon Sep 17 00:00:00 2001
From: Andreas Beckmann <a...@debian.org>
Date: Wed, 19 Feb 2025 21:54:35 +0100
Subject: [PATCH 2/6] xtables-addons-source: Promote module-assistant to a
 dependency

This is nowadays the only supported way to build modules from the
-source package.
---
 debian/control | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/debian/control b/debian/control
index 1d8bfa9..6350905 100644
--- a/debian/control
+++ b/debian/control
@@ -68,11 +68,10 @@ Multi-Arch: foreign
 Depends:
  debhelper-compat (= 13),
  bzip2,
+ module-assistant,
  ${misc:Depends},
 Pre-Depends:
  ${misc:Pre-Depends},
-Recommends:
- module-assistant,
 Description: Additional targets and matches for iptables [sources for 
module-assistant]
  Xtables-addons provides extra modules for iptables not present in the kernel,
  and is the successor of patch-o-matic.  It contains matches and targets such
-- 
2.39.5

>From 90a54b56a5ea0b36a600c1eca1680dc91ccfe078 Mon Sep 17 00:00:00 2001
From: Andreas Beckmann <a...@debian.org>
Date: Wed, 19 Feb 2025 21:58:03 +0100
Subject: [PATCH 3/6] Add autopkgtest for the -source package

---
 debian/tests/control | 11 +++++++++++
 1 file changed, 11 insertions(+)
 create mode 100644 debian/tests/control

diff --git a/debian/tests/control b/debian/tests/control
new file mode 100644
index 0000000..52f67c2
--- /dev/null
+++ b/debian/tests/control
@@ -0,0 +1,11 @@
+Test-Command: /usr/share/modass/module-assistant-autopkgtest 
xtables-addons-source
+Features: test-name=m-a-autopkgtest
+Depends:
+ xtables-addons-source,
+ module-assistant-autopkgtest,
+ linux-doc,
+Restrictions:
+ superficial,
+ needs-root,
+ breaks-testbed,
+ allow-stderr,
-- 
2.39.5

>From 8abc78fcab6c128da8cb53510bd8c149a40137cd Mon Sep 17 00:00:00 2001
From: Andreas Beckmann <a...@debian.org>
Date: Wed, 19 Feb 2025 22:06:29 +0100
Subject: [PATCH 4/6] Fix building twice in a row

---
 debian/rules | 1 +
 1 file changed, 1 insertion(+)

diff --git a/debian/rules b/debian/rules
index 000f1a8..2957525 100755
--- a/debian/rules
+++ b/debian/rules
@@ -26,6 +26,7 @@ SOURCE_MODULES_DIR = $(SOURCE_SRC_DIR)/modules
 
 override_dh_auto_clean:
        dh_auto_clean --no-parallel
+       find extensions -name '*.oo.d' -print -delete
 
 override_dh_clean:
        dh_clean $(SOURCE_BUILD_DIR)/ $(DKMS_CONF)
-- 
2.39.5

>From 8c4062d330833640dc561d0dac70716834ce124d Mon Sep 17 00:00:00 2001
From: Andreas Beckmann <a...@debian.org>
Date: Wed, 19 Feb 2025 22:50:52 +0100
Subject: [PATCH 5/6] xtables-addons-source: Generate debian/control on the fly

---
 debian/control       | 2 +-
 debian/rules         | 1 -
 debian/rules.modules | 5 ++++-
 3 files changed, 5 insertions(+), 3 deletions(-)

diff --git a/debian/control b/debian/control
index 6350905..7d09095 100644
--- a/debian/control
+++ b/debian/control
@@ -68,7 +68,7 @@ Multi-Arch: foreign
 Depends:
  debhelper-compat (= 13),
  bzip2,
- module-assistant,
+ module-assistant (>= 0.11.14~),
  ${misc:Depends},
 Pre-Depends:
  ${misc:Pre-Depends},
diff --git a/debian/rules b/debian/rules
index 2957525..85d857c 100755
--- a/debian/rules
+++ b/debian/rules
@@ -61,7 +61,6 @@ build_source:
                $(SOURCE_BUILD_DIR)/extensions/pknock
        cp \
                debian/changelog \
-               debian/control \
                debian/control.modules.in \
                debian/copyright \
                $(SOURCE_BUILD_DIR)/debian
diff --git a/debian/rules.modules b/debian/rules.modules
index 1eedd98..651c182 100755
--- a/debian/rules.modules
+++ b/debian/rules.modules
@@ -16,7 +16,7 @@ PACKAGE = xtables-addons-modules
 -include /usr/share/modass/include/generic.make
 -include /usr/share/modass/include/common-rules.make
 
-kdist_clean:
+kdist_clean: | debian/control
        dh clean
 
 kdist_config: prep-deb-files
@@ -35,5 +35,8 @@ override_dh_auto_install:
 override_dh_auto_clean:
        $(MAKE) $(MAKEARGS) clean
 
+override_dh_clean:
+       dh_clean $(patsubst %.modules.in,%,$(wildcard debian/*.modules.in))
+
 override_dh_builddeb:
        dh_builddeb --destdir=$(DEB_DESTDIR)
-- 
2.39.5

>From 1251dfa059736a01738614702d76f7d8436b7be5 Mon Sep 17 00:00:00 2001
From: Andreas Beckmann <a...@debian.org>
Date: Mon, 24 Feb 2025 10:51:34 +0100
Subject: [PATCH 6/6] xtables-addons-common: Ship compat_*.h for use by
 dependent modules

---
 debian/xtables-addons-common.install | 1 +
 1 file changed, 1 insertion(+)

diff --git a/debian/xtables-addons-common.install 
b/debian/xtables-addons-common.install
index c71d4f5..2659abc 100644
--- a/debian/xtables-addons-common.install
+++ b/debian/xtables-addons-common.install
@@ -3,3 +3,4 @@ usr/lib/${DEB_HOST_MULTIARCH}/lib*.so.*
 usr/lib/${DEB_HOST_MULTIARCH}/xtables
 usr/libexec/xtables-addons
 usr/sbin/*
+extensions/compat_*.h                          
usr/include/xtables-addons/extensions/
-- 
2.39.5

Reply via email to