# Maintainer: Michael Lass # This PKGBUILD is maintained on github: # https://github.com/michaellass/AUR pkgname=openafs-modules _srcname=openafs pkgver=1.8.10 pkgrel=4 pkgdesc="Kernel module for OpenAFS" arch=('i686' 'x86_64' 'armv7h') url="http://www.openafs.org" license=('custom:"IBM Public License Version 1.0"') depends=('openafs') makedepends=('libelf' 'linux-headers') conflicts=('openafs-features-libafs' 'openafs<1.6.6-2') options=(!emptydirs) install=openafs-modules.install source=(http://openafs.org/dl/openafs/${pkgver}/${_srcname}-${pkgver}-src.tar.bz2 0001-Linux-6.5-Replace-generic_file_splice_read.patch 0002-LINUX-Make-sysctl-definitions-more-concise.patch 0003-Linux-6.5-Use-register_sysctl.patch 0004-hcrypto-rename-abort-to-_afscrypto_abort.patch 0005-linux-Replace-fop-iterate-with-fop-iterate_shared.patch 0006-dir-Introduce-struct-DirEntryMax.patch) sha256sums=('9fec11364623549e8db7374072f5c8f01b841f6bfe7e85673cbce35ff43ffb07' 'e27ff48ca676ac8d4dc95209bd3b84fe13bb14861aa4a0e0776f3dfe7559ffab' '4e71ad2009125187632cdb48b2d5eccc9bcaa8ab0733751fed432cfe661ea86e' 'daaa1361d5db967bd8b72fff4038cfc933a7027e3c70d10ef6ff673a5d176cb6' '40e50688a2d4d85eb9b971aaa8563e577db15550aa56c44eab8fe2a688d3f013' 'c0792690ed273ce464966b22e36ca431196a913ded6f0def4a46154076fd0eff' 'be7e1b0304ff61ed899286fdd18ebdbe71cbbe3eb20f6ac38c5799083b339a4a') # Heuristic to determine version of installed kernel # You can modify this if the heuristic fails if uname -r | grep -q lts; then # if you are currently running an lts kernel, only consider lts versions _kernelver=$(ls -dt /usr/lib/modules/*lts* | head -n1 | cut -d/ -f5) else _kernelver=$(ls -dt /usr/lib/modules/* | head -n1 | cut -d/ -f5) fi _extramodules="/usr/lib/modules/${_kernelver}/extramodules" prepare() { cd "${srcdir}/${_srcname}-${pkgver}" # Patches for Linux 6.5 patch -p1 < "${srcdir}"/0001-Linux-6.5-Replace-generic_file_splice_read.patch patch -p1 < "${srcdir}"/0002-LINUX-Make-sysctl-definitions-more-concise.patch patch -p1 < "${srcdir}"/0003-Linux-6.5-Use-register_sysctl.patch patch -p1 < "${srcdir}"/0004-hcrypto-rename-abort-to-_afscrypto_abort.patch patch -p1 < "${srcdir}"/0005-linux-Replace-fop-iterate-with-fop-iterate_shared.patch patch -p1 < "${srcdir}"/0006-dir-Introduce-struct-DirEntryMax.patch # Only needed when changes to configure were made ./regen.sh -q } build() { cd "${srcdir}/${_srcname}-${pkgver}" ./configure --prefix=/usr \ --sysconfdir=/etc \ --sbindir=/usr/bin \ --libexecdir=/usr/lib \ --disable-fuse-client \ --without-swig \ --with-linux-kernel-packaging \ --with-linux-kernel-build="/usr/lib/modules/${_kernelver}/build" make only_libafs } package() { cd "${srcdir}/${_srcname}-${pkgver}" make DESTDIR="${pkgdir}" install_only_libafs # install kernel module install -dm755 "${pkgdir}${_extramodules}" mv "${pkgdir}/lib/modules/${_kernelver}/extra/openafs/openafs.ko" "${pkgdir}${_extramodules}/openafs.ko" gzip -9 "${pkgdir}${_extramodules}/openafs.ko" # install license install -Dm644 "${srcdir}/${_srcname}-${pkgver}/LICENSE" "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE" # remove files already included in openafs package find "${pkgdir}/usr" -maxdepth 3 -type f -delete find "${pkgdir}/usr" -maxdepth 3 -type l -delete # update major kernel version in install file sed -i "s/depmod .*/depmod ${_kernelver}/g" "${startdir}/openafs-modules.install" }