#!/bin/bash #Copyright 2000-2002 William Stearns #Released under the GPL. #set -x #FIXME put in patch-o-matic calls. if [ -z "$IPTABLESVERSION" ]; then echo IPTABLESVERSION unset, skipping iptables. exit fi exec 2>&1 PROJECT="iptables" BKLIBDIR="${BKLIBDIR:-/var/lib/buildkernel}/" THISSCRIPT="$BKLIBDIR/bkrun-$PROJECT" #We can't use $0 as this script is sourced; $0=/usr/bin/buildkernel if [ -f $BKLIBDIR/${PROJECT}-options ]; then echo $PROJECT loading options . $BKLIBDIR/${PROJECT}-options fi echo $PROJECT \(Version $IPTABLESVERSION\) $1 called from Buildkernel IPTABLESSOURCEDIR=${IPTABLESSOURCEDIR:-"/usr/src/iptables-$IPTABLESVERSION"} IPTABLESTAR=${IPTABLESTAR:-"$BKSOURCEDIR/iptables-$IPTABLESVERSION.tar.gz"} IPTABLESTESTFILE=${IPTABLESTESTFILE:-"$IPTABLESSOURCEDIR/COPYING"} case $1 in POSTLOADVARS) : ;; POSTGETSOURCE) : ;; POSTOPENSOURCE) if [ ! -f "$IPTABLESTESTFILE" ]; then #Open up source if [ -f "$IPTABLESTAR" ]; then mkdir --parents $IPTABLESSOURCEDIR cd $IPTABLESSOURCEDIR ; cd .. case $IPTABLESTAR in *.tar.gz) tar -xzvf $IPTABLESTAR ;; *.tar.bz2) cat $IPTABLESTAR | bunzip2 - | tar -xvf - ;; *.tar) tar -xvf $IPTABLESTAR ;; *) echo Don\'t know how to open $IPTABLESTAR \! ; bkbeep ; sleep 30 ;; esac if [ ! -f "$IPTABLESTESTFILE" ]; then echo Still no $IPTABLESTESTFILE after attempting to open \! ; bkbeep ; sleep 30 fi else echo Netfilter source if not yet opened and we dont have $IPTABLESTAR \! ; bkbeep ; sleep 30 fi fi #Must patch kernel source here, as the user will be choosing what netfilter modules to include in the configure step. if [ -f "$IPTABLESTESTFILE" ] && [ -n $IPTABLESSOURCEDIR ] && cd $IPTABLESSOURCEDIR/patch-o-matic ; then KERNEL_DIR=/usr/src/linux-$BKKERNELTOBUILD ./runme --batch extra else echo Unable to get into iptables patch-o-matic dir to patch kernel, sorry. ; bkbeep ; sleep 30 fi ;; POSTCONFIGURE) : ;; POSTKERNELBUILD) : ;; POSTMODULEBUILD) : ;; POSTINSTALL) if [ -n "$IPTABLESSOURCEDIR" ]; then cd $IPTABLESSOURCEDIR >/dev/null if [ `pwd` != "$IPTABLESSOURCEDIR" ]; then echo can\'t change directory, exiting else make clean make KERNEL_DIR=/usr/src/linux make install depmod -a fi fi ;; POSTCLEAN) : ;; ''|ALL) . $THISSCRIPT POSTLOADVARS . $THISSCRIPT POSTGETSOURCE . $THISSCRIPT POSTOPENSOURCE . $THISSCRIPT POSTCONFIGURE . $THISSCRIPT POSTKERNELBUILD . $THISSCRIPT POSTMODULEBUILD . $THISSCRIPT POSTINSTALL . $THISSCRIPT POSTCLEAN ;; *) echo unrecognized phase $1 ;; esac