11556Srgrimes#!/bin/csh -f 21556Srgrimes# 31556Srgrimesset dir=`pwd` 41556Srgrimesset karch=`uname -m` 51556Srgrimesif ( -d /sys/arch/$karch ) set archdir="/sys/arch/$karch" 61556Srgrimesif ( -d /sys/$karch ) set archdir="/sys/$karch" 71556Srgrimesset confdir="$archdir/conf" 81556Srgrimes 91556Srgrimesif ( $dir =~ */FreeBSD ) cd .. 101556Srgrimesecho -n "Installing " 111556Srgrimesforeach i (ip_{auth,fil,frag,nat,pool,proxy,scan,state,sync}.[ch] fil.c \ 121556Srgrimes ip_*_pxy.c ip_compat.h ip_log.c ) 131556Srgrimes echo -n "$i "; 141556Srgrimes cp $i /sys/netinet 151556Srgrimes chmod 644 /sys/netinet/$i 161556Srgrimes switch ($i) 171556Srgrimes case *.h: 181556Srgrimes /bin/cp $i /usr/include/netinet/$i 191556Srgrimes chmod 644 /usr/include/netinet/$i 201556Srgrimes breaksw 211556Srgrimes endsw 221556Srgrimesend 231556Srgrimesecho "" 241556Srgrimesgrep iplopen $archdir/$karch/conf.c >& /dev/null 251556Srgrimesif ( $status != 0 ) then 261556Srgrimes echo "Patching $archdir/$karch/conf.c" 271556Srgrimes cat FreeBSD/conf.c.diffs | (cd $archdir/$karch; patch) 281556Srgrimesendif 291556Srgrimesgrep fr_checkp /sys/netinet/ip_input.c >& /dev/null 301556Srgrimesif ( $status != 0 ) then 311556Srgrimes echo "Patching ip_input.c, ip_output.c and in_proto.c" 321556Srgrimes cat FreeBSD/ip_{in,out}put.c.diffs FreeBSD/in_proto.c.diffs | \ 331556Srgrimes (cd /sys/netinet; patch) 341556Srgrimesendif 3520418Ssteveif ( -f /sys/conf/files.newconf ) then 361556Srgrimes echo "Patching /sys/conf/files.newconf" 371556Srgrimes cat FreeBSD/files.newconf.diffs | (cd /sys/conf; patch) 381556Srgrimes echo "Patching /sys/conf/files" 391556Srgrimes cat FreeBSD/files.diffs | (cd /sys/conf; patch) 401556Srgrimesendif 4136048Scharnierif ( -f /sys/conf/files.oldconf ) then 4236048Scharnier echo "Patching /sys/conf/files.oldconf" 4336048Scharnier cat FreeBSD/files.oldconf.diffs | (cd /sys/conf; patch) 4436048Scharnier echo "Patching /sys/conf/files" 4550471Speter cat FreeBSD/filez.diffs | (cd /sys/conf; patch) 461556Srgrimesendif 471556Srgrimes 481556Srgrimesset config=`(cd $confdir; /bin/ls -1t [0-9A-Z_]*) | head -1` 491556Srgrimesecho -n "Kernel configuration to update [$config] " 501556Srgrimesset newconfig=$< 511556Srgrimesif ( "$newconfig" != "" ) then 521556Srgrimes set config="$confdir/$newconfig" 531556Srgrimeselse 541556Srgrimes set newconfig=$config 551556Srgrimesendif 561556Srgrimesecho "Re-config'ing $newconfig..." 571556Srgrimesif ( -f $confdir/$newconfig ) then 5824524Smpp mv $confdir/$newconfig $confdir/$newconfig.bak 591556Srgrimesendif 601556Srgrimesif ( -d $archdir/../compile/$newconfig ) then 611556Srgrimes set bak=".bak" 621556Srgrimes set dot=0 631556Srgrimes while ( -d $archdir/../compile/${newconfig}.${bak} ) 641556Srgrimes set bak=".bak.$dot" 651556Srgrimes set dot=`expr 1 + $dot` 6640606Smsmith end 672923Sphk mv $archdir/../compile/$newconfig $archdir/../compile/${newconfig}.${bak} 6824524Smppendif 691556Srgrimesawk '{print $0;if($2=="INET"){print"options IPFILTER"}}' \ 702923Sphk $confdir/$newconfig.bak > $confdir/$newconfig 711556Srgrimesecho 'You will now need to run "config" and build a new kernel.' 7224348Simpexit 0 731556Srgrimes