73 lines
2.6 KiB
Text
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:
|