Initial import from FreeBSD RELENG_4:
[dragonfly.git] / contrib / ipfilter / FreeBSD / unkinstall
1 #!/bin/csh -f
2 #
3 set dir=`pwd`
4 set karch=`uname -m`
5 if ( -d /sys/arch/$karch ) set archdir="/sys/arch/$karch"
6 if ( -d /sys/$karch ) set archdir="/sys/$karch"
7 set confdir="$archdir/conf"
8
9 if ( $dir =~ */FreeBSD ) cd ..
10 echo -n "Uninstalling "
11 foreach i (ip_fil.[ch] ip_nat.[ch] ip_frag.[ch] ip_state.[ch] fil.c \
12            ip_compat.h ip_auth.[ch] ip_proxy.[ch] ip_ftp_pxy.c ip_log.c)
13         echo -n "$i ";
14         /bin/rm -f /sys/netinet/$i
15 end
16 echo ""
17 echo "Unpatching $archdir/$karch/conf.c"
18 cat FreeBSD/conf.c.diffs | (cd $archdir/$karch; patch -R)
19 echo "Unpatching ip_input.c, ip_output.c and in_proto.c"
20 cat FreeBSD/ip_{in,out}put.c.diffs FreeBSD/in_proto.c.diffs | \
21 (cd /sys/netinet; patch -R)
22
23 if ( -f /sys/conf/files.newconf ) then
24         echo "Unpatching /sys/conf/files.newconf"
25         cat FreeBSD/files.newconf.diffs | (cd /sys/conf; patch -R)
26         echo "Unpatching /sys/conf/files"
27         cat FreeBSD/files.diffs | (cd /sys/conf; patch -R)
28 endif
29 if ( -f /sys/conf/files.oldconf ) then
30         echo "Unpatching /sys/conf/files.oldconf"
31         cat FreeBSD/files.oldconf.diffs | (cd /sys/conf; patch -R)
32         echo "Unpatching /sys/conf/files"
33         cat FreeBSD/filez.diffs | (cd /sys/conf; patch -R)
34 endif
35
36 set config=`(cd $confdir; /bin/ls -1t [0-9A-Z_]*) | head -1`
37 echo -n "Kernel configuration to update [$config] "
38 set newconfig=$<
39 if ( "$newconfig" != "" ) then
40         set config="$confdir/$newconfig"
41 else
42         set newconfig=$config
43 endif
44 if ( -f $confdir/$newconfig ) then
45         mv $confdir/$newconfig $confdir/$newconfig.bak
46 endif
47 if ( -d $archdir/../compile/$newconfig ) then
48         set bak=".bak"
49         set dot=0
50         while ( -d $archdir/../compile/${newconfig}.${bak} )
51                 set bak=".bak.$dot"
52                 set dot=`expr 1 + $dot`
53         end
54         mv $archdir/../compile/$newconfig $archdir/../compile/${newconfig}.${bak}
55 endif
56 egrep -v IPFILTER $confdir/$newconfig.bak > $confdir/$newconfig
57 echo 'You will now need to run "config" and build a new kernel.'
58 exit 0