summaryrefslogtreecommitdiff
path: root/network/ipset/ipset.SlackBuild
diff options
context:
space:
mode:
Diffstat (limited to 'network/ipset/ipset.SlackBuild')
-rw-r--r--network/ipset/ipset.SlackBuild53
1 files changed, 46 insertions, 7 deletions
diff --git a/network/ipset/ipset.SlackBuild b/network/ipset/ipset.SlackBuild
index 277134e50e..3607e985cc 100644
--- a/network/ipset/ipset.SlackBuild
+++ b/network/ipset/ipset.SlackBuild
@@ -1,17 +1,38 @@
#!/bin/sh
# Slackware build script for ipset
-# Written by Michal Bialozor <bialyy@o2.pl>
+
+# Copyright 2013 Michal Bialozor, Gdansk, Pomorskie, POLAND
+# All rights reserved.
+#
+# Redistribution and use of this script, with or without modification, is
+# permitted provided that the following conditions are met:
+#
+# 1. Redistributions of this script must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ''AS IS'' AND ANY EXPRESS OR IMPLIED
+# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
PRGNAM=ipset
-VERSION=6.13
+VERSION=${VERSION:-6.19}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
+# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
case "$( uname -m )" in
i?86) ARCH=i486 ;;
arm*) ARCH=arm ;;
+ # Unless $ARCH is already set, use uname -m for all other archs:
*) ARCH=$( uname -m ) ;;
esac
fi
@@ -21,6 +42,8 @@ TMP=${TMP:-/tmp/SBo}
PKG=$TMP/package-$PRGNAM
OUTPUT=${OUTPUT:-/tmp}
+KERNEL=${KERNEL:-$(uname -r)}
+
if [ "$ARCH" = "i486" ]; then
SLKCFLAGS="-O2 -march=i486 -mtune=i686"
LIBDIRSUFFIX=""
@@ -35,7 +58,7 @@ else
LIBDIRSUFFIX=""
fi
-set -ue
+set -e
rm -rf $PKG
mkdir -p $TMP $PKG $OUTPUT
@@ -59,12 +82,28 @@ make
make install DESTDIR=$PKG
make modules
-mkdir -p $PKG/lib/modules/$(uname -r)/net/netfilter/ipset
+mkdir -p $PKG/lib/modules/$(uname -r)/extra/ipset
install -m 0644 -D kernel/net/netfilter/ipset/*.ko \
- $PKG/lib/modules/$(uname -r)/net/netfilter/ipset
-install -m 0644 kernel/net/netfilter/xt_set.ko \
- $PKG/lib/modules/$(uname -r)/net/netfilter/
+ $PKG/lib/modules/$(uname -r)/extra/ipset
+# Make modprobe prefer the new modules in /lib/modules/$KERNEL/extra/ipset/
+# We don't want to install this with a .new suffix, because we want it
+# removed with the package.
+mkdir -p $PKG/etc/depmod.d
+cat << EOF > $PKG/etc/depmod.d/ipset-$KERNEL.conf
+override ip_set $KERNEL extra/ipset
+override ip_set_bitmap_ip $KERNEL extra/ipset
+override ip_set_bitmap_ipmac $KERNEL extra/ipset
+override ip_set_bitmap_port $KERNEL extra/ipset
+override ip_set_hash_ip $KERNEL extra/ipset
+override ip_set_hash_ipport $KERNEL extra/ipset
+override ip_set_hash_ipportip $KERNEL extra/ipset
+override ip_set_hash_ipportnet $KERNEL extra/ipset
+override ip_set_hash_net $KERNEL extra/ipset
+override ip_set_hash_netiface $KERNEL extra/ipset
+override ip_set_hash_netport $KERNEL extra/ipset
+override ip_set_list_set $KERNEL extra/ipset
+EOF
find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | grep ELF \
| cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true