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

Sébastien Luttringer seblu at archlinux.org
Fri Oct 23 16:50:22 UTC 2015


    Date: Friday, October 23, 2015 @ 18:50:21
  Author: seblu
Revision: 144801

archrelease: copy trunk to community-testing-any

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

-------------------------+
 02-no-kernel-hook.patch |   13 +++++++++
 PKGBUILD                |   60 +++++++++++++++++++++++++++++++++++++++++++++
 dkms.default            |    9 ++++++
 dkms.install            |   13 +++++++++
 dkms.service            |   11 ++++++++
 dkms.systemd            |   61 ++++++++++++++++++++++++++++++++++++++++++++++
 6 files changed, 167 insertions(+)

Copied: dkms/repos/community-testing-any/02-no-kernel-hook.patch (from rev 144800, dkms/trunk/02-no-kernel-hook.patch)
===================================================================
--- community-testing-any/02-no-kernel-hook.patch	                        (rev 0)
+++ community-testing-any/02-no-kernel-hook.patch	2015-10-23 16:50:21 UTC (rev 144801)
@@ -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
+ 

Copied: dkms/repos/community-testing-any/PKGBUILD (from rev 144800, dkms/trunk/PKGBUILD)
===================================================================
--- community-testing-any/PKGBUILD	                        (rev 0)
+++ community-testing-any/PKGBUILD	2015-10-23 16:50:21 UTC (rev 144801)
@@ -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=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-testing-any/dkms.default (from rev 144800, dkms/trunk/dkms.default)
===================================================================
--- community-testing-any/dkms.default	                        (rev 0)
+++ community-testing-any/dkms.default	2015-10-23 16:50:21 UTC (rev 144801)
@@ -0,0 +1,9 @@
+# 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

Copied: dkms/repos/community-testing-any/dkms.install (from rev 144800, dkms/trunk/dkms.install)
===================================================================
--- community-testing-any/dkms.install	                        (rev 0)
+++ community-testing-any/dkms.install	2015-10-23 16:50:21 UTC (rev 144801)
@@ -0,0 +1,13 @@
+#!/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-testing-any/dkms.service (from rev 144800, dkms/trunk/dkms.service)
===================================================================
--- community-testing-any/dkms.service	                        (rev 0)
+++ community-testing-any/dkms.service	2015-10-23 16:50:21 UTC (rev 144801)
@@ -0,0 +1,11 @@
+[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

Copied: dkms/repos/community-testing-any/dkms.systemd (from rev 144800, dkms/trunk/dkms.systemd)
===================================================================
--- community-testing-any/dkms.systemd	                        (rev 0)
+++ community-testing-any/dkms.systemd	2015-10-23 16:50:21 UTC (rev 144801)
@@ -0,0 +1,61 @@
+#!/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:



More information about the arch-commits mailing list