summaryrefslogtreecommitdiffstats
path: root/FreeBSD-4.0/kinstall
diff options
context:
space:
mode:
Diffstat (limited to 'FreeBSD-4.0/kinstall')
-rwxr-xr-xFreeBSD-4.0/kinstall63
1 files changed, 63 insertions, 0 deletions
diff --git a/FreeBSD-4.0/kinstall b/FreeBSD-4.0/kinstall
new file mode 100755
index 0000000..ebd6e2e
--- /dev/null
+++ b/FreeBSD-4.0/kinstall
@@ -0,0 +1,63 @@
+#!/bin/csh -f
+#
+set dir=`pwd`
+set karch=`uname -m`
+set ipfdir=/sys/netinet
+set krev=`uname -r|sed -e 's/\([0-9\.]*\)-.*/\1/'`
+if ( -d /sys/arch/$karch ) set archdir="/sys/arch/$karch"
+if ( -d /sys/$karch ) set archdir="/sys/$karch"
+if ( -d /sys/contrib/ipfilter ) set ipfdir=/sys/contrib/ipfilter/netinet
+set confdir="$archdir/conf"
+
+if ( $dir =~ */FreeBSD* ) cd ..
+echo -n "Installing "
+foreach i (ip_{auth,fil,nat,pool,proxy,scan,state,sync}.[ch] fil.c \
+ ip_*_pxy.c mlfk_ipl.c ipl.h ip_compat.h ip_log.c )
+ echo -n "$i ";
+ cp $i /sys/netinet
+ chmod 644 /sys/netinet/$i
+ switch ($i)
+ case *.h:
+ /bin/cp $i /usr/include/netinet/$i
+ chmod 644 /usr/include/netinet/$i
+ breaksw
+ endsw
+end
+echo ""
+echo "Linking /usr/include/osreldate.h to /sys/sys/osreldate.h"
+ln -s /usr/include/osreldate.h /sys/sys/osreldate.h
+
+echo ""
+echo "Patching ip6_input.c and ip6_output.c"
+cat FreeBSD-4.0/ipv6-patch-$krev | (cd /sys/netinet6; patch -N)
+
+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
+grep -q IPFILTER $confdir/$newconfig
+if ($status == 0) then
+ echo "IPFilter already configured in kernel config file"
+ exit 0
+endif
+echo "Rewriting $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\noptions IPFILTER_LOG"}}'\
+ $confdir/$newconfig.bak > $confdir/$newconfig
+echo "You will now need to run config on $newconfig and build a new kernel."
+exit 0
OpenPOWER on IntegriCloud