1 # Maintainer: Lubomir Krajcovic <lubomir.krajcovic(AT)gmail(DOT)com>
2 # Contributor: Vladimir Kutyavin <vlkut(AT)bk(DOT)ru>
3 pkgname=xtables-addons-multikernel
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."
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')
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"
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"
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"
47 # call config, build and install subsystems
50 --libexecdir=/usr/lib/iptables \
52 --with-xtlibdir=/usr/lib/iptables \
53 --mandir=/usr/share/man \
54 --with-kbuild="$kheaders"
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}"
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