Package: rtpengine
Version: 10.5.3.1-1
Severity: serious
Tags: patch

Hi,

src:rtpengine is the only package in the archive the builds a -dkms
package without using the dkms packaging helpers.
Please switch to dh-sequence-dkms instead of using handcrafted code,
a patch doing this is attached.
This also enables the dkms autopkgtest for this package, s.t. building
the kernel module is tested whenever a new kernel version gets uploaded.

Andreas
diff -Nru rtpengine-10.5.3.3/debian/changelog 
rtpengine-10.5.3.3/debian/changelog
--- rtpengine-10.5.3.3/debian/changelog 2023-01-31 08:32:14.000000000 +0100
+++ rtpengine-10.5.3.3/debian/changelog 2023-01-31 23:48:05.000000000 +0100
@@ -1,3 +1,10 @@
+rtpengine (10.5.3.3-2) UNRELEASED; urgency=medium
+
+  * Use dh-sequence-dkms instead of manual dkms handling.
+  * Declare Testsuite: autopkgtest-pkg-dkms.
+
+ -- Andreas Beckmann <a...@debian.org>  Tue, 31 Jan 2023 23:48:05 +0100
+
 rtpengine (10.5.3.3-1) unstable; urgency=medium
 
   * New upstream version 10.5.3.3
diff -Nru rtpengine-10.5.3.3/debian/control rtpengine-10.5.3.3/debian/control
--- rtpengine-10.5.3.3/debian/control   2023-01-31 08:32:14.000000000 +0100
+++ rtpengine-10.5.3.3/debian/control   2023-01-31 23:48:05.000000000 +0100
@@ -10,6 +10,7 @@
 Standards-Version: 4.6.1
 Build-Depends:
  debhelper-compat (= 13),
+ dh-sequence-dkms,
  default-libmysqlclient-dev,
  gperf,
  libavcodec-dev (>= 6:10),
@@ -48,6 +49,7 @@
  python3,
  python3-websockets,
  zlib1g-dev,
+Testsuite: autopkgtest-pkg-dkms
 
 Package: rtpengine-daemon
 Architecture: any
@@ -136,7 +138,6 @@
 Section: kernel
 Architecture: all
 Depends:
- dkms (>= 1.95),
  lsb-release,
  ${misc:Depends},
 Conflicts:
