39 lines
1.2 KiB
Plaintext
39 lines
1.2 KiB
Plaintext
|
#!/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-2.2 ) cd ..
|
||
|
echo "Patching 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)
|
||
|
|
||
|
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
|
||
|
echo "Re-config'ing $newconfig..."
|
||
|
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
|
||
|
awk '{print $0;if($2=="INET"){print"options IPFILTER_LKM\noptions IPFILTER_LOG"}}' \
|
||
|
$confdir/$newconfig.bak > $confdir/$newconfig
|
||
|
echo 'You will now need to run "config" and build a new kernel.'
|
||
|
exit 0
|