[arch-commits] Commit in dkms/repos (13 files)

Sébastien Luttringer seblu at archlinux.org
Wed Feb 24 23:14:59 UTC 2016


    Date: Thursday, February 25, 2016 @ 00:14:59
  Author: seblu
Revision: 163346

db-move: moved dkms from [community-testing] to [community] (any)

Added:
  dkms/repos/community-any/02-no-kernel-hook.patch
    (from rev 163345, dkms/repos/community-testing-any/02-no-kernel-hook.patch)
  dkms/repos/community-any/PKGBUILD
    (from rev 163345, dkms/repos/community-testing-any/PKGBUILD)
  dkms/repos/community-any/dkms.install
    (from rev 163345, dkms/repos/community-testing-any/dkms.install)
  dkms/repos/community-any/hook.install
    (from rev 163345, dkms/repos/community-testing-any/hook.install)
  dkms/repos/community-any/hook.remove
    (from rev 163345, dkms/repos/community-testing-any/hook.remove)
  dkms/repos/community-any/hook.sh
    (from rev 163345, dkms/repos/community-testing-any/hook.sh)
Deleted:
  dkms/repos/community-any/02-no-kernel-hook.patch
  dkms/repos/community-any/PKGBUILD
  dkms/repos/community-any/dkms.default
  dkms/repos/community-any/dkms.install
  dkms/repos/community-any/dkms.service
  dkms/repos/community-any/dkms.systemd
  dkms/repos/community-testing-any/

---------------------------------------+
 /02-no-kernel-hook.patch              |   13 ++++++
 /PKGBUILD                             |   60 +++++++++++++++++++++++++++++++
 /dkms.install                         |   13 ++++++
 community-any/02-no-kernel-hook.patch |   13 ------
 community-any/PKGBUILD                |   60 -------------------------------
 community-any/dkms.default            |    9 ----
 community-any/dkms.install            |   13 ------
 community-any/dkms.service            |   11 -----
 community-any/dkms.systemd            |   61 --------------------------------
 community-any/hook.install            |   13 ++++++
 community-any/hook.remove             |   13 ++++++
 community-any/hook.sh                 |   60 +++++++++++++++++++++++++++++++
 12 files changed, 172 insertions(+), 167 deletions(-)

Deleted: community-any/02-no-kernel-hook.patch
===================================================================
--- community-any/02-no-kernel-hook.patch	2016-02-24 22:11:37 UTC (rev 163345)
+++ community-any/02-no-kernel-hook.patch	2016-02-24 23:14:59 UTC (rev 163346)
@@ -1,13 +0,0 @@
-# Author: Sébastien Luttringer <seblu at seblu.net>
---- a/Makefile	2011-12-07 19:23:51.000000000 +0100
-+++ b/Makefile	2013-05-13 00:48:19.620000000 +0200
-@@ -46,9 +46,6 @@
- 	gzip -c -9 dkms.8 > $(MAN)/dkms.8.gz
- 	chmod 0644 $(MAN)/dkms.8.gz
- 	touch --reference=dkms.8 $(MAN)/dkms.8.gz
--	mkdir   -p -m 0755 $(KCONF)/prerm.d $(KCONF)/postinst.d
--	install -p -m 0755 kernel_prerm.d_dkms  $(KCONF)/prerm.d/dkms
--	install -p -m 0755 kernel_postinst.d_dkms $(KCONF)/postinst.d/dkms
- 
- DOCFILES=sample.spec sample.conf AUTHORS COPYING README.dkms sample-suse-9-mkkmp.spec sample-suse-10-mkkmp.spec
- 

Copied: dkms/repos/community-any/02-no-kernel-hook.patch (from rev 163345, dkms/repos/community-testing-any/02-no-kernel-hook.patch)
===================================================================
--- community-any/02-no-kernel-hook.patch	                        (rev 0)
+++ community-any/02-no-kernel-hook.patch	2016-02-24 23:14:59 UTC (rev 163346)
@@ -0,0 +1,13 @@
+# Author: Sébastien Luttringer <seblu at seblu.net>
+--- a/Makefile	2011-12-07 19:23:51.000000000 +0100
++++ b/Makefile	2013-05-13 00:48:19.620000000 +0200
+@@ -46,9 +46,6 @@
+ 	gzip -c -9 dkms.8 > $(MAN)/dkms.8.gz
+ 	chmod 0644 $(MAN)/dkms.8.gz
+ 	touch --reference=dkms.8 $(MAN)/dkms.8.gz
+-	mkdir   -p -m 0755 $(KCONF)/prerm.d $(KCONF)/postinst.d
+-	install -p -m 0755 kernel_prerm.d_dkms  $(KCONF)/prerm.d/dkms
+-	install -p -m 0755 kernel_postinst.d_dkms $(KCONF)/postinst.d/dkms
+ 
+ DOCFILES=sample.spec sample.conf AUTHORS COPYING README.dkms sample-suse-9-mkkmp.spec sample-suse-10-mkkmp.spec
+ 

