# Maintainer: Michael Lass # This PKGBUILD is maintained on github: # https://github.com/michaellass/AUR pkgname=openafs-modules _srcname=openafs pkgver=1.6.21 pkgrel=1 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=('linux-headers') conflicts=('openafs-features-libafs' 'openafs<1.6.6-2') options=(!emptydirs) source=(http://openafs.org/dl/${pkgver}/${_srcname}-${pkgver}-src.tar.bz2) install=openafs-modules.install sha256sums=('ba9c1f615edd53b64fc271ad369c49a816acedca70cdd090975033469a84118f') # Heuristic to determine version of installed kernel # You can modify this if the heuristic fails _extramodules=$(ls -dt /usr/lib/modules/extramodules-* | head -n1) _kernelver=$(cat ${_extramodules}/version) prepare() { cd ${srcdir}/${_srcname}-${pkgver} # 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 \ --with-linux-kernel-packaging \ --with-linux-kernel-build="/usr/lib/modules/${_kernelver}/build" # It seems like gcc is not happy with the code wich tests for the presence # of gid in the group_info struct: # # /var/lib/dkms/openafs/1.6.20.2/build/conftest.dir/conftest.c:43:8: internal compiler error: Segmentation fault # struct group_info _test; printk("%x\n", &_test.gid); # ^~~~~~~~~~ # # Until this is fixed, we just force the result. echo "#define STRUCT_GROUP_INFO_HAS_GID" >> ${srcdir}/${_srcname}-${pkgver}/src/config/afsconfig.h 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}/src/LICENSE ${pkgdir}/usr/share/licenses/${pkgname}/LICENSE # remove file already included in openafs package) rm -rf ${pkgdir}/usr/bin ${pkgdir}/usr/include find ${pkgdir} -name *.a -delete # update major kernel version in install file sed -i "s/depmod .*/depmod ${_kernelver}/g" "${startdir}/openafs-modules.install" }