diff -Nru rtpengine-10.5.3.3/debian/dkms.conf.in 
rtpengine-10.5.3.3/debian/dkms.conf.in
--- rtpengine-10.5.3.3/debian/dkms.conf.in      2023-01-31 08:32:14.000000000 
+0100
+++ rtpengine-10.5.3.3/debian/dkms.conf.in      1970-01-01 01:00:00.000000000 
+0100
@@ -1,7 +0,0 @@
-PACKAGE_NAME="rtpengine"
-PACKAGE_VERSION="__VERSION__"
-MAKE[0]="make -C ${kernel_source_dir} 
M=${dkms_tree}/${PACKAGE_NAME}/${PACKAGE_VERSION}/build 
RTPENGINE_VERSION=\"__VERSION__\""
-CLEAN="make -C ${kernel_source_dir} 
M=${dkms_tree}/${PACKAGE_NAME}/${PACKAGE_VERSION}/build clean"
-AUTOINSTALL=yes
-BUILT_MODULE_NAME[0]="xt_RTPENGINE"
-DEST_MODULE_LOCATION[0]=/extra
diff -Nru rtpengine-10.5.3.3/debian/rtpengine-kernel-dkms.dkms 
rtpengine-10.5.3.3/debian/rtpengine-kernel-dkms.dkms
--- rtpengine-10.5.3.3/debian/rtpengine-kernel-dkms.dkms        1970-01-01 
01:00:00.000000000 +0100
+++ rtpengine-10.5.3.3/debian/rtpengine-kernel-dkms.dkms        2023-01-31 
23:48:05.000000000 +0100
@@ -0,0 +1,7 @@
+PACKAGE_NAME="rtpengine"
+PACKAGE_VERSION="#MODULE_VERSION#"
+MAKE[0]="make -C ${kernel_source_dir} 
M=${dkms_tree}/${PACKAGE_NAME}/${PACKAGE_VERSION}/build 
RTPENGINE_VERSION=\"${PACKAGE_VERSION}\""
+CLEAN="make -C ${kernel_source_dir} 
M=${dkms_tree}/${PACKAGE_NAME}/${PACKAGE_VERSION}/build clean"
+AUTOINSTALL=yes
+BUILT_MODULE_NAME[0]="xt_RTPENGINE"
+DEST_MODULE_LOCATION[0]=/extra
diff -Nru rtpengine-10.5.3.3/debian/rtpengine-kernel-dkms.install 
rtpengine-10.5.3.3/debian/rtpengine-kernel-dkms.install
--- rtpengine-10.5.3.3/debian/rtpengine-kernel-dkms.install     1970-01-01 
01:00:00.000000000 +0100
+++ rtpengine-10.5.3.3/debian/rtpengine-kernel-dkms.install     2023-01-31 
23:48:05.000000000 +0100
@@ -0,0 +1,3 @@
+kernel-module/Makefile usr/src/rtpengine-${env:DEB_VERSION_UPSTREAM}
+kernel-module/*.c      usr/src/rtpengine-${env:DEB_VERSION_UPSTREAM}
+kernel-module/*.h      usr/src/rtpengine-${env:DEB_VERSION_UPSTREAM}
diff -Nru rtpengine-10.5.3.3/debian/rtpengine-kernel-dkms.postinst 
rtpengine-10.5.3.3/debian/rtpengine-kernel-dkms.postinst
--- rtpengine-10.5.3.3/debian/rtpengine-kernel-dkms.postinst    2023-01-31 
08:32:14.000000000 +0100
+++ rtpengine-10.5.3.3/debian/rtpengine-kernel-dkms.postinst    2023-01-31 
23:48:05.000000000 +0100
@@ -2,45 +2,21 @@
 
 set -e
 
-package=rtpengine-kernel-dkms
-name=rtpengine
-
-version=$(dpkg-query -W -f="\${Version}" "$package" \
-               |rev|cut -d- -f2-|rev|cut -d':' -f2|tr -d "\n")
-
-
 if [ -x "$(command -v ngcp-virt-identify)" ]; then
        if ngcp-virt-identify --type container; then
                VIRT="yes"
        fi
 fi
 
+#DEBHELPER#
+
 if [ "$VIRT" = "yes" ]; then
        echo "Container environment detected. Skip dkms"
 else
-       isadded=$(dkms status -m "$name" -v "$version")
-       if [ -z "${isadded}" ] ; then
-               dkms add -m "$name" -v "$version"
-       fi
-
        if [ "$1" = 'configure' ] ; then
-                KERNELS=$(ls /lib/modules/ 2>/dev/null || true)
-                for kernel in $KERNELS; do
-                        if [ ! -r "/lib/modules/$kernel/build" ]; then
-                                # cannot build modules for this kernel
-                                continue
-                        fi
-                       ( dkms build -m "$name" -v "$version" -k "$kernel" && 
dkms install -m "$name" -v "$version" -k "$kernel" ) || true
-                done
-
                # try to start the daemon
                if [ -x /etc/init.d/rtpengine-daemon ] ; then
                        invoke-rc.d rtpengine-daemon restart || true
                fi
        fi
 fi
-
-#DEBHELPER#
-
-exit 0
-
diff -Nru rtpengine-10.5.3.3/debian/rtpengine-kernel-dkms.prerm 
rtpengine-10.5.3.3/debian/rtpengine-kernel-dkms.prerm
--- rtpengine-10.5.3.3/debian/rtpengine-kernel-dkms.prerm       2023-01-31 
08:32:14.000000000 +0100
+++ rtpengine-10.5.3.3/debian/rtpengine-kernel-dkms.prerm       2023-01-31 
23:48:05.000000000 +0100
@@ -2,29 +2,10 @@
 
 set -e
 
-package=rtpengine-kernel-dkms
-name=rtpengine
 modname=xt_RTPENGINE
 
-version=$(dpkg-query -W -f="\${Version}" "$package" \
-        |rev|cut -d- -f2-|rev|cut -d':' -f2|tr -d "\n")
-
-if [ -x "$(command -v ngcp-virt-identify)" ]; then
-       if ngcp-virt-identify --type container; then
-               VIRT="yes"
-       fi
-fi
-
 # make sure it's not running
 service rtpengine-daemon stop || true
 rmmod "$modname" 2>/dev/null || true
 
-if [ "$VIRT" = "yes" ]; then
-       echo "Container environment detected. Skip dkms"
-else
-       dkms remove -m "$name" -v "$version" --all || true
-fi
-
 #DEBHELPER#
-
-exit 0
diff -Nru rtpengine-10.5.3.3/debian/rules rtpengine-10.5.3.3/debian/rules
--- rtpengine-10.5.3.3/debian/rules     2023-01-31 08:32:14.000000000 +0100
+++ rtpengine-10.5.3.3/debian/rules     2023-01-31 23:48:05.000000000 +0100
@@ -6,15 +6,7 @@
 
 include /usr/share/dpkg/pkg-info.mk
 
-## kernel package specific stuff
-# Name of the dkms package
-pdkms:=rtpengine-kernel-dkms
-# short upstream name, used for module source directory
-sname:=rtpengine
-# Source version
-sversion:=$(DEB_VERSION_UPSTREAM)
-## end of kernel package specific stuff
-
+export DEB_VERSION_UPSTREAM
 export XTABLES_DIR := $(shell pkg-config xtables --variable=xtlibdir || echo 
/lib/xtables)
 
 ifneq (,$(filter $(DEB_BUILD_PROFILES),pkg.rtpengine.no-transcoding))
@@ -31,18 +23,12 @@
        dh $@
 
 execute_before_dh_auto_install-indep:
-       # Create the directories to install the source into
-       dh_installdirs -p$(pdkms)    usr/src/$(sname)-$(sversion)
-
-       # Copy only the driver source to the proper locations
-       cd kernel-module && cp Makefile *.c *.h 
../debian/$(pdkms)/usr/src/$(sname)-$(sversion)
-
-       # Prepare dkms.conf from the dkms.conf.in template
-       sed "s/__VERSION__/$(sversion)/g" debian/dkms.conf.in > 
debian/$(pdkms)/usr/src/$(sname)-$(sversion)/dkms.conf
-
        # markdown README
        markdown README.md | gzip -9n > debian/README.html.gz
        gzip -9n < README.md > debian/README.md.gz
 
 execute_after_dh_installsystemd:
        dh_installsystemd -prtpengine-recording-daemon 
--name=rtpengine-recording-nfs-mount
+
+override_dh_dkms:
+       dh_dkms -V $(DEB_VERSION_UPSTREAM)

Reply via email to