]> CyberLeo.Net >> Repos - FreeBSD/releng/9.2.git/blob - contrib/ipfilter/FreeBSD-2.2/kinstall
- Copy stable/9 to releng/9.2 as part of the 9.2-RELEASE cycle.
[FreeBSD/releng/9.2.git] / contrib / ipfilter / FreeBSD-2.2 / kinstall
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 "Installing "
11 foreach i (ip_{auth,fil,frag,nat,pool,proxy,scan,state,sync}.[ch] fil.c \
12            ip_*_pxy.c mlf_ipl.c ipl.h ip_compat.h ip_log.c)
13         echo -n "$i ";
14         cp $i /sys/netinet
15         chmod 644 /sys/netinet/$i
16         switch ($i)
17         case *.h:
18                 /bin/cp $i /usr/include/netinet/$i
19                 chmod 644 /usr/include/netinet/$i
20                 breaksw 
21         endsw   
22 end
23 echo ""
24 echo "Copying /usr/include/osreldate.h to /sys/sys"
25 cp /usr/include/osreldate.h /sys/sys
26 echo "Patching ip_input.c, ip_output.c and in_proto.c"
27 cat FreeBSD-2.2/ip_{in,out}put.c.diffs FreeBSD-2.2/in_proto.c.diffs | \
28 (cd /sys/netinet; patch)
29
30 if ( -f /sys/conf/files.newconf ) then
31         echo "Patching /sys/conf/files.newconf"
32         cat FreeBSD-2.2/files.newconf.diffs | (cd /sys/conf; patch)
33         echo "Patching /sys/conf/files"
34         cat FreeBSD-2.2/files.diffs | (cd /sys/conf; patch)
35 endif
36 if ( -f /sys/conf/files.oldconf ) then
37         echo "Patching /sys/conf/files.oldconf"
38         cat FreeBSD-2.2/files.oldconf.diffs | (cd /sys/conf; patch)
39         echo "Patching /sys/conf/files"
40         cat FreeBSD-2.2/filez.diffs | (cd /sys/conf; patch)
41 endif
42
43 set config=`(cd $confdir; /bin/ls -1t [0-9A-Z_]*) | head -1`
44 echo -n "Kernel configuration to update [$config] "
45 set newconfig=$<
46 if ( "$newconfig" != "" ) then
47         set config="$confdir/$newconfig"
48 else
49         set newconfig=$config
50 endif
51 echo "Re-config'ing $newconfig..."
52 if ( -f $confdir/$newconfig ) then
53         mv $confdir/$newconfig $confdir/$newconfig.bak
54 endif
55 if ( -d $archdir/../compile/$newconfig ) then
56         set bak=".bak"
57         set dot=0
58         while ( -d $archdir/../compile/${newconfig}.${bak} )
59                 set bak=".bak.$dot"
60                 set dot=`expr 1 + $dot`
61         end
62         mv $archdir/../compile/$newconfig $archdir/../compile/${newconfig}.${bak}
63 endif
64 awk '{print $0;if($2=="INET"){print"options IPFILTER"}}' \
65         $confdir/$newconfig.bak > $confdir/$newconfig
66 echo 'You will now need to run "config" and build a new kernel.'
67 exit 0