Deleted: community-any/PKGBUILD
===================================================================
--- community-any/PKGBUILD	2016-02-24 22:11:37 UTC (rev 163345)
+++ community-any/PKGBUILD	2016-02-24 23:14:59 UTC (rev 163346)
@@ -1,60 +0,0 @@
-# $Id$
-# Maintainer: Sébastien Luttringer
-# Contributor: Balwinder S "bsd" Dheeman (bdheeman AT gmail.com)
-
-pkgname=dkms
-pkgver=2.2.0.3+git151023
-pkgrel=1
-pkgdesc='Dynamic Kernel Modules System'
-arch=('any')
-url='http://linux.dell.com/dkms/'
-license=('GPL2')
-depends=('bash' 'kmod' 'gcc' 'make' 'patch')
-makedepends=('git')
-optdepends=('linux-headers: build modules against Arch kernel'
-            'linux-lts-headers: build modules against LTS Arch kernel')
-backup=('etc/dkms/framework.conf' 'etc/default/dkms')
-install=$pkgname.install
-source=('git+git://linux.dell.com/dkms.git#commit=7b6e78f'
-        '02-no-kernel-hook.patch'
-        "$pkgname.default"
-        "$pkgname.service"
-        "$pkgname.systemd")
-md5sums=('SKIP'
-         '82d520c39c99c34977e48b313a189c6c'
-         '33be2fbf1bcc1b3fb2f38d9e7eaa809d'
-         '02e9744e3fdc3d2f68e46966fb32e260'
-         '0158265dace30b6cdd06244e844b3e5f')
-
-prepare() {
-  cd dkms
-  # patching
-  patches=("$srcdir"/*.patch)
-  if (( ${#patches[*]} > 0 )); then
-    for p in "${patches[@]}"; do
-      msg2 "Apply patch: ${p##*/}"
-      patch -p1 -i "$p"
-    done
-  fi
-  # /usr move
-  msg2 '/usr move patching'
-  for i in dkms{,_framework.conf,.bash-completion,.8,_common.postinst}; do
-    sed -ri 's,/lib/modules,/usr/lib/modules,g' "$i"
-  done
-}
-
-package() {
-  # systemd
-  install -D -m 644 $pkgname.service "$pkgdir/usr/lib/systemd/system/$pkgname.service"
-  install -D -m 755 $pkgname.systemd "$pkgdir/usr/lib/systemd/scripts/$pkgname"
-  install -D -m 644 $pkgname.default "$pkgdir/etc/default/$pkgname"
-  # upstream installer
-  cd dkms
-  make \
-    DESTDIR="$pkgdir" \
-    SBIN="$pkgdir/usr/bin" \
-    BASHDIR="$pkgdir/usr/share/bash-completion/completions" \
-    install
-}
-
-# vim:set ts=2 sw=2 et:

Copied: dkms/repos/community-any/PKGBUILD (from rev 163345, dkms/repos/community-testing-any/PKGBUILD)
===================================================================
--- community-any/PKGBUILD	                        (rev 0)
+++ community-any/PKGBUILD	2016-02-24 23:14:59 UTC (rev 163346)
@@ -0,0 +1,60 @@
+# $Id$
+# Maintainer: Sébastien Luttringer
+# Contributor: Balwinder S "bsd" Dheeman (bdheeman AT gmail.com)
+
+pkgname=dkms
+pkgver=2.2.0.3+git151023
+pkgrel=5
+pkgdesc='Dynamic Kernel Modules System'
+arch=('any')
+url='http://linux.dell.com/dkms/'
+license=('GPL2')
+depends=('bash' 'kmod' 'gcc' 'make' 'patch')
+makedepends=('git')
+optdepends=('linux-headers: build modules against Arch kernel'
+            'linux-lts-headers: build modules against LTS Arch kernel')
+backup=('etc/dkms/framework.conf')
+install=$pkgname.install
+source=('git+git://linux.dell.com/dkms.git#commit=7b6e78f'
+        '02-no-kernel-hook.patch'
+        'hook.install'
+        'hook.remove'
+        'hook.sh')
+md5sums=('SKIP'
+         '82d520c39c99c34977e48b313a189c6c'
+         '8fe2064106958bcfd386e83494c8959a'
+         '41fcecb1c2dfc59a4b648fddcd8b462f'
+         '7fdc44f8ecdd0ac0dc5e6bcf02901681')
+
+prepare() {
+  cd dkms
+  # patching
+  patches=("$srcdir"/*.patch)
+  if (( ${#patches[*]} > 0 )); then
+    for p in "${patches[@]}"; do
+      msg2 "Apply patch: ${p##*/}"
+      patch -p1 -i "$p"
+    done
+  fi
+  # /usr move
+  msg2 '/usr move patching'
+  for i in dkms{,_framework.conf,.bash-completion,.8,_common.postinst}; do
+    sed -ri 's,/lib/modules,/usr/lib/modules,g' "$i"
+  done
+}
+
+package() {
+  # alpm hook
+  install -D -m 644 hook.install "$pkgdir/usr/share/libalpm/hooks/70-dkms-install.hook"
+  install -D -m 644 hook.remove "$pkgdir/usr/share/libalpm/hooks/70-dkms-remove.hook"
+  install -D -m 755 hook.sh "$pkgdir/usr/lib/dkms/alpm-hook"
+  # upstream installer
+  cd dkms
+  make \
+    DESTDIR="$pkgdir" \
+    SBIN="$pkgdir/usr/bin" \
+    BASHDIR="$pkgdir/usr/share/bash-completion/completions" \
+    install
+}
+
+# vim:set ts=2 sw=2 et:

