From ca88d3e0001f19b611bfc0a0a8e8dc92b0bf6b90 Mon Sep 17 00:00:00 2001 From: Juan RP Date: Mon, 17 Dec 2012 15:05:25 +0100 Subject: [PATCH] xbps-triggers: dkms: do not fail when a module was previously added. --- srcpkgs/xbps-triggers/files/dkms | 28 +++++++++++++++++++++------- srcpkgs/xbps-triggers/template | 2 +- 2 files changed, 22 insertions(+), 8 deletions(-) diff --git a/srcpkgs/xbps-triggers/files/dkms b/srcpkgs/xbps-triggers/files/dkms index 093814c7228..4cb9e57e66c 100755 --- a/srcpkgs/xbps-triggers/files/dkms +++ b/srcpkgs/xbps-triggers/files/dkms @@ -31,7 +31,7 @@ remove_modules() while [ $# -gt 0 ]; do $DKMS status -m "$1" | while read line; do if $(echo "$line" | egrep -vq '(added|built|installed)'); then - shift; shift; continue + shift 2; continue fi _modver=$(echo "$line"|sed "s/$1,[[:blank:]]\([^,]*\)[,:].*/\1/;t;d") _kver=$(echo "$line"|awk '{print $3}'|sed "s/\(.*\),$/\1/") @@ -43,23 +43,28 @@ remove_modules() echo "FAILED!" fi done - shift; shift; + shift 2 done } add_modules() { + local rval= + # Add/build and install the specified modules for all kernels. set -- ${dkms_modules} while [ $# -gt 0 ]; do $DKMS add -m "$1" -v "$2" >/dev/null 2>&1 - if [ $? -eq 0 ]; then + rval=$? + if [ $rval -eq 0 ]; then echo "Added DKMS module '$1-$2'." + elif [ $rval -eq 3 ]; then + echo "DKMS module '$1-$2' already added, skipping." else echo "Failed to add DKMS module: '$1-$2'..." err=1 fi - shift; shift; + shift 2 done [ -n "$err" ] && exit $err @@ -71,9 +76,18 @@ add_modules() fi set -- ${dkms_modules} while [ $# -gt 0 ]; do + echo -n "Building DKMS module '$1-$2' for kernel-${_kver}... " + $DKMS build -m "$1" -v "$2" -k "${_kver}" >/dev/null 2>&1 + if [ $? -eq 0 ]; then + echo "done." + else + echo "FAILED!" + echo "DKMS module '$1-$2' failed to build, please check /var/lib/dkms" + echo "for errors in the log file." + shift 2; continue + fi echo -n "Installing DKMS module '$1-$2' for kernel-${_kver}... " - $DKMS build -m "$1" -v "$2" -k "${_kver}" >/dev/null 2>&1 && \ - $DKMS install -m "$1" -v "$2" -k "${_kver}" >/dev/null 2>&1 + $DKMS install -m "$1" -v "$2" -k "${_kver}" >/dev/null 2>&1 if [ $? -eq 0 ]; then echo "done." else @@ -81,7 +95,7 @@ add_modules() echo "DKMS module '$1-$2' failed to install, please do this manually" echo "and check for errors in the log file." fi - shift; shift; + shift 2 done done } diff --git a/srcpkgs/xbps-triggers/template b/srcpkgs/xbps-triggers/template index a13a8e43d8a..19f8f805eb9 100644 --- a/srcpkgs/xbps-triggers/template +++ b/srcpkgs/xbps-triggers/template @@ -1,6 +1,6 @@ # Template file for 'xbps-triggers' pkgname=xbps-triggers -version=0.56 +version=0.57 revision=1 short_desc="XBPS triggers" maintainer="Juan RP "