[Pkg-dkms-commits] [dkms] 01/05: Add dkms-autopkgtest script from Ubuntu (Closes: #769095).
Petter Reinholdtsen
pere at moszumanska.debian.org
Tue Apr 26 21:04:26 UTC 2016
This is an automated email from the git hooks/post-receive script.
pere pushed a commit to branch master
in repository dkms.
commit bbe6971f5c9c6668307b18449af2e73535723c04
Author: Petter Reinholdtsen <pere at hungry.com>
Date: Sun Apr 24 00:17:30 2016 +0200
Add dkms-autopkgtest script from Ubuntu (Closes: #769095).
---
debian/install | 1 +
debian/scripts/dkms-autopkgtest | 69 +++++++++++++++++++++++++++++++++++++++++
2 files changed, 70 insertions(+)
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
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-dkms/dkms.git
More information about the Pkg-dkms-commits
mailing list