Deleted: community-any/dkms.default
===================================================================
--- community-any/dkms.default	2016-02-24 22:11:37 UTC (rev 163345)
+++ community-any/dkms.default	2016-02-24 23:14:59 UTC (rev 163346)
@@ -1,9 +0,0 @@
-# vim:set ts=2 sw=2 ft=sh noet:
-
-# With LOAD set to yes, modules listed as installed will be loaded with
-# systemctl start dkms.service. Default is yes.
-LOAD=yes
-
-# With UNLOAD set to yes, modules listed as installed will be unloaded with
-# systemctl stop dkms.service. Default is no.
-UNLOAD=no

Deleted: community-any/dkms.install
===================================================================
--- community-any/dkms.install	2016-02-24 22:11:37 UTC (rev 163345)
+++ community-any/dkms.install	2016-02-24 23:14:59 UTC (rev 163346)
@@ -1,13 +0,0 @@
-#!/bin/sh
-
-# arg 1:  the new package version
-# arg 2:  the old package version
-post_upgrade() {
-  if [ "$(vercmp $2 2.2.0.3-12)" -le 0 ]; then
-    cat << EOF
-===> dkms startup config file moved to /etc/default/dkms
-EOF
-    fi
-}
-
-# vim:set ts=2 sw=2 ft=sh et:

Copied: dkms/repos/community-any/dkms.install (from rev 163345, dkms/repos/community-testing-any/dkms.install)
===================================================================
--- community-any/dkms.install	                        (rev 0)
+++ community-any/dkms.install	2016-02-24 23:14:59 UTC (rev 163346)
@@ -0,0 +1,13 @@
+#!/bin/bash
+
+# arg 1:  the new package version
+# arg 2:  the old package version
+post_upgrade() {
+  if (( "$(vercmp $2 '2.2.0.3+git151023-2')" < 0 )); then
+    echo '===> dkms systemd startup service has been removed'
+    echo '===> modules building is now handled by alpm hooks at install time'
+    echo '===> startup modules loading must be done via modules-load.d'
+  fi
+}
+
+# vim:set ts=2 sw=2 ft=sh et:

Deleted: community-any/dkms.service
===================================================================
--- community-any/dkms.service	2016-02-24 22:11:37 UTC (rev 163345)
+++ community-any/dkms.service	2016-02-24 23:14:59 UTC (rev 163346)
@@ -1,11 +0,0 @@
-[Unit]
-Description=Dynamic Kernel Modules System
-
-[Service]
-Type=oneshot
-RemainAfterExit=yes
-ExecStart=/usr/lib/systemd/scripts/dkms start
-ExecStop=/usr/lib/systemd/scripts/dkms stop
-
-[Install]
-WantedBy=multi-user.target

