# $Id: PKGBUILD 5885 2008-07-21 19:28:11Z thomas $ # Contributor: Paul Mattal # Maintainer: Paul Mattal pkgname=aufs pkgver=20080527 pkgrel=2 _kernver='2.6.26-ARCH' pkgdesc="Another Unionfs Implementation that supports NFS branches" arch=('i686' 'x86_64') url="http://aufs.sourceforge.net/" license=('GPL2') depends=('kernel26>=2.6.26-1' 'kernel26<=2.6.27' 'glibc' 'aufs-utils') install=$pkgname.install source=(ftp://ftp.archlinux.org/other/aufs/$pkgname-$pkgver.tar.gz) options=(!libtool !makeflags) md5sums=('4378221aa5763d1f4408a0bbb0e80f0a') build() { cd $startdir/src/$pkgname || return 1 # use splice functions exported by unionfs kernel patch # - important for loopback fs mounts sed s'|#if.*KERNEL_VERSION(2, 6, 26).*|#if 0|' -i fs/aufs25/vfsub.h \ || return 1 sed -i 's|CONFIG_AUFS_SPLICE_PATCH =|CONFIG_AUFS_SPLICE_PATCH = y|' \ local.mk || return 1 # patch for spin_lock conflict with the new unionfs patch sed s'|#if.*KERNEL_VERSION(2, 6, 26).*|#if 0|' -i fs/aufs25/cpup.c \ || return 1 sed -i 's|.*CONFIG_AUFS_SHWH =.*|CONFIG_AUFS_SHWH = y|' \ local.mk || return 1 # configure for NFS by: # 1) configure local.mk to use FILP and LHASH sed -i 's|CONFIG_AUFS_PUT_FILP_PATCH =|CONFIG_AUFS_PUT_FILP_PATCH = y|' \ local.mk || return 1 sed -i 's|CONFIG_AUFS_LHASH_PATCH =|CONFIG_AUFS_LHASH_PATCH = y|' \ local.mk || return 1 # 2) configure local.mk NOT to use FAKE_DM sed -i 's|CONFIG_AUFS_FAKE_DM = y|CONFIG_AUFS_FAKE_DM = |' \ local.mk || return 1 # build make KDIR=/usr/src/linux-$_kernver/ -f local.mk || return 1 # install install -D -m644 fs/aufs25/aufs.ko \ $startdir/pkg/lib/modules/$_kernver/fs/aufs25/aufs.ko || return 1 # tweak the install script for the right kernel version sed -i -e "s/KERNEL_VERSION=.*/KERNEL_VERSION=${_kernver}/g" \ $startdir/$pkgname.install || return 1 } # vim:set ts=2 sw=2 et: