#!/bin/csh -f # set dir=`pwd` set karch=`uname -m` if ( -d /sys/arch/$karch ) set archdir="/sys/arch/$karch" if ( -d /sys/$karch ) set archdir="/sys/$karch" set confdir="$archdir/conf" if ( $dir =~ */FreeBSD* ) cd .. echo -n "Uninstalling " foreach i (ip_fil.[ch] ip_nat.[ch] ip_frag.[ch] ip_state.[ch] fil.c \ ip_auth.[ch] ip_proxy.[ch] ip_ftp_pxy.c ip_compat.h ip_log.c \ mlf_ipl.c ipl.h) echo -n "$i "; /bin/rm -f /sys/netinet/$i end echo "" echo "Unpatching ip_input.c, ip_output.c and in_proto.c" cat FreeBSD-2.2/ip_{in,out}put.c.diffs FreeBSD-2.2/in_proto.c.diffs | \ (cd /sys/netinet; patch -R) if ( -f /sys/conf/files.newconf ) then echo "Unpatching /sys/conf/files.newconf" cat FreeBSD-2.2/files.newconf.diffs | (cd /sys/conf; patch -R) echo "Unpatching /sys/conf/files" cat FreeBSD-2.2/files.diffs | (cd /sys/conf; patch -R) endif if ( -f /sys/conf/files.oldconf ) then echo "Unpatching /sys/conf/files.oldconf" cat FreeBSD-2.2/files.oldconf.diffs | (cd /sys/conf; patch -R) echo "Unpatching /sys/conf/files" cat FreeBSD-2.2/filez.diffs | (cd /sys/conf; patch -R) endif set config=`(cd $confdir; /bin/ls -1t [0-9A-Z_]*) | head -1` echo -n "Kernel configuration to update [$config] " set newconfig=$< if ( "$newconfig" != "" ) then set config="$confdir/$newconfig" else set newconfig=$config endif if ( -f $confdir/$newconfig ) then mv $confdir/$newconfig $confdir/$newconfig.bak endif if ( -d $archdir/../compile/$newconfig ) then set bak=".bak" set dot=0 while ( -d $archdir/../compile/${newconfig}.${bak} ) set bak=".bak.$dot" set dot=`expr 1 + $dot` end mv $archdir/../compile/$newconfig $archdir/../compile/${newconfig}.${bak} endif egrep -v IPFILTER $confdir/$newconfig.bak > $confdir/$newconfig echo 'You will now need to run "config" and build a new kernel.' exit 0