Deleted: community-any/dkms.systemd
===================================================================
--- community-any/dkms.systemd	2016-02-24 22:11:37 UTC (rev 163345)
+++ community-any/dkms.systemd	2016-02-24 23:14:59 UTC (rev 163346)
@@ -1,61 +0,0 @@
-#!/bin/bash
-
-. /etc/default/dkms
-
-# list dkms modules for the current running kernel
-list_dkms_modules() {
-  shopt -s nullglob
-  declare -a DKMS_MOULES
-  # dkms status needs uname -r to list correctly intalled version for current kernel
-  local modules_path=($(dkms status -k "$(uname -r)"|sed -rn 's#(.*), (.*), (.*), (.*): installed#\1/\2/\3/\4#p'))
-  for p in "${modules_path[@]}"; do
-    for m in /var/lib/dkms/"$p"/module/*.ko{,gz}; do
-      m=${m##*/}
-      m=${m%.gz}
-      m=${m%.ko}
-      DKMS_MODULES+=("$m")
-    done
-  done
-}
-
-# load installed kernel modules for the current kernel version
-load_dkms_modules() {
-  local ret=0
-  list_dkms_modules
-  for m in "${DKMS_MODULES[@]}"; do
-    modprobe -b "$m"
-    ret+=$?
-  done
-  return $ret
-}
-
-# unload installed kernel modules for the current kernel version
-unload_dkms_modules() {
-  list_dkms_modules
-  # ask for removal
-  for m in "${DKMS_MODULES[@]}"; do
-    modprobe --remove --quiet "$m"
-  done
-  # check modules are unloaded
-  # sometimes modprobe -r fail but modules are removed
-  for m in "${DKMS_MODULES[@]}"; do
-    [[ -e /sys/modules/$m ]] && return 1
-  done
-  return 0
-}
-
-case "$1" in
-  start)
-    dkms autoinstall -k "$(uname -r)"
-    [[ $LOAD =~ [Yy][Ee][Ss] ]] && load_dkms_modules
-  ;;
-  stop)
-    [[ $UNLOAD =~ [Yy][Ee][Ss] ]] && unload_dkms_modules
-  ;;
-  *)
-    echo "usage: $0 {start|stop}" >&2
-  ;;
-esac
-
-:
-# vim:set ts=2 sw=2 ft=sh et:

Copied: dkms/repos/community-any/hook.install (from rev 163345, dkms/repos/community-testing-any/hook.install)
===================================================================
--- community-any/hook.install	                        (rev 0)
+++ community-any/hook.install	2016-02-24 23:14:59 UTC (rev 163346)
@@ -0,0 +1,13 @@
+[Trigger]
+Operation = Install
+Operation = Upgrade
+Type = File
+Target = usr/src/*/dkms.conf
+Target = usr/lib/modules/*/build/include/
+
+[Action]
+Description = Install DKMS modules
+Depends = dkms
+When = PostTransaction
+Exec = /usr/lib/dkms/alpm-hook install
+NeedsTargets

Copied: dkms/repos/community-any/hook.remove (from rev 163345, dkms/repos/community-testing-any/hook.remove)
===================================================================
--- community-any/hook.remove	                        (rev 0)
+++ community-any/hook.remove	2016-02-24 23:14:59 UTC (rev 163346)
@@ -0,0 +1,13 @@
+[Trigger]
+Operation = Upgrade
+Operation = Remove
+Type = File
+Target = usr/src/*/dkms.conf
+Target = usr/lib/modules/*/build/include/
+
+[Action]
+Description = Remove DKMS modules
+Depends = dkms
+When = PreTransaction
+Exec = /usr/lib/dkms/alpm-hook remove -q
+NeedsTargets

Copied: dkms/repos/community-any/hook.sh (from rev 163345, dkms/repos/community-testing-any/hook.sh)
===================================================================
--- community-any/hook.sh	                        (rev 0)
+++ community-any/hook.sh	2016-02-24 23:14:59 UTC (rev 163346)
@@ -0,0 +1,60 @@
+#!/bin/bash
+
+#
+# Copyright © 2016 Sébastien Luttringer
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License
+# as published by the Free Software Foundation; either version 2
+# of the License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+
+# prevent to have all each dkms call to fail
+if (( EUID )); then
+	echo 'You must be root to use this hook' >&2
+	exit 1
+fi
+
+# check args count
+if (( $# < 1 )); then
+	echo "usage: ${0##*/} dkms-arguments" >&2
+	exit 1
+fi
+
+# dkms path from framework config
+# note: the alpm hooks which trigger this script use static path
+source_tree='/usr/src'
+dkms_tree='/var/lib/dkms'
+install_tree='/usr/lib/modules'
+source /etc/dkms/framework.conf
+
+shopt -s nullglob
+
+# parse stdin path to guess what do do
+while read -r path; do
+	if [[ "/$path" =~ ^$source_tree/([^/]+)-([^/]+)/dkms\.conf$ ]]; then
+		# do $@ for each kernel with headers
+		pushd "$install_tree" >/dev/null
+		for incpath in */build/include; do
+			dkms "$@" -m "${BASH_REMATCH[1]}" -v "${BASH_REMATCH[2]}" -k "${incpath%%/*}"
+		done
+		popd >/dev/null
+	elif [[ "/$path" =~ ^$install_tree/([^/]+)/ ]]; then
+		# do $@ once for each registered dkms module
+		pushd "$dkms_tree" >/dev/null
+		for mod in */*/source; do
+			dkms "$@" -m "${mod%/source}" -k "${BASH_REMATCH[1]}"
+		done
+		popd >/dev/null
+	else
+		echo "Skipping invalid path: $path" >&2
+	fi
+done



More information about the arch-commits mailing list