[arch-commits] Commit in dkms/repos/extra-any (16 files)
Sébastien Luttringer
seblu at archlinux.org
Thu Jul 16 22:32:22 UTC 2020
Date: Thursday, July 16, 2020 @ 22:32:22
Author: seblu
Revision: 392010
archrelease: copy trunk to extra-any
Added:
dkms/repos/extra-any/0001-Revert-Make-newly-installed-modules-available-immedi.patch
(from rev 392009, dkms/trunk/0001-Revert-Make-newly-installed-modules-available-immedi.patch)
dkms/repos/extra-any/PKGBUILD
(from rev 392009, dkms/trunk/PKGBUILD)
dkms/repos/extra-any/PKGBUILD.26
(from rev 392009, dkms/trunk/PKGBUILD.26)
dkms/repos/extra-any/dkms.install
(from rev 392009, dkms/trunk/dkms.install)
dkms/repos/extra-any/hook.install
(from rev 392009, dkms/trunk/hook.install)
dkms/repos/extra-any/hook.remove
(from rev 392009, dkms/trunk/hook.remove)
dkms/repos/extra-any/hook.sh
(from rev 392009, dkms/trunk/hook.sh)
dkms/repos/extra-any/hook.upgrade
(from rev 392009, dkms/trunk/hook.upgrade)
Deleted:
dkms/repos/extra-any/0001-Revert-Make-newly-installed-modules-available-immedi.patch
dkms/repos/extra-any/PKGBUILD
dkms/repos/extra-any/PKGBUILD.26
dkms/repos/extra-any/dkms.install
dkms/repos/extra-any/hook.install
dkms/repos/extra-any/hook.remove
dkms/repos/extra-any/hook.sh
dkms/repos/extra-any/hook.upgrade
-----------------------------------------------------------------+
0001-Revert-Make-newly-installed-modules-available-immedi.patch | 62 -
PKGBUILD | 146 +-
PKGBUILD.26 | 138 +-
dkms.install | 26
hook.install | 28
hook.remove | 26
hook.sh | 502 +++++-----
hook.upgrade | 26
8 files changed, 477 insertions(+), 477 deletions(-)
Deleted: 0001-Revert-Make-newly-installed-modules-available-immedi.patch
===================================================================
--- 0001-Revert-Make-newly-installed-modules-available-immedi.patch 2020-07-16 22:32:13 UTC (rev 392009)
+++ 0001-Revert-Make-newly-installed-modules-available-immedi.patch 2020-07-16 22:32:22 UTC (rev 392010)
@@ -1,31 +0,0 @@
-From ca38ccd38c69a096dafa51c426ee3548980d5e2a Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?S=C3=A9bastien=20Luttringer?= <seblu at seblu.net>
-Date: Sat, 8 Jul 2017 15:50:55 +0200
-Subject: [PATCH] Revert "Make newly installed modules available immediately"
-To: dkms-devel at dell.com
-
-This reverts commit f5bfb12fef1fc06e56355cdba500eaa98d4e6aa8.
----
- dkms | 6 ------
- 1 file changed, 6 deletions(-)
-
-diff --git a/dkms b/dkms
-index a6cedc8..3ff71d5 100644
---- a/dkms
-+++ b/dkms
-@@ -1522,12 +1522,6 @@ install_module()
- exit 6
- }
-
-- # Make the newly installed modules available immediately
-- find /sys/devices -name modalias -print0 | xargs -0 cat | xargs modprobe -a -b -q
-- if [ -f /lib/systemd/system/systemd-modules-load.service ]; then
-- systemctl restart systemd-modules-load.service
-- fi
--
- # Do remake_initrd things (save old initrd)
- [[ $remake_initrd ]] && ! make_initrd "$kernelver" "$arch" && {
- do_uninstall "$kernelver" "$arch"
---
-Sébastien "Seblu" Luttringer
-
Copied: dkms/repos/extra-any/0001-Revert-Make-newly-installed-modules-available-immedi.patch (from rev 392009, dkms/trunk/0001-Revert-Make-newly-installed-modules-available-immedi.patch)
===================================================================
--- 0001-Revert-Make-newly-installed-modules-available-immedi.patch (rev 0)
+++ 0001-Revert-Make-newly-installed-modules-available-immedi.patch 2020-07-16 22:32:22 UTC (rev 392010)
@@ -0,0 +1,31 @@
+From ca38ccd38c69a096dafa51c426ee3548980d5e2a Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?S=C3=A9bastien=20Luttringer?= <seblu at seblu.net>
+Date: Sat, 8 Jul 2017 15:50:55 +0200
+Subject: [PATCH] Revert "Make newly installed modules available immediately"
+To: dkms-devel at dell.com
+
+This reverts commit f5bfb12fef1fc06e56355cdba500eaa98d4e6aa8.
+---
+ dkms | 6 ------
+ 1 file changed, 6 deletions(-)
+
+diff --git a/dkms b/dkms
+index a6cedc8..3ff71d5 100644
+--- a/dkms
++++ b/dkms
+@@ -1522,12 +1522,6 @@ install_module()
+ exit 6
+ }
+
+- # Make the newly installed modules available immediately
+- find /sys/devices -name modalias -print0 | xargs -0 cat | xargs modprobe -a -b -q
+- if [ -f /lib/systemd/system/systemd-modules-load.service ]; then
+- systemctl restart systemd-modules-load.service
+- fi
+-
+ # Do remake_initrd things (save old initrd)
+ [[ $remake_initrd ]] && ! make_initrd "$kernelver" "$arch" && {
+ do_uninstall "$kernelver" "$arch"
+--
+Sébastien "Seblu" Luttringer
+
Deleted: PKGBUILD
===================================================================
--- PKGBUILD 2020-07-16 22:32:13 UTC (rev 392009)
+++ PKGBUILD 2020-07-16 22:32:22 UTC (rev 392010)
@@ -1,73 +0,0 @@
-# Maintainer: Sébastien Luttringer
-# Contributor: Balwinder S "bsd" Dheeman (bdheeman AT gmail.com)
-
-pkgname=dkms
-pkgver=2.8.1
-pkgrel=4
-pkgdesc='Dynamic Kernel Modules System'
-arch=('any')
-url='https://github.com/dell/dkms'
-license=('GPL2')
-depends=('bash' 'kmod' 'gcc' 'make' 'patch')
-makedepends=('git')
-optdepends=('linux-headers: build modules against the Arch kernel'
- 'linux-lts-headers: build modules against the LTS kernel'
- 'linux-zen-headers: build modules against the ZEN kernel'
- 'linux-hardened-headers: build modules against the HARDENED kernel')
-backup=('etc/dkms/framework.conf')
-install=$pkgname.install
-source=("git+https://github.com/dell/dkms.git#tag=v$pkgver"
- 'hook.install'
- 'hook.remove'
- 'hook.upgrade'
- 'hook.sh'
- '0001-Revert-Make-newly-installed-modules-available-immedi.patch')
-sha256sums=('SKIP'
- '047e0e46967e98fbf3ff8860a80f259c28693d5989373d5a5395714495b59844'
- 'ae5483980db914d52bff981ed83356c85679dd7e6e8f73bdd94265f065014c73'
- 'd61d94532789928085a8494ba039c59244cfb3bfd47deaf21bcbe54a2243dc45'
- '6bc3931865afce6ee17a56099cf551ab2827db99b609de78e1bf9a1962e6ef56'
- '124b821b1b44ba365d915945825bcf32c1077655c3a98eb1644de56b6abfcd09')
-
-prepare() {
- cd dkms
-
- # apply patch from the source array (should be a pacman feature)
- local filename
- for filename in "${source[@]}"; do
- if [[ "$filename" =~ \.patch$ ]]; then
- msg2 "Applying patch ${filename##*/}"
- patch -p1 -N -i "$srcdir/${filename##*/}"
- fi
- done
-
- # /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 hooks
- install -D -m 644 hook.install "$pkgdir/usr/share/libalpm/hooks/70-dkms-install.hook"
- # both upgrade and remove hooks are removing dkms modules.
- # remove always call depmod while upgrade never, as install will later.
- # upgrade is run before remove in order to have the cleanest depmod file,
- # if something goes wrong before the depmod call in install hook.
- install -D -m 644 hook.upgrade "$pkgdir/usr/share/libalpm/hooks/70-dkms-upgrade.hook"
- install -D -m 644 hook.remove "$pkgdir/usr/share/libalpm/hooks/71-dkms-remove.hook"
- # hook helper
- install -D -m 755 hook.sh "$pkgdir/usr/lib/dkms/alpm-hook"
- # upstream installer
- cd dkms
- # we don't need kconf files, so we install them outside $pkgdir
- make \
- DESTDIR="$pkgdir" \
- SBIN="$pkgdir/usr/bin" \
- BASHDIR="$pkgdir/usr/share/bash-completion/completions" \
- KCONF="$srcdir"/kconf \
- install
-}
-
-# vim:set ts=2 sw=2 et:
Copied: dkms/repos/extra-any/PKGBUILD (from rev 392009, dkms/trunk/PKGBUILD)
===================================================================
--- PKGBUILD (rev 0)
+++ PKGBUILD 2020-07-16 22:32:22 UTC (rev 392010)
@@ -0,0 +1,73 @@
+# Maintainer: Sébastien Luttringer
+# Contributor: Balwinder S "bsd" Dheeman (bdheeman AT gmail.com)
+
+pkgname=dkms
+pkgver=2.8.3
+pkgrel=1
+pkgdesc='Dynamic Kernel Modules System'
+arch=('any')
+url='https://github.com/dell/dkms'
+license=('GPL2')
+depends=('bash' 'kmod' 'gcc' 'make' 'patch')
+makedepends=('git')
+optdepends=('linux-headers: build modules against the Arch kernel'
+ 'linux-lts-headers: build modules against the LTS kernel'
+ 'linux-zen-headers: build modules against the ZEN kernel'
+ 'linux-hardened-headers: build modules against the HARDENED kernel')
+backup=('etc/dkms/framework.conf')
+install=$pkgname.install
+source=("git+https://github.com/dell/dkms.git#tag=v$pkgver"
+ 'hook.install'
+ 'hook.remove'
+ 'hook.upgrade'
+ 'hook.sh'
+ '0001-Revert-Make-newly-installed-modules-available-immedi.patch')
+sha256sums=('SKIP'
+ '047e0e46967e98fbf3ff8860a80f259c28693d5989373d5a5395714495b59844'
+ 'ae5483980db914d52bff981ed83356c85679dd7e6e8f73bdd94265f065014c73'
+ 'd61d94532789928085a8494ba039c59244cfb3bfd47deaf21bcbe54a2243dc45'
+ '6bc3931865afce6ee17a56099cf551ab2827db99b609de78e1bf9a1962e6ef56'
+ '124b821b1b44ba365d915945825bcf32c1077655c3a98eb1644de56b6abfcd09')
+
+prepare() {
+ cd dkms
+
+ # apply patch from the source array (should be a pacman feature)
+ local filename
+ for filename in "${source[@]}"; do
+ if [[ "$filename" =~ \.patch$ ]]; then
+ msg2 "Applying patch ${filename##*/}"
+ patch -p1 -N -i "$srcdir/${filename##*/}"
+ fi
+ done
+
+ # /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 hooks
+ install -D -m 644 hook.install "$pkgdir/usr/share/libalpm/hooks/70-dkms-install.hook"
+ # both upgrade and remove hooks are removing dkms modules.
+ # remove always call depmod while upgrade never, as install will later.
+ # upgrade is run before remove in order to have the cleanest depmod file,
+ # if something goes wrong before the depmod call in install hook.
+ install -D -m 644 hook.upgrade "$pkgdir/usr/share/libalpm/hooks/70-dkms-upgrade.hook"
+ install -D -m 644 hook.remove "$pkgdir/usr/share/libalpm/hooks/71-dkms-remove.hook"
+ # hook helper
+ install -D -m 755 hook.sh "$pkgdir/usr/lib/dkms/alpm-hook"
+ # upstream installer
+ cd dkms
+ # we don't need kconf files, so we install them outside $pkgdir
+ make \
+ DESTDIR="$pkgdir" \
+ SBIN="$pkgdir/usr/bin" \
+ BASHDIR="$pkgdir/usr/share/bash-completion/completions" \
+ KCONF="$srcdir"/kconf \
+ install
+}
+
+# vim:set ts=2 sw=2 et:
Deleted: PKGBUILD.26
===================================================================
--- PKGBUILD.26 2020-07-16 22:32:13 UTC (rev 392009)
+++ PKGBUILD.26 2020-07-16 22:32:22 UTC (rev 392010)
@@ -1,69 +0,0 @@
-# Maintainer: Sébastien Luttringer
-# Contributor: Balwinder S "bsd" Dheeman (bdheeman AT gmail.com)
-
-pkgname=dkms
-pkgver=2.6.1
-pkgrel=1
-pkgdesc='Dynamic Kernel Modules System'
-arch=('any')
-url='https://github.com/dell/dkms'
-license=('GPL2')
-depends=('bash' 'kmod' 'gcc' 'make' 'patch')
-makedepends=('git')
-optdepends=('linux-headers: build modules against the Arch kernel'
- 'linux-lts-headers: build modules against the LTS kernel'
- 'linux-zen-headers: build modules against the ZEN kernel'
- 'linux-hardened-headers: build modules against the HARDENED kernel')
-backup=('etc/dkms/framework.conf')
-install=$pkgname.install
-source=("git+https://github.com/dell/dkms.git#tag=v$pkgver"
- 'hook.install'
- 'hook.remove'
- 'hook.sh'
- '0001-Revert-Make-newly-installed-modules-available-immedi.patch'
- '0002-Revert-Fix-to-run-under-BusyBox-shell.patch'
- '0003-Fix-version-check-when-installing-modules.patch')
-md5sums=('SKIP'
- '90f1486e0af9aab85e8c60d456802c63'
- '2e8ffd0c2ddec02872d0234befd129fd'
- '80632f6a454b35bcade2bed287f13c7b'
- 'd3b91ef709f567a375f4bbdbd3291d2b'
- '4342b5e9020a52a73a63e7897ead5405'
- '00813655321b8fc256eda737ca0622ef')
-
-prepare() {
- cd dkms
-
- # apply patch from the source array (should be a pacman feature)
- local filename
- for filename in "${source[@]}"; do
- if [[ "$filename" =~ \.patch$ ]]; then
- msg2 "Applying patch ${filename##*/}"
- patch -p1 -N -i "$srcdir/${filename##*/}"
- fi
- done
-
- # /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
- # we don't need kconf files, so we install them outside $pkgdir
- make \
- DESTDIR="$pkgdir" \
- SBIN="$pkgdir/usr/bin" \
- BASHDIR="$pkgdir/usr/share/bash-completion/completions" \
- KCONF="$srcdir"/kconf \
- install
-}
-
-# vim:set ts=2 sw=2 et:
Copied: dkms/repos/extra-any/PKGBUILD.26 (from rev 392009, dkms/trunk/PKGBUILD.26)
===================================================================
--- PKGBUILD.26 (rev 0)
+++ PKGBUILD.26 2020-07-16 22:32:22 UTC (rev 392010)
@@ -0,0 +1,69 @@
+# Maintainer: Sébastien Luttringer
+# Contributor: Balwinder S "bsd" Dheeman (bdheeman AT gmail.com)
+
+pkgname=dkms
+pkgver=2.6.1
+pkgrel=1
+pkgdesc='Dynamic Kernel Modules System'
+arch=('any')
+url='https://github.com/dell/dkms'
+license=('GPL2')
+depends=('bash' 'kmod' 'gcc' 'make' 'patch')
+makedepends=('git')
+optdepends=('linux-headers: build modules against the Arch kernel'
+ 'linux-lts-headers: build modules against the LTS kernel'
+ 'linux-zen-headers: build modules against the ZEN kernel'
+ 'linux-hardened-headers: build modules against the HARDENED kernel')
+backup=('etc/dkms/framework.conf')
+install=$pkgname.install
+source=("git+https://github.com/dell/dkms.git#tag=v$pkgver"
+ 'hook.install'
+ 'hook.remove'
+ 'hook.sh'
+ '0001-Revert-Make-newly-installed-modules-available-immedi.patch'
+ '0002-Revert-Fix-to-run-under-BusyBox-shell.patch'
+ '0003-Fix-version-check-when-installing-modules.patch')
+md5sums=('SKIP'
+ '90f1486e0af9aab85e8c60d456802c63'
+ '2e8ffd0c2ddec02872d0234befd129fd'
+ '80632f6a454b35bcade2bed287f13c7b'
+ 'd3b91ef709f567a375f4bbdbd3291d2b'
+ '4342b5e9020a52a73a63e7897ead5405'
+ '00813655321b8fc256eda737ca0622ef')
+
+prepare() {
+ cd dkms
+
+ # apply patch from the source array (should be a pacman feature)
+ local filename
+ for filename in "${source[@]}"; do
+ if [[ "$filename" =~ \.patch$ ]]; then
+ msg2 "Applying patch ${filename##*/}"
+ patch -p1 -N -i "$srcdir/${filename##*/}"
+ fi
+ done
+
+ # /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
+ # we don't need kconf files, so we install them outside $pkgdir
+ make \
+ DESTDIR="$pkgdir" \
+ SBIN="$pkgdir/usr/bin" \
+ BASHDIR="$pkgdir/usr/share/bash-completion/completions" \
+ KCONF="$srcdir"/kconf \
+ install
+}
+
+# vim:set ts=2 sw=2 et:
Deleted: dkms.install
===================================================================
--- dkms.install 2020-07-16 22:32:13 UTC (rev 392009)
+++ dkms.install 2020-07-16 22:32:22 UTC (rev 392010)
@@ -1,13 +0,0 @@
-#!/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:
Copied: dkms/repos/extra-any/dkms.install (from rev 392009, dkms/trunk/dkms.install)
===================================================================
--- dkms.install (rev 0)
+++ dkms.install 2020-07-16 22:32:22 UTC (rev 392010)
@@ -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: hook.install
===================================================================
--- hook.install 2020-07-16 22:32:13 UTC (rev 392009)
+++ hook.install 2020-07-16 22:32:22 UTC (rev 392010)
@@ -1,14 +0,0 @@
-[Trigger]
-Operation = Install
-Operation = Upgrade
-Type = Path
-Target = usr/src/*/dkms.conf
-Target = usr/lib/modules/*/build/include/
-Target = usr/lib/modules/*/modules.alias
-
-[Action]
-Description = Install DKMS modules
-Depends = dkms
-When = PostTransaction
-Exec = /usr/lib/dkms/alpm-hook install
-NeedsTargets
Copied: dkms/repos/extra-any/hook.install (from rev 392009, dkms/trunk/hook.install)
===================================================================
--- hook.install (rev 0)
+++ hook.install 2020-07-16 22:32:22 UTC (rev 392010)
@@ -0,0 +1,14 @@
+[Trigger]
+Operation = Install
+Operation = Upgrade
+Type = Path
+Target = usr/src/*/dkms.conf
+Target = usr/lib/modules/*/build/include/
+Target = usr/lib/modules/*/modules.alias
+
+[Action]
+Description = Install DKMS modules
+Depends = dkms
+When = PostTransaction
+Exec = /usr/lib/dkms/alpm-hook install
+NeedsTargets
Deleted: hook.remove
===================================================================
--- hook.remove 2020-07-16 22:32:13 UTC (rev 392009)
+++ hook.remove 2020-07-16 22:32:22 UTC (rev 392010)
@@ -1,13 +0,0 @@
-[Trigger]
-Operation = Remove
-Type = Path
-Target = usr/src/*/dkms.conf
-Target = usr/lib/modules/*/build/include/
-Target = usr/lib/modules/*/modules.alias
-
-[Action]
-Description = Remove DKMS modules
-Depends = dkms
-When = PreTransaction
-Exec = /usr/lib/dkms/alpm-hook remove
-NeedsTargets
Copied: dkms/repos/extra-any/hook.remove (from rev 392009, dkms/trunk/hook.remove)
===================================================================
--- hook.remove (rev 0)
+++ hook.remove 2020-07-16 22:32:22 UTC (rev 392010)
@@ -0,0 +1,13 @@
+[Trigger]
+Operation = Remove
+Type = Path
+Target = usr/src/*/dkms.conf
+Target = usr/lib/modules/*/build/include/
+Target = usr/lib/modules/*/modules.alias
+
+[Action]
+Description = Remove DKMS modules
+Depends = dkms
+When = PreTransaction
+Exec = /usr/lib/dkms/alpm-hook remove
+NeedsTargets
Deleted: hook.sh
===================================================================
--- hook.sh 2020-07-16 22:32:13 UTC (rev 392009)
+++ hook.sh 2020-07-16 22:32:22 UTC (rev 392010)
@@ -1,251 +0,0 @@
-#!/bin/bash
-
-#
-# Copyright © 2018-2020, 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.
-
-# display what to run and run it quietly
-run() {
- echo "==> $*"
- "$@" > /dev/null
- local ret=$?
- (( $ret )) && echo "==> Warning, \`$*' returned $ret"
- return $ret
-}
-
-# check whether the dependencies of a module are installed
-# $1: module name
-# $2: module version
-# $3: kernel version
-check_dependency() { (
- source "$source_tree/$1-$2/dkms.conf"
- local mod lines line
- for mod in "${BUILD_DEPENDS[@]}"; do
- mapfile lines < <(dkms status -m "$mod" -k "$3")
- for line in "${lines[@]}"; do
- [[ "$line" =~ "$mod, "[^,]+", $3, "[^:]+': installed' ]] && break 2
- done
- exit 1
- done
- exit 0
-) }
-
-# check whether the modules should be built with this kernel version
-# $1: module name
-# $2: module version
-# $3: kernel version
-check_buildexclusive() {
- local BUILD_EXCLUSIVE_KERNEL=$(source "$source_tree/$1-$2/dkms.conf"; printf '%s\n' "$BUILD_EXCLUSIVE_KERNEL")
- [[ "$3" =~ $BUILD_EXCLUSIVE_KERNEL ]]
-}
-
-# handle actions on module addition/upgrade/removal
-# $1: module name
-# $2: module version
-parse_module() {
- pushd "$install_tree" >/dev/null
- local path
- for path in */build/; do
- local kver="${path%%/*}"
- dkms_register "$1" "$2" "$kver"
- done
- popd >/dev/null
-}
-
-# handle actions on kernel addition/upgrade/removal
-# $1: kernel version
-parse_kernel() {
- local path
- for path in "$source_tree"/*-*/dkms.conf; do
- if [[ -f "$path" && "$path" =~ ^$source_tree/([^/]+)-([^/]+)/dkms\.conf$ ]]; then
- dkms_register "${BASH_REMATCH[1]}" "${BASH_REMATCH[2]}" "$1"
- fi
- done
-}
-
-# register a dkms module to install/remove
-# this function suppress echo call for a module
-# $1: module name, $2: module version, $3: kernel version
-dkms_register() {
- DKMS_MODULES["$1/$2/$3"]=''
-}
-
-# install registered modules
-dkms_install() {
- local nvk mod mver kver
- local -i retry=1
- local -A dmods=()
-
- while (( $retry > 0 )); do
- retry=0
- for nvk in "${!DKMS_MODULES[@]}"; do
- [[ "$nvk" =~ ([^/]+)/([^/]+)/(.+) ]]
- mod="${BASH_REMATCH[1]}"
- mver="${BASH_REMATCH[2]}"
- kver="${BASH_REMATCH[3]}"
- # do not build excluded modules
- if ! check_buildexclusive "$mod" "$mver" "$kver"; then
- unset DKMS_MODULES[$nvk]
- continue
- # skip modules with missing kernel headers
- elif [[ ! -d "$install_tree/$kver/build/include" ]]; then
- DKMS_MODULES[$nvk]='Missing kernel headers'
- continue
- # skip modules with missing kernel package
- elif [[ ! -d "$install_tree/$kver/kernel" ]]; then
- DKMS_MODULES[$nvk]='Missing kernel modules tree'
- continue
- # postpone modules with missing dependencies
- elif ! check_dependency "$mod" "$mver" "$kver"; then
- DKMS_MODULES[$nvk]='Missing dependency'
- continue
- fi
- # give it a try dkms
- run dkms install --no-depmod -m "$mod" -v "$mver" -k "$kver"
- dmods[$kver]=''
- unset DKMS_MODULES[$nvk]
- # maybe this module was a dep of another, so we retry
- retry=1
- done
- done
- # run depmod later for performance improvments
- if (( $DKMS_DEPMOD )); then
- for kver in "${!dmods[@]}"; do
- run depmod "$kver"
- done
- fi
-}
-
-# remove registered modules when built/installed
-# run depmod later for performance improvments
-dkms_remove() {
- local nvk mod mver kver state
- local -A dmods=()
- for nvk in "${!DKMS_MODULES[@]}"; do
- [[ "$nvk" =~ ([^/]+)/([^/]+)/(.+) ]]
- mod="${BASH_REMATCH[1]}"
- mver="${BASH_REMATCH[2]}"
- kver="${BASH_REMATCH[3]}"
- # do not remove excluded modules (n.b. display not found errors)
- if ! check_buildexclusive "$mod" "$mver" "$kver"; then
- unset DKMS_MODULES[$nvk]
- continue
- fi
- state=$(dkms status -m "$mod" -v "$mver" -k "$kver")
- if [[ "$state" =~ "$mod, $mver, $kver, "[^:]+": "(added|built|installed) ]]; then
- dmods[$kver]=''
- run dkms remove --no-depmod -m "$mod" -v "$mver" -k "$kver"
- if (( $? == 0 )); then
- unset DKMS_MODULES[$nvk]
- else
- DKMS_MODULES[$nvk]='dkms remove failed'
- fi
- else
- DKMS_MODULES[$nvk]='Not found in dkms status output'
- fi
- done
- # run depmod later for performance improvments
- if (( $DKMS_DEPMOD )); then
- for kver in "${!dmods[@]}"; do
- run depmod "$kver"
- done
- fi
-}
-
-# show information about failed modules
-show_errors() {
- local nvk mod kver
- for nvk in "${!DKMS_MODULES[@]}"; do
- mod=${nvk%/*}
- kver=${nvk##*/}
- echo "==> Unable to $DKMS_ACTION module $mod for kernel $kver: ${DKMS_MODULES[$nvk]}."
- done
-}
-
-# display hook usage and exit $1 (default 1)
-usage() {
- cat << EOF >&2
-usage: ${0##*/} <options> install|remove
-options: -D Do not run depmod
-EOF
- exit ${1:-1}
-}
-
-# emulated program entry point
-main() {
- [[ "$DKMS_ALPM_HOOK_DEBUG" ]] && set -x
-
- # prevent each dkms call from failing with authorization errors
- if (( EUID )); then
- echo 'You must be root to use this hook' >&2
- exit 1
- fi
-
- # parse command line options
- declare -i DKMS_DEPMOD=1
- local opt
- while getopts 'hD' opt; do
- case $opt in
- D) DKMS_DEPMOD=0;;
- *) usage;;
- esac
- done
- shift $((OPTIND - 1))
- (( $# != 1 )) && usage
-
- # register DKMS action
- case "$1" in
- install|remove)
- declare -r DKMS_ACTION="$1";;
- *) usage;;
- esac
-
- # dkms path from framework config
- # note: the alpm hooks which trigger this script use static path
- source_tree='/usr/src'
- install_tree='/usr/lib/modules'
- source /etc/dkms/framework.conf
-
- # check source_tree and install_tree exists
- local path
- for path in "$source_tree" "$install_tree"; do
- if [[ ! -d "$path" ]]; then
- echo "==> Missing mandatory directory: $path. Exiting!"
- return 1
- fi
- done
-
- # storage for DKMS modules to install/remove
- # we use associate arrays to prevent duplicate
- declare -A DKMS_MODULES
-
- # parse stdin paths to guess what do do
- while read -r path; do
- if [[ "/$path" =~ ^$source_tree/([^/]+)-([^/]+)/dkms\.conf$ ]]; then
- parse_module "${BASH_REMATCH[1]}" "${BASH_REMATCH[2]}"
- elif [[ "/$path" =~ ^$install_tree/([^/]+)/ ]]; then
- parse_kernel "${BASH_REMATCH[1]}"
- fi
- done
-
- dkms_$DKMS_ACTION
-
- show_errors
-
- return 0
-}
-
-main "$@"
Copied: dkms/repos/extra-any/hook.sh (from rev 392009, dkms/trunk/hook.sh)
===================================================================
--- hook.sh (rev 0)
+++ hook.sh 2020-07-16 22:32:22 UTC (rev 392010)
@@ -0,0 +1,251 @@
+#!/bin/bash
+
+#
+# Copyright © 2018-2020, 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.
+
+# display what to run and run it quietly
+run() {
+ echo "==> $*"
+ "$@" > /dev/null
+ local ret=$?
+ (( $ret )) && echo "==> Warning, \`$*' returned $ret"
+ return $ret
+}
+
+# check whether the dependencies of a module are installed
+# $1: module name
+# $2: module version
+# $3: kernel version
+check_dependency() { (
+ source "$source_tree/$1-$2/dkms.conf"
+ local mod lines line
+ for mod in "${BUILD_DEPENDS[@]}"; do
+ mapfile lines < <(dkms status -m "$mod" -k "$3")
+ for line in "${lines[@]}"; do
+ [[ "$line" =~ "$mod, "[^,]+", $3, "[^:]+': installed' ]] && break 2
+ done
+ exit 1
+ done
+ exit 0
+) }
+
+# check whether the modules should be built with this kernel version
+# $1: module name
+# $2: module version
+# $3: kernel version
+check_buildexclusive() {
+ local BUILD_EXCLUSIVE_KERNEL=$(source "$source_tree/$1-$2/dkms.conf"; printf '%s\n' "$BUILD_EXCLUSIVE_KERNEL")
+ [[ "$3" =~ $BUILD_EXCLUSIVE_KERNEL ]]
+}
+
+# handle actions on module addition/upgrade/removal
+# $1: module name
+# $2: module version
+parse_module() {
+ pushd "$install_tree" >/dev/null
+ local path
+ for path in */build/; do
+ local kver="${path%%/*}"
+ dkms_register "$1" "$2" "$kver"
+ done
+ popd >/dev/null
+}
+
+# handle actions on kernel addition/upgrade/removal
+# $1: kernel version
+parse_kernel() {
+ local path
+ for path in "$source_tree"/*-*/dkms.conf; do
+ if [[ -f "$path" && "$path" =~ ^$source_tree/([^/]+)-([^/]+)/dkms\.conf$ ]]; then
+ dkms_register "${BASH_REMATCH[1]}" "${BASH_REMATCH[2]}" "$1"
+ fi
+ done
+}
+
+# register a dkms module to install/remove
+# this function suppress echo call for a module
+# $1: module name, $2: module version, $3: kernel version
+dkms_register() {
+ DKMS_MODULES["$1/$2/$3"]=''
+}
+
+# install registered modules
+dkms_install() {
+ local nvk mod mver kver
+ local -i retry=1
+ local -A dmods=()
+
+ while (( $retry > 0 )); do
+ retry=0
+ for nvk in "${!DKMS_MODULES[@]}"; do
+ [[ "$nvk" =~ ([^/]+)/([^/]+)/(.+) ]]
+ mod="${BASH_REMATCH[1]}"
+ mver="${BASH_REMATCH[2]}"
+ kver="${BASH_REMATCH[3]}"
+ # do not build excluded modules
+ if ! check_buildexclusive "$mod" "$mver" "$kver"; then
+ unset DKMS_MODULES[$nvk]
+ continue
+ # skip modules with missing kernel headers
+ elif [[ ! -d "$install_tree/$kver/build/include" ]]; then
+ DKMS_MODULES[$nvk]='Missing kernel headers'
+ continue
+ # skip modules with missing kernel package
+ elif [[ ! -d "$install_tree/$kver/kernel" ]]; then
+ DKMS_MODULES[$nvk]='Missing kernel modules tree'
+ continue
+ # postpone modules with missing dependencies
+ elif ! check_dependency "$mod" "$mver" "$kver"; then
+ DKMS_MODULES[$nvk]='Missing dependency'
+ continue
+ fi
+ # give it a try dkms
+ run dkms install --no-depmod -m "$mod" -v "$mver" -k "$kver"
+ dmods[$kver]=''
+ unset DKMS_MODULES[$nvk]
+ # maybe this module was a dep of another, so we retry
+ retry=1
+ done
+ done
+ # run depmod later for performance improvments
+ if (( $DKMS_DEPMOD )); then
+ for kver in "${!dmods[@]}"; do
+ run depmod "$kver"
+ done
+ fi
+}
+
+# remove registered modules when built/installed
+# run depmod later for performance improvments
+dkms_remove() {
+ local nvk mod mver kver state
+ local -A dmods=()
+ for nvk in "${!DKMS_MODULES[@]}"; do
+ [[ "$nvk" =~ ([^/]+)/([^/]+)/(.+) ]]
+ mod="${BASH_REMATCH[1]}"
+ mver="${BASH_REMATCH[2]}"
+ kver="${BASH_REMATCH[3]}"
+ # do not remove excluded modules (n.b. display not found errors)
+ if ! check_buildexclusive "$mod" "$mver" "$kver"; then
+ unset DKMS_MODULES[$nvk]
+ continue
+ fi
+ state=$(dkms status -m "$mod" -v "$mver" -k "$kver")
+ if [[ "$state" =~ "$mod, $mver, $kver, "[^:]+": "(added|built|installed) ]]; then
+ dmods[$kver]=''
+ run dkms remove --no-depmod -m "$mod" -v "$mver" -k "$kver"
+ if (( $? == 0 )); then
+ unset DKMS_MODULES[$nvk]
+ else
+ DKMS_MODULES[$nvk]='dkms remove failed'
+ fi
+ else
+ DKMS_MODULES[$nvk]='Not found in dkms status output'
+ fi
+ done
+ # run depmod later for performance improvments
+ if (( $DKMS_DEPMOD )); then
+ for kver in "${!dmods[@]}"; do
+ run depmod "$kver"
+ done
+ fi
+}
+
+# show information about failed modules
+show_errors() {
+ local nvk mod kver
+ for nvk in "${!DKMS_MODULES[@]}"; do
+ mod=${nvk%/*}
+ kver=${nvk##*/}
+ echo "==> Unable to $DKMS_ACTION module $mod for kernel $kver: ${DKMS_MODULES[$nvk]}."
+ done
+}
+
+# display hook usage and exit $1 (default 1)
+usage() {
+ cat << EOF >&2
+usage: ${0##*/} <options> install|remove
+options: -D Do not run depmod
+EOF
+ exit ${1:-1}
+}
+
+# emulated program entry point
+main() {
+ [[ "$DKMS_ALPM_HOOK_DEBUG" ]] && set -x
+
+ # prevent each dkms call from failing with authorization errors
+ if (( EUID )); then
+ echo 'You must be root to use this hook' >&2
+ exit 1
+ fi
+
+ # parse command line options
+ declare -i DKMS_DEPMOD=1
+ local opt
+ while getopts 'hD' opt; do
+ case $opt in
+ D) DKMS_DEPMOD=0;;
+ *) usage;;
+ esac
+ done
+ shift $((OPTIND - 1))
+ (( $# != 1 )) && usage
+
+ # register DKMS action
+ case "$1" in
+ install|remove)
+ declare -r DKMS_ACTION="$1";;
+ *) usage;;
+ esac
+
+ # dkms path from framework config
+ # note: the alpm hooks which trigger this script use static path
+ source_tree='/usr/src'
+ install_tree='/usr/lib/modules'
+ source /etc/dkms/framework.conf
+
+ # check source_tree and install_tree exists
+ local path
+ for path in "$source_tree" "$install_tree"; do
+ if [[ ! -d "$path" ]]; then
+ echo "==> Missing mandatory directory: $path. Exiting!"
+ return 1
+ fi
+ done
+
+ # storage for DKMS modules to install/remove
+ # we use associate arrays to prevent duplicate
+ declare -A DKMS_MODULES
+
+ # parse stdin paths to guess what do do
+ while read -r path; do
+ if [[ "/$path" =~ ^$source_tree/([^/]+)-([^/]+)/dkms\.conf$ ]]; then
+ parse_module "${BASH_REMATCH[1]}" "${BASH_REMATCH[2]}"
+ elif [[ "/$path" =~ ^$install_tree/([^/]+)/ ]]; then
+ parse_kernel "${BASH_REMATCH[1]}"
+ fi
+ done
+
+ dkms_$DKMS_ACTION
+
+ show_errors
+
+ return 0
+}
+
+main "$@"
Deleted: hook.upgrade
===================================================================
--- hook.upgrade 2020-07-16 22:32:13 UTC (rev 392009)
+++ hook.upgrade 2020-07-16 22:32:22 UTC (rev 392010)
@@ -1,13 +0,0 @@
-[Trigger]
-Operation = Upgrade
-Type = Path
-Target = usr/src/*/dkms.conf
-Target = usr/lib/modules/*/build/include/
-Target = usr/lib/modules/*/modules.alias
-
-[Action]
-Description = Remove upgraded DKMS modules
-Depends = dkms
-When = PreTransaction
-Exec = /usr/lib/dkms/alpm-hook -D remove
-NeedsTargets
Copied: dkms/repos/extra-any/hook.upgrade (from rev 392009, dkms/trunk/hook.upgrade)
===================================================================
--- hook.upgrade (rev 0)
+++ hook.upgrade 2020-07-16 22:32:22 UTC (rev 392010)
@@ -0,0 +1,13 @@
+[Trigger]
+Operation = Upgrade
+Type = Path
+Target = usr/src/*/dkms.conf
+Target = usr/lib/modules/*/build/include/
+Target = usr/lib/modules/*/modules.alias
+
+[Action]
+Description = Remove upgraded DKMS modules
+Depends = dkms
+When = PreTransaction
+Exec = /usr/lib/dkms/alpm-hook -D remove
+NeedsTargets
More information about the arch-commits
mailing list