|
Server IP : 10.2.73.233 / Your IP : 216.73.216.47 Web Server : Apache/2.4.59 (Debian) System : Linux polon 4.19.0-27-amd64 #1 SMP Debian 4.19.316-1 (2024-06-25) x86_64 User : www-data ( 33) PHP Version : 5.6.40-64+0~20230107.71+debian10~1.gbp673146 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority, MySQL : ON | cURL : ON | WGET : ON | Perl : ON | Python : ON Directory (0755) : /home/../usr/lib/tasksel/../dkms/ |
| [ Home ] | [ C0mmand ] | [ Upload File ] |
|---|
#!/bin/sh
# Common autopkgtest script for testing a dkms source package.
# Author: Martin Pitt <martin.pitt@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