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 <p...@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 <da...@debian.org>, Mario Limonciello <mario_limoncie...@dell.com>, Giuseppe Iuculano <iucul...@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.p...@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