jobextra/dkms/PKGBUILD-arch
2022-12-12 19:02:45 +02:00

73 lines
2.6 KiB
Text

# Maintainer: Sébastien Luttringer
# Contributor: Balwinder S "bsd" Dheeman (bdheeman AT gmail.com)
pkgname=dkms
pkgver=3.0.9
pkgrel=1
pkgdesc='Dynamic Kernel Modules System'
arch=('any')
url='https://github.com/dell/dkms'
license=('GPL2')
depends=('coreutils' 'bash' 'gawk' 'sed' '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')
sha256sums=('SKIP'
'acdc5b45cc018cea04ee1aec56fd8fc3a2de62cf7bc41acf53b3790872120998'
'326515cc7d00f93760beb844434ca7442caf7a9424614aa95a8f6d1ab79e15df'
'4f8dff7716e73a8bba885638f12e3cdc9e87daec1896f75e700b981527e43870'
'c1b4a4e2e4e0e0e59ee0887403e79d60b209f3878dbbec6612573f13b90cce01')
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{.in,.8.in,_framework.conf,.bash-completion,_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/share/libalpm/scripts/dkms"
# upstream installer
cd dkms
# we don't need kconf files and libdir is only for debian stuff, so
# we install them outside of $pkgdir
make \
DESTDIR="$pkgdir" \
SBIN="$pkgdir/usr/bin" \
BASHDIR="$pkgdir/usr/share/bash-completion/completions" \
KCONF="$srcdir"/trash \
LIBDIR="$srcdir"/trash \
install
}
# vim:set ts=2 sw=2 et: