diff options
Diffstat (limited to 'base/firewall/firewall.build')
-rwxr-xr-x | base/firewall/firewall.build | 314 |
1 files changed, 314 insertions, 0 deletions
diff --git a/base/firewall/firewall.build b/base/firewall/firewall.build new file mode 100755 index 0000000..3216c74 --- /dev/null +++ b/base/firewall/firewall.build @@ -0,0 +1,314 @@ +#!/bin/bash +# +# Maintainer: Deposite Pirate <ofni.sknuplatem@etaripd> + +source /usr/src/ports/Build/build.sh + +NAME=firewall +VERSION=$(date '+%Y%m%d') +BUILD=1 + +# Description + +cat > ${PKG}/install/slack-desc <<EOF +# HOW TO EDIT THIS FILE: +# The "handy ruler" below makes it easier to edit a package description. Line +# up the first '|' above the ':' following the base package name, and the '|' +# on the right side marks the last column you can put a character in. You must +# make exactly 11 lines for the formatting to be correct. It's also +# customary to leave one space after the ':'. + +$(padd)|-----handy-ruler------------------------------------------------------| +${NAME}: firewall +${NAME}: +${NAME}: Tools and libraries for network firewalls. +${NAME}: +${NAME}: Homepage: http://www.netfilter.org +${NAME}: +${NAME}: +${NAME}: +${NAME}: +${NAME}: +${NAME}: +EOF + +cat >> ${PKG}/install/doinst.sh <<EOF +#!/bin/sh + +config() { + NEW="\$1" + OLD="\$(dirname \$NEW)/\$(basename \$NEW .new)" + # If there's no config file by that name, mv it over: + if [ ! -r \$OLD ]; then + mv \$NEW \$OLD + elif [ "\$(cat \$OLD | md5sum)" = "\$(cat \$NEW | md5sum)" ]; then + # toss the redundant copy + rm \$NEW + fi + # Otherwise, we leave the .new copy for the admin to consider... +} + +config etc/iptables/conntrackd.conf.new +config etc/iptables/ipset.conf.new +config etc/iptables/arptables.conf.new +EOF + +# Sources + +SRCNAME[0]=libmnl +SRCVERS[0]=1.0.3 +SRCPACK[0]=http://ftp.netfilter.org/pub/${SRCNAME[0]}/${SRCNAME[0]}-${SRCVERS[0]}.tar.bz2 +SRCCOPY[0]="LGPL21" + +configure() +{ +sed -i 's|$(libdir)/pkgconfig|$(datarootdir)/pkgconfig|g' Makefile.in +CFLAGS="${FLAGS}" CXXFLAGS="${FLAGS}" \ +./configure \ + --build="${ARCH}-slackware-linux" \ + --disable-dependency-tracking \ + --disable-silent-rules \ + --enable-static=no \ + --enable-shared=yes \ + --prefix="${SYS_DIR[usr]}" \ + --mandir="${SYS_DIR[man]}" \ + --sysconfdir="${SYS_DIR[etc]}/iptables" \ + --libdir="${SYS_DIR[lib]}" \ + --localstatedir="${SYS_DIR[var]}" \ + ${*} +} + +build0() +{ +configure +make ${JOBS} V=1 +make install DESTDIR="${PKG}" +} + +SRCNAME[1]=libnfnetlink +SRCVERS[1]=1.0.1 +SRCPACK[1]=http://ftp.netfilter.org/pub/${SRCNAME[1]}/${SRCNAME[1]}-${SRCVERS[1]}.tar.bz2 +SRCCOPY[1]="GPL2" + +build1() +{ +configure +make ${JOBS} V=1 +make install DESTDIR="${PKG}" +} + +SRCNAME[2]=libnetfilter_log +SRCVERS[2]=1.0.1 +SRCPACK[2]=http://ftp.netfilter.org/pub/${SRCNAME[2]}/${SRCNAME[2]}-${SRCVERS[2]}.tar.bz2 +SRCCOPY[2]="GPL2" + +build2() +{ +LIBNFNETLINK_CFLAGS="-I${PKG}${SYS_DIR[include]}" \ +LIBNFNETLINK_LIBS="-L${PKG}${SYS_DIR[lib]} -lnfnetlink" \ +configure +make ${JOBS} V=1 +make install DESTDIR="${PKG}" +} + +SRCNAME[3]=libnetfilter_conntrack +SRCVERS[3]=1.0.3 +SRCPACK[3]=http://ftp.netfilter.org/pub/${SRCNAME[3]}/${SRCNAME[3]}-${SRCVERS[3]}.tar.bz2 +SRCCOPY[3]="GPL2" + +build3() +{ +LIBMNL_CFLAGS="-I${PKG}${SYS_DIR[include]}" \ +LIBMNL_LIBS="-L${PKG}${SYS_DIR[lib]} -lmnl" \ +LIBNFNETLINK_CFLAGS="-I${PKG}${SYS_DIR[include]}" \ +LIBNFNETLINK_LIBS="-L${PKG}${SYS_DIR[lib]} -lnfnetlink" \ +configure +make ${JOBS} V=1 +make install DESTDIR="${PKG}" +} + +SRCNAME[4]=libnetfilter_queue +SRCVERS[4]=1.0.2 +SRCPACK[4]=http://ftp.netfilter.org/pub/${SRCNAME[4]}/${SRCNAME[4]}-${SRCVERS[4]}.tar.bz2 +SRCCOPY[4]="GPL2" + +build4() +{ +LIBMNL_CFLAGS="-I${PKG}${SYS_DIR[include]}" \ +LIBMNL_LIBS="-L${PKG}${SYS_DIR[lib]} -lmnl" \ +LIBNFNETLINK_CFLAGS="-I${PKG}${SYS_DIR[include]}" \ +LIBNFNETLINK_LIBS="-L${PKG}${SYS_DIR[lib]} -lnfnetlink" \ +configure +make ${JOBS} V=1 +make install DESTDIR="${PKG}" +} + +SRCNAME[5]=libnetfilter_acct +SRCVERS[5]=1.0.2 +SRCPACK[5]=http://ftp.netfilter.org/pub/${SRCNAME[5]}/${SRCNAME[5]}-${SRCVERS[5]}.tar.bz2 +SRCCOPY[5]="GPL2" + +build5() +{ +LIBMNL_CFLAGS="-I${PKG}${SYS_DIR[include]}" \ +LIBMNL_LIBS="-L${PKG}${SYS_DIR[lib]} -lmnl" \ +configure +make ${JOBS} V=1 +make install DESTDIR="${PKG}" +} + +SRCNAME[6]=libnetfilter_cthelper +SRCVERS[6]=1.0.0 +SRCPACK[6]=http://ftp.netfilter.org/pub/${SRCNAME[6]}/${SRCNAME[6]}-${SRCVERS[6]}.tar.bz2 +SRCCOPY[6]="GPL2" + +build6() +{ +LIBMNL_CFLAGS="-I${PKG}${SYS_DIR[include]}" \ +LIBMNL_LIBS="-L${PKG}${SYS_DIR[lib]} -lmnl" \ +configure +make ${JOBS} V=1 +make install DESTDIR="${PKG}" +} + +SRCNAME[7]=libnetfilter_cttimeout +SRCVERS[7]=1.0.0 +SRCPACK[7]=http://ftp.netfilter.org/pub/${SRCNAME[7]}/${SRCNAME[7]}-${SRCVERS[7]}.tar.bz2 +SRCCOPY[7]="GPL2" + +build7() +{ +LIBMNL_CFLAGS="-I${PKG}${SYS_DIR[include]}" \ +LIBMNL_LIBS="-L${PKG}${SYS_DIR[lib]} -lmnl" \ +configure +make ${JOBS} V=1 +make install DESTDIR="${PKG}" +} + +SRCNAME[8]=nfacct +SRCVERS[8]=1.0.1 +SRCPACK[8]=http://ftp.netfilter.org/pub/${SRCNAME[8]}/${SRCNAME[8]}-${SRCVERS[8]}.tar.bz2 +SRCCOPY[8]="GPL2" + +build8() +{ +LIBMNL_CFLAGS="-I${PKG}${SYS_DIR[include]}" \ +LIBMNL_LIBS="-L${PKG}${SYS_DIR[lib]} -lmnl" \ +LIBNETFILTER_ACCT_CFLAGS="-I${PKG}${SYS_DIR[include]}" \ +LIBNETFILTER_ACCT_LIBS="-L${PKG}${SYS_DIR[lib]} -lnetfilter_acct" \ +configure +make ${JOBS} V=1 +make install DESTDIR="${PKG}" +} + +SRCNAME[9]=conntrack-tools +SRCVERS[9]=1.4.1 +SRCPACK[9]=http://ftp.netfilter.org/pub/${SRCNAME[9]}/${SRCNAME[9]}-${SRCVERS[9]}.tar.bz2 +SRCCOPY[9]="GPL2" + +build9() +{ +rm -f ${PKG}${SYS_DIR[lib]}/*.la +LIBMNL_CFLAGS="-I${PKG}${SYS_DIR[include]}" \ +LIBMNL_LIBS="-L${PKG}${SYS_DIR[lib]} -lmnl" \ +LIBNFNETLINK_CFLAGS="-I${PKG}${SYS_DIR[include]}" \ +LIBNFNETLINK_LIBS="-L${PKG}${SYS_DIR[lib]} -lnfnetlink" \ +LIBNETFILTER_CONNTRACK_CFLAGS="-I${PKG}${SYS_DIR[include]}" \ +LIBNETFILTER_CONNTRACK_LIBS="-L${PKG}${SYS_DIR[lib]} -lnetfilter_conntrack" \ +LIBNETFILTER_CTTIMEOUT_CFLAGS="-I${PKG}${SYS_DIR[include]}" \ +LIBNETFILTER_CTTIMEOUT_LIBS="-L${PKG}${SYS_DIR[lib]} -lnetfilter_cttimeout" \ +LIBNETFILTER_CTHELPER_CFLAGS="-I${PKG}${SYS_DIR[include]}" \ +LIBNETFILTER_CTHELPER_LIBS="-L${PKG}${SYS_DIR[lib]} -lnetfilter_cthelper" \ +LIBNETFILTER_QUEUE_CFLAGS="-I${PKG}${SYS_DIR[include]}" \ +LIBNETFILTER_QUEUE_LIBS="-L${PKG}${SYS_DIR[lib]} -lnetfilter_queue" \ +configure +make ${JOBS} V=1 +make install DESTDIR="${PKG}" +doc AUTHORS +install.dir ${PKG}${SYS_DIR[systemdsystemunitdir]} +install.dat conntrackd.service ${PKG}${SYS_DIR[systemdsystemunitdir]} +install.dir ${PKG}${SYS_DIR[etc]}/iptables +install.cfg doc/helper/conntrackd.conf ${PKG}${SYS_DIR[etc]}/iptables/conntrackd.conf.new +install.dir ${PKG}${SYS_DIR[etc]}/tmpfiles.d +install.dat conntrackd.conf.tmpfiles ${PKG}${SYS_DIR[etc]}/tmpfiles.d/conntrackd.conf +} + +SRCNAME[10]=iptables +SRCVERS[10]=1.4.18 +SRCPACK[10]=http://ftp.netfilter.org/pub/${SRCNAME[10]}/${SRCNAME[10]}-${SRCVERS[10]}.tar.bz2 +SRCCOPY[10]="GPL2" + +build10() +{ +sed -i 's|${libdir}/pkgconfig|${datarootdir}/pkgconfig|g' configure +sed -i 's|${datadir}/xtables|${datadir}/net|g' configure +rm include/linux/types.h +libnfnetlink_CFLAGS="-I${PKG}${SYS_DIR[include]}" \ +libnfnetlink_LIBS="-L${PKG}${SYS_DIR[lib]} -lnfnetlink" \ +LDFLAGS="-L${PKG}${SYS_DIR[lib]}" \ +configure \ + --enable-devel \ + --enable-libipq \ + --with-xtlibdir=${SYS_DIR[lib]}/plugins/xtables +make ${JOBS} V=1 +make install DESTDIR="${PKG}" +sed -i "s|@SYSTEMDSYSTEMSCRIPTDIR@|${SYS_DIR[systemdsystemscriptdir]}|g" ip{,6}tables.service +install.dir ${PKG}${SYS_DIR[systemdsystemunitdir]} +install.dat ip{,6}tables.service ${PKG}${SYS_DIR[systemdsystemunitdir]} +install.dir ${PKG}${SYS_DIR[systemdsystemscriptdir]} +install.bin iptables-flush ${PKG}${SYS_DIR[systemdsystemscriptdir]} +install.dir ${PKG}${SYS_DIR[etc]}/iptables +install.dat rules/{empty,simple_firewall}.rules ${PKG}${SYS_DIR[etc]}/iptables +install.dir ${PKG}${SYS_DIR[var]}/lib/ip{,6}tables +install.dat rules/empty-{filter,mangle,nat,raw,security}.rules ${PKG}${SYS_DIR[var]}/lib/iptables +install.dat rules/empty-{filter,mangle,nat,raw,security}.rules ${PKG}${SYS_DIR[var]}/lib/ip6tables +} + +SRCNAME[11]=ipset +SRCVERS[11]=6.17 +SRCPACK[11]=http://ftp.netfilter.org/pub/${SRCNAME[11]}/${SRCNAME[11]}-${SRCVERS[11]}.tar.bz2 +SRCCOPY[11]="GPL2" + +build11() +{ +libmnl_CFLAGS="-I${PKG}${SYS_DIR[include]}" \ +libmnl_LIBS="-L${PKG}${SYS_DIR[lib]} -lmnl" \ +LDFLAGS="-L${PKG}${SYS_DIR[lib]}" \ +configure \ + --with-kmod=no +make ${JOBS} V=1 +make install DESTDIR="${PKG}" +changelog ChangeLog +sed -i "s|@SYSTEMDSYSTEMSCRIPTDIR@|${SYS_DIR[systemdsystemscriptdir]}|g" ipset.service +install.dir ${PKG}${SYS_DIR[etc]}/iptables +touch ${PKG}${SYS_DIR[etc]}/iptables/ipset.conf.new +install.dir ${PKG}${SYS_DIR[share]}/pkgconfig +install.dat lib/libipset.pc ${PKG}${SYS_DIR[share]}/pkgconfig +install.dir ${PKG}${SYS_DIR[systemdsystemunitdir]} +install.dat ipset.service ${PKG}${SYS_DIR[systemdsystemunitdir]} +install.dir ${PKG}${SYS_DIR[systemdsystemscriptdir]} +install.bin ipset-systemd ${PKG}${SYS_DIR[systemdsystemscriptdir]}/ipset +install.dir ${PKG}${SYS_DIR[bashcompletiondir]} +install.dat utils/ipset_bash_completion/ipset_bash_completion \ + ${PKG}${SYS_DIR[bashcompletiondir]}/ipset +} + +SRCNAME[12]=arptables +SRCVERS[12]=v0.0.4 +SRCPACK[12]=${URL[sf]}/ebtables/arptables/${SRCNAME[12]}-${SRCVERS[12]}/${SRCNAME[12]}-${SRCVERS[12]}.tar.gz +SRCCOPY[12]="GPL2" + +build12() +{ +make ${JOBS} +make install DESTDIR="${PKG}" \ + PREFIX="${SYS_DIR[usr]}" MANDIR="${SYS_DIR[man]}" +sed -i "s|@SYSTEMDSYSTEMSCRIPTDIR@|${SYS_DIR[systemdsystemscriptdir]}|g" arptables.service +install.dir ${PKG}${SYS_DIR[etc]}/iptables +touch ${PKG}${SYS_DIR[etc]}/iptables/arptables.conf.new +install.dir ${PKG}${SYS_DIR[systemdsystemunitdir]} +install.dat arptables.service ${PKG}${SYS_DIR[systemdsystemunitdir]} +install.dir ${PKG}${SYS_DIR[systemdsystemscriptdir]} +install.bin arptables.systemd ${PKG}${SYS_DIR[systemdsystemscriptdir]}/arptables +rm -rf ${PKG}${SYS_DIR[etc]}/rc.d +} |