|  | #!/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_compat.h ip_auth.[ch] ip_proxy.[ch] ip_ftp_pxy.c ip_log.c) | 
|  | echo -n "$i "; | 
|  | /bin/rm -f /sys/netinet/$i | 
|  | end | 
|  | echo "" | 
|  | echo "Unpatching $archdir/$karch/conf.c" | 
|  | cat FreeBSD/conf.c.diffs | (cd $archdir/$karch; patch -R) | 
|  | echo "Unpatching ip_input.c, ip_output.c and in_proto.c" | 
|  | cat FreeBSD/ip_{in,out}put.c.diffs FreeBSD/in_proto.c.diffs | \ | 
|  | (cd /sys/netinet; patch -R) | 
|  |  | 
|  | if ( -f /sys/conf/files.newconf ) then | 
|  | echo "Unpatching /sys/conf/files.newconf" | 
|  | cat FreeBSD/files.newconf.diffs | (cd /sys/conf; patch -R) | 
|  | echo "Unpatching /sys/conf/files" | 
|  | cat FreeBSD/files.diffs | (cd /sys/conf; patch -R) | 
|  | endif | 
|  | if ( -f /sys/conf/files.oldconf ) then | 
|  | echo "Unpatching /sys/conf/files.oldconf" | 
|  | cat FreeBSD/files.oldconf.diffs | (cd /sys/conf; patch -R) | 
|  | echo "Unpatching /sys/conf/files" | 
|  | cat FreeBSD/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 |