updated on Sat Jan 21 16:18:39 UTC 2012
[aur-mirror.git] / xtables-addons-multikernel / PKGBUILD
blobbd8466911ace49e4a7b30fccdfa6ca7eafcd3fdd
1 # Maintainer: Lubomir Krajcovic <lubomir.krajcovic(AT)gmail(DOT)com>
2 # Contributor: Vladimir Kutyavin <vlkut(AT)bk(DOT)ru>
3 pkgname=xtables-addons-multikernel
4 pkgver=1.41
5 pkgrel=1
6 pkgdesc="Additional extensions for iptables, ip6tables, etc. CHAOS, TARPIT, TEE, DELUDE and other targets; condition, geoip, ipp2p and other matches. Includes ipset package. Builds for all kernels detected on system."
7 arch=('i686' 'x86_64')
8 license=('GPL2')
9 url="http://xtables-addons.sourceforge.net/"
10 depends=('iptables>=1.4.12', 'linux>=3.0.0' 'libmnl>=1.0.1' 'glibc')
11 makedepends=('linux-headers')
12 conflicts=(ipset xtables-addons)
13 replaces=(ipset xtables-addons)
14 provides=(ipset xtables-addons)
15 source=(http://download.sourceforge.net/project/xtables-addons/Xtables-addons/$pkgver/xtables-addons-$pkgver.tar.xz)
16 install=$pkgname.install
17 md5sums=('a8de5e5e5823aefcbab210159f122564')
19 build() {
20         # go to builddir
21         cd $srcdir/xtables-addons-$pkgver
22         # disable install-exec-hook (avoids useless calling of depmod -a at 'make install' stage)
23         sed -i 's/^install-exec-hook:$/disabled-install-exec-hook:/' Makefile.am
24         # loop through all detected kernels
25         _PACKAGES=`pacman -Qsq linux`
26         _KERNELS=`pacman -Ql $PACKAGES | grep /modules.alias.bin | sed 's/.*\/lib\/modules\/\(.*\)\/modules.alias.bin/\1/g'`
27         for kernver in $_KERNELS; do
28                 # check for kernel headers
29                 kheaders="/lib/modules/$kernver/build"
30                 echo -e "\n\n\n>>> building for kernel: $kernver\n\n\n"
31                 sleep 3
32                 if [ ! -d "$kheaders" ]; then
33                         echo "!!! SKIPPING build for kernel: $kernver"
34                         echo "!!! probably missing kernel headers for $kernver ?"
35                         echo "!!! could not locate directory: $kheaders"
36                         continue
37                 fi
38                 # for stock kernel override module install path
39                 # /lib/modules/xx.yy.zz-ARCH/extra ==> /lib/modules/extramodules-xx.yy-ARCH
40                 if [[ $kernver =~ ^([0-9]+)\.([0-9]+)\.[0-9]+\-[0-9]+\-ARCH$ ]]; then
41                         kmajor=${BASH_REMATCH[1]}
42                         kminor=${BASH_REMATCH[2]}
43                         modsubdir="INSTALL_MOD_DIR=../extramodules-${kmajor}.${kminor}-ARCH"
44                 else
45                         modsubdir=""
46                 fi
47                 # call config, build and install subsystems
48                 ./configure \
49                         --prefix=/usr \
50                         --libexecdir=/usr/lib/iptables \
51                         --sysconfdir=/etc \
52                         --with-xtlibdir=/usr/lib/iptables \
53                         --mandir=/usr/share/man \
54                         --with-kbuild="$kheaders"
55                 make || return 1
56                 make -j2 DESTDIR=$pkgdir $modsubdir install || return 1
57                 # remove empty moduledir (in case of override)
58                 [ "x$modsubdir" != "x" ] && rmdir "${pkgdir}/lib/modules/${kernver}"
59         done
60         # gzip -9 all modules to save 100MB of space
61         find "${pkgdir}/lib/modules/" -name '*.ko' -exec gzip -9 {} \;
62         # remove exec from .so
63         chmod a-x $pkgdir/usr/lib/iptables/*.so