# $Id: PKGBUILD 110689 2011-02-21 15:30:22Z tpowa $
# Maintainer: Paul Mattal <pjmattal@elys.com>

pkgname=aufs2-libre
pkgver=2.6.38_20110314
pkgrel=4
#_kernver=${pkgver%_*}-LIBRE
_kernver=2.6.38-LIBRE
pkgdesc="Another Unionfs Implementation for the Linux-Libre kernel"
arch=('i686' 'x86_64')
url="http://aufs.sourceforge.net/"
license=('GPL2')
depends=('kernel26-libre>=2.6.38' 'kernel26-libre<2.6.39')
makedepends=('kernel26-libre-headers>=2.6.38' 'kernel26-libre-headers<2.6.39')
replaces=('aufs' 'aufs2')
conflicts=('aufs2')
provides=("aufs2=$pkgver")
install=${pkgname}.install
source=("ftp://ftp.archlinux.org/other/aufs2/${pkgname%-libre}-${pkgver}.tar.gz")
options=('!makeflags' '!strip')
md5sums=('60649fa47d3f499dfbb4b68a2afde47c')

build() {
  cd ${srcdir}/${pkgname%-libre}-${pkgver}
  #patch -Np1 -i ../aufs2-module-2.6.36.patch
  sed -i 's|CONFIG_AUFS_HNOTIFY =.*|CONFIG_AUFS_HNOTIFY = y|' \
     config.mk || return 1
  sed -i 's|CONFIG_AUFS_HFSNOTIFY =.*|CONFIG_AUFS_HFSNOTIFY = y|' \
     config.mk || return 1
  sed -i 's|CONFIG_AUFS_EXPORT =.*|CONFIG_AUFS_EXPORT = y|' \
     config.mk || return 1
  sed -i 's|CONFIG_AUFS_SHWH =.*|CONFIG_AUFS_SHWH = y|' \
     config.mk || return 1
  sed -i 's|CONFIG_AUFS_BDEV_LOOP =.*|CONFIG_AUFS_BDEV_LOOP = y|' \
     config.mk || return 1
  sed -i 's|CONFIG_AUFS_BR_RAMFS =.*|CONFIG_AUFS_BR_RAMFS = y|' \
     config.mk || return 1
  sed -i 's|CONFIG_AUFS_DEBUG =.*|CONFIG_AUFS_DEBUG =|' \
     config.mk || return 1
  if [ "${CARCH}" = "x86_64" ]; then
    inot64=" y"
  else
    inot64=""
  fi
  sed -i "s|CONFIG_AUFS_INO_T_64 =.*|CONFIG_AUFS_INO_T_64 =${inot64}|" \
     config.mk 
  # build, sed fixes are from gentoo portage build
  sed -i "s:aufs.ko usr/include/linux/aufs_type.h:aufs.ko:g" Makefile
  sed -i "s:__user::g" include/linux/aufs_type.h
  make KDIR=/usr/src/linux-${_kernver}
}

package() {
  cd ${srcdir}/${pkgname%-libre}-${pkgver}
  install -D -m644 fs/aufs/aufs.ko \
    $pkgdir/lib/modules/${_kernver}/kernel/fs/aufs/aufs.ko 
  # tweak the install script for the right kernel version
  sed -i -e "s/KERNEL_VERSION=.*/KERNEL_VERSION=${_kernver}/g" \
    $startdir/$pkgname.install
  # install include files
  install -D -m 644 include/linux/aufs_type.h $pkgdir/usr/include/linux/aufs_type.h
  # gzip -9 all modules to safe 100MB
  find "$pkgdir" -name '*.ko' -exec gzip -9 {} \;
}