diff options
Diffstat (limited to 'net/firewall/arno-iptables-firewall/arno-iptables-firewall.mkbuild')
-rw-r--r-- | net/firewall/arno-iptables-firewall/arno-iptables-firewall.mkbuild | 247 |
1 files changed, 247 insertions, 0 deletions
diff --git a/net/firewall/arno-iptables-firewall/arno-iptables-firewall.mkbuild b/net/firewall/arno-iptables-firewall/arno-iptables-firewall.mkbuild new file mode 100644 index 0000000..b7b7571 --- /dev/null +++ b/net/firewall/arno-iptables-firewall/arno-iptables-firewall.mkbuild @@ -0,0 +1,247 @@ +# +# This mkbuild is free software; you can redistribute it and/or modify it under the +# terms of the GNU General Public License as published by the Free Software +# Foundation; either version 2 of the License, or any later version. +# +# This mkbuild is distributed in the hope that it will be useful, but WITHOUT ANY +# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR +# A PARTICULAR PURPOSE. See the GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License along with +# this program; if not, write to the Free Software Foundation, Inc., 59 Temple +# Place - Suite 330, Boston, MA 02111-1307, USA +# +# Version 0.9.0 - Alves ( rudsonalves at yahoo d0t com d0t br ) +# Version $Rev: 803 $ - $Author: rhatto $ + +#-------------------- +# Personal variables +#-------------------- +# Author name +[[SLACKBUILD AUTHOR]]="Luis" + +# Initials author name +[[SLACKBUILD AUTHOR INITIALS]]="ls" + +#------------------------ +# Construction Variables +#------------------------ +# +# Complete URL address or URL base address ( without $SRC_NAME-$VERSION... ) +[[DOWNLOAD FOLDER URL]]="http://rocky.eld.leidenuniv.nl/arno-iptables-firewall/arno-iptables-firewall_1.9.2d.tar.gz" + +# Source base name. if different from package name. Null ("") to default value. +# Auto-set, get SRC_NAME from URL: http://.../$SRC_NAME-$VERSION.tar.$EXTENSION' +[[SOURCE NAME]]="arno-iptables-firewall" + +# Package name. Null ("") to auto-set +# Auto-set, get PKG_NAME from URL downcase(SRC_NAME): http://.../$SRC_NAME-$VERSION.tar.$EXTENSION' +[[PACKAGE NAME]]="" + +# +# Package default ARCH +# Default set is i486 +[[ARCH]]="" + +# +# Package version. Null ("") to auto-set. +# Auto-set, get VERSION from URL: http://.../$SRC_NAME-$VERSION.tar.$EXTENSION' +[[VERSION]]="1.9.2d" + +# +# Package extension. Null ("") to auto-set +# Auto-set, get EXTENSION from URL: http://.../$SRC_NAME-$VERSION.tar.$EXTENSION' +[[EXTENSION]]="" + +# +# Build number. +# Auto-set to default 1 +[[BUILD NUMBER]]="" + +# +# Source Name construction string +# Default value is: $SRC_NAME-$VERSION.tar.$EXTENSION +[[SOURCE NAME CONSTRUCTION STRING]]="$SRC_NAME"_"$VERSION.tar.$EXTENSION" + +# +# Unpacker programa ("") to auto-set. Default "tar" +# Unpacke Flags ("") to auto-set. Default flags to tar "--no-same-owner --no-same-permissions -xvf" +[[UNPACKER]]="" +[[UNPACKER FLAGS]]="" + +# +# Dependency list input +# Enter string: "dependency_1 [condiction_1] [versio_1]: dependency_2 [condiction_2] [versio_2]" +# Example: +[[SLACK REQUIRED]]="" + +# +# Decompress program +# gz, tgz, bz2, set null ("") to auto-set +# Auto-set, get DECOMPRESSOR from URL EXTENSION: http://.../$SRC_NAME-$VERSION.tar.$EXTENSION' +[[DECOMPRESSOR]]="" + +# +# Decompress check flag +# gz, tgz, bz2, set null ("") to auto-set +[[DECOMPRESSOR TEST FLAG]]="" + +# +# Documentation files. Null ("") to auto-set commom doc-files: +# NEWS TODO README AUTHORS INSTALL ChangeLog MAINTAINERS COPYING readme.* +[[DOCUMENTATION FILES]]="" + +# +# ./configure options +[[OTHER CONFIGURE ARGS]]="" + +# +# PREFIX. Default /usr +[[PREFIX]]="/usr" + +# +# Number of jobs +[[NUMBER OF JOBS]]="" + +#--------------------- +# Others changes +#--------------------- +#[[MD5SUM CODE]]="" +#[[MD5SUM EXTENSION]]="" +#[[SIGNING KEY]]="" +#[[SIGNING KEY URL]]="" +#[[SIGNING KEY ID]]="" +#[[SIGNING URL]]="" +#[[CONFIG FILES]]="" +#[[PATCH URLS]]="" +#[[REST OF DOINST.SH]]="" +[[PATCH FILES]]="" +[[NUMBER OF PREFIX SLASHES TO STRIP]]="1" + +# SlackBuild model +[[SLACKBUILD MODEL]]="generic.mkSlackBuild" + +# SlackBuild PATH in Slack.Sarava tree +#[[SLACKBUILD PATH]]="others/unclassified/$PKG_NAME" +[[SLACKBUILD PATH]]="net/firewall/arno-iptables-firewall" + +#--------------------- +# SlackBuild Sections +#--------------------- +# Default sections: +# head, set_variables, slkflags, start_structure, untar_source, +# make_package, install_package, build_package +# Warning: don't remove '#>>' and "#<<" tags. +#>> Start SlackBuild Sections: + on: head + on: slackbuildrc + on: set_variables + on: slkflags + on: error_codes + on: start_structure +off: create_build_user_and_group + on: download_source +off: download_patches +off: svn_source +off: git_source +off: md5sum_download_and_check_0 +off: md5sum_download_and_check_1 +off: gpg_signature_check + on: manifest_check + on: untar_source +off: patch_source +off: configure +off: make_package + on: install_package + on: strip_binaries +off: compress_manpages +off: compress_info_files +off: copy_init_scripts +off: copy_config_files + on: install_documentation + on: slackdesc +off: move_config_files +off: postinstall_script +off: slack_required + on: build_package + on: clean_builds +#<< End SlackBuild Sections + +#------------------ +# Sections changes +#------------------ +#>slackdesc +arno-iptables-firewall: arno-iptables-firewall (Arno's iptables firewall) +arno-iptables-firewall: +arno-iptables-firewall: A highly customizable iptables firewall script, +arno-iptables-firewall: featuring stealth scan detection, extensive user- +arno-iptables-firewall: definable logging, masquerading and port forwarding +arno-iptables-firewall: (NAT), protection against SYN/ICMP flooding, etc. +arno-iptables-firewall: It also includes a filter script (arno-fwfilter) to +arno-iptables-firewall: make its logs more easily readable. +arno-iptables-firewall: +arno-iptables-firewall: For more information, http://rocky.eld.leidenuniv.nl/ +arno-iptables-firewall: +#<slackdesc + +#>install_package +# Install +mkdir -p "$PKG/etc/rc.d" || exit $ERROR_MKDIR +mkdir -p "$PKG/etc/logrotate.d" || exit $ERROR_MKDIR +mkdir -p "$PKG/$PREFIX/bin" || exit $ERROR_MKDIR +mkdir -p "$PKG/$PREFIX/man/man1" || exit $ERROR_MKDIR +mkdir -p "$PKG/$PREFIX/man/man8" || exit $ERROR_MKDIR +cp -r "etc/init.d/arno-iptables-firewall" "$PKG/etc/rc.d/rc.firewall.new" +cp -r "etc/arno-iptables-firewall" "$PKG/etc" +cp -r "contrib/Slackware/syslog.conf" "$PKG/etc/syslog.conf.new" +cp -r "$CWD/syslog.new" "$PKG/etc/logrotate.d" +cp -r "bin/arno-fwfilter" "$PKG/$PREFIX/bin" +cp -r "share/man/man1/arno-fwfilter.1" "$PKG/$PREFIX/man/man1" +cp -r "share/man/man8/arno-iptables-firewall.8" "$PKG/$PREFIX/man/man8" +mv -f "$PKG/etc/arno-iptables-firewall/firewall.conf" \ + "$PKG/etc/arno-iptables-firewall/firewall.conf.new" +mv -f "$PKG/etc/arno-iptables-firewall/custom-rules" \ + "$PKG/etc/arno-iptables-firewall/custom-rules.new" +for file in $('ls' -1 "$PKG/etc/arno-iptables-firewall/plugins/"*.conf); do + mv -f "$file" "${file}.new" +done + +# Add a post-installation script (doinst.sh) +mkdir -p $PKG/install +cat << EOSCRIPT > "$PKG/install/doinst.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/rc.d/rc.firewall.new +config etc/arno-iptables-firewall/firewall.conf.new +config etc/arno-iptables-firewall/custom-rules.new +$(for path in $('ls' -1 "$PKG/etc/arno-iptables-firewall/plugins/"*.conf.new); do + file="$(basename $path)" + echo "config etc/arno-iptables-firewall/plugins/$file" +done) +config etc/syslog.conf.new +config etc/logrotate.d/syslog.new + +echo +echo " Remember to check the new configuration files, specially:" +echo +echo " /etc/rc.d/rc.firewall.new" +echo " /etc/arno-iptables-firewall/firewall.conf.new" +echo " /etc/syslog.conf.new" +echo " /etc/logrotate.d/syslog.new" +echo +echo " Also, firewall.conf *has* to be properly configured for" +echo " this firewall to work." +echo +EOSCRIPT +#<install_package |