[Pkg-dkms-maint] Bug#822351: dkms: Patch used in 2.2.0.3-2.1 NMU

Petter Reinholdtsen pere at hungry.com
Sat Apr 23 18:02:14 UTC 2016


Package: dkms
Version: 2.2.0.3-2.1
Severity: wishlist
Tags: patch

I just uploaded a NMU of dkms to the 3 day delayed queue.  This is the
patch I used.  The dkms-autopkgtest script was fetched from the latest
version in Ubuntu.

diff --git a/debian/changelog b/debian/changelog
index 32db9e2..757b8dc 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,11 @@
+dkms (2.2.0.3-2.1) unstable; urgency=medium
+
+  * Non-maintainer upload.
+  * Add dkms-autopkgtest script from Ubuntu (Closes: #769095).
+  * Updated Standards-Version from 3.9.2 to 3.9.7.
+
+ -- Petter Reinholdtsen <pere at debian.org>  Sat, 23 Apr 2016 19:55:25 +0200
+
 dkms (2.2.0.3-2) unstable; urgency=low
 
   * [49fccbc] Depends on kmod | kldutils (Closes: #761728)
diff --git a/debian/control b/debian/control
index 540118e..8cade15 100644
--- a/debian/control
+++ b/debian/control
@@ -6,7 +6,7 @@ Uploaders: David Paleino <dapal at debian.org>,
  Mario Limonciello <Mario_Limonciello at dell.com>,
  Giuseppe Iuculano <iuculano at debian.org>
 Build-Depends: debhelper (>= 7.0.50~), quilt
-Standards-Version: 3.9.2
+Standards-Version: 3.9.7
 Homepage: http://linux.dell.com/dkms
 Vcs-Git: git://git.debian.org/pkg-dkms/dkms.git
 Vcs-Browser: http://git.debian.org/?p=pkg-dkms/dkms.git
diff --git a/debian/install b/debian/install
index bc5fcae..5958410 100644
--- a/debian/install
+++ b/debian/install
@@ -2,3 +2,4 @@ debian/scripts/dh_dkms      usr/bin
 debian/scripts/dh_dkms.1    usr/share/man/man1/
 debian/scripts/*-dkms       usr/share/debhelper/autoscripts/
 debian/scripts/dkms.pm      usr/share/perl5/Debian/Debhelper/Sequence/
+debian/scripts/dkms-autopkgtest usr/lib/dkms/
diff --git a/debian/scripts/dkms-autopkgtest b/debian/scripts/dkms-autopkgtest
new file mode 100755
index 0000000..c6b702b
--- /dev/null
+++ b/debian/scripts/dkms-autopkgtest
@@ -0,0 +1,69 @@
+#!/bin/sh
+# Common autopkgtest script for testing a dkms source package.
+# Author: Martin Pitt <martin.pitt at ubuntu.com>
+# Copyright: (C) 2014 Canonical Ltd.
+set -eu
+
+run_pkg() {
+    pkg="$1"
+
+    echo "I: Installing binary package $pkg"
+    export DEBIAN_FRONTEND=noninteractive
+    RC=0
+    apt-get install -yq $pkg </dev/null || RC=$?
+
+    # collect build logs as artifacts
+    if [ -d /var/lib/dkms ]; then
+        (cd /var/lib/dkms; find -name "make.log" -print0 | xargs -0 tar c) > "$ADT_ARTIFACTS/$pkg-make-logs.tar"
+    fi
+
+    if [ "$RC" -ne 0 ]; then
+        echo "E: Package $pkg failed to install" >&2
+        exit 1
+    fi
+
+    echo "I: Testing binary package $pkg"
+
+    if ! dkms_conf=$(dpkg -L $pkg | grep 'dkms.conf$'); then
+        echo "I: Package $pkg has no dkms.conf, skipping"
+        return
+    fi
+    dkms_pkg=$(bash -c ". $dkms_conf; echo \$PACKAGE_NAME" 2>/dev/null)
+
+    echo "I: Testing if $dkms_pkg modules are correctly installed"
+    dkmsstatus="$(dkms status $dkms_pkg)"
+    if [ -z "$dkmsstatus" ]; then
+        echo "E: dkms status output is empty!" >&2
+        exit 1
+    fi
+    echo "$dkmsstatus"
+
+    if ! echo "$dkmsstatus" | grep -q "installed$"; then
+        echo "E: not installed" >&2
+        exit 1
+    fi
+
+    # skip modprobing for now; this fails too often (needs particular
+    # hardware/firmware/etc)
+    # for mod in $(awk -F '"' '/^BUILT_MODULE_NAME/ {print $2}' $dkms_conf); do
+    #     echo "I: modprobe $mod"
+    #     if ! modprobe $mod; then
+    #         echo "E: Failed to modprobe module $mod" >&2
+    #         exit 1
+    #     else
+    #         echo "I: $modname loaded"
+    #     fi
+    # done
+}
+
+# Try and remove dkms to spot packages which miss a dkms dependency
+dpkg --remove dkms || true
+
+for pkg in $(awk '/^Package:/ { print $2 }' debian/control); do
+    # package might be arch: restriction or udeb etc.
+    if ! apt-cache show $pkg >/dev/null 2>&1; then
+        echo "I: Skipping unavailable package $pkg"
+        continue
+    fi
+    run_pkg $pkg
+done

-- 
Happy hacking
Petter Reinholdtsen



More information about the Pkg-dkms-maint mailing list