# $Id: PKGBUILD 22431 2008-12-26 20:13:34Z tpowa $
# Contributor: Paul Mattal <paul@mattal.com>
# Maintainer: Paul Mattal <pjmattal@elys.com>
pkgname=aufs
pkgver=20081226
pkgrel=2
_kernver='2.6.28-LinHES'
pkgdesc="Another Unionfs Implementation that supports NFS branches"
arch=('i686' 'x86_64')
url="http://aufs.sourceforge.net/"
license=('GPL2')
depends=('kernel26>=2.6.28' 'kernel26<2.6.29' 'glibc' 'aufs-utils=20081226')
install=$pkgname.install
source=(ftp://ftp.archlinux.org/other/aufs/$pkgname-$pkgver.tar.bz2)
options=(!libtool !makeflags)

build() {
  cd $srcdir/$pkgname || return 1

  # Fix TMPFS_MAGIC error
  sed 's|-le 26|-le 27|g' -i fs/aufs25/Makefile || return 1

  # use splice functions exported by unionfs kernel patch'
  # - important for loopback fs mounts 
  sed -i 's|CONFIG_AUFS_SPLICE_PATCH =|CONFIG_AUFS_SPLICE_PATCH = y|' \
     local.mk || return 1

  # this fixes the unionfs patch from hanging aufs
  sed -i 's|CONFIG_AUFS_UNIONFS23_PATCH =|CONFIG_AUFS_UNIONFS23_PATCH = y|' \
     local.mk || return 1

  sed -i 's|CONFIG_AUFS_WORKAROUND_FUSE =|CONFIG_AUFS_WORKAROUND_FUSE = y|' \
     local.mk || return 1

  sed -i 's|CONFIG_AUFS_BRANCH_MAX_127 = y|CONFIG_AUFS_BRANCH_MAX_127 =|' \
     local.mk || return 1
          	        	       	       	   
  sed -i 's|CONFIG_AUFS_BRANCH_MAX_1023 =|CONFIG_AUFS_BRANCH_MAX_1023 = y|' \
     local.mk || return 1

  # ???
  sed -i 's|.*CONFIG_AUFS_SHWH =.*|CONFIG_AUFS_SHWH = y|' \
    local.mk || return 1
  # disable debug, broken in 2.6.28!
  sed -i 's|CONFIG_AUFS_DEBUG = y|CONFIG_AUFS_DEBUG = |' \
     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:
md5sums=('e855ed9edc16953028f22cae393690de')