blob: 7e0c56611798adc1840b15655b7fc73b490b6556 [file] [log] [blame] [raw]
#!/bin/csh -f
#
set major=46
set minor=0
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 =~ */BSDOS3 ) cd ..
foreach i (ip_fil.[ch] ip_nat.[ch] ip_frag.[ch] ip_state.[ch] fil.c \
ip_compat.h ip_log.c ip_proxy.[ch] ip_{ftp,rcmd}_pxy.c ip_auth.[ch])
echo -n "$i ";
cp $i /sys/netinet
chmod 664 /sys/netinet/$i
end
echo ""
echo "Patching $archdir/$karch/ioconf.c.$karch"
cat ioconf.c.$karch.diffs | (cd $archdir/$karch; patch)
if ( -f /sys/netinet/ip_input.c ) then
echo "Patching ip_input.c, ip_output.c, in_proto.c"
cat BSDOS3/ip_{in,out}put.c.diffs BSDOS3/in_proto.c.diffs | \
(cd /sys/netinet; patch)
else
echo "Patching in_proto.c"
cat BSDOS3/in_proto.c.diffs | (cd /sys/netinet; patch)
echo "Installing new object files ip_input.o, ip_output.o"
foreach i (ip_input.o ip_output.o)
if ( ! -f /sys/$arch/OBJ/$i.preipf ) then
mv /sys/$arch/OBJ/$i /sys/$arch/OBJ/$i.preipf
endif
cp OBJS/$i /sys/$arch/OBJ/$i
chmod 644 /sys/$arch/OBJ/$i
switch ($i)
case *.h:
/bin/cp $i /usr/include/netinet/$i
chmod 644 /usr/include/netinet/$i
breaksw
endsw
end
endif
echo "Patching /sys/conf/files, /sys/i386/conf/ioconf.c.i386"
cat BSDOS3/files.diffs | (cd /sys/conf; patch)
cat BSDOS3/ioconf.c.i386.diffs | (cd /sys/i386/conf; patch)
echo "Creating device files..."
foreach i (/dev/ipl /dev/ipnat /dev/ipstate /dev/ipauth /dev/ipsync /dev/ipscan)
if ( -f $i ) then
/bin/rm -f $i
endif
echo "$i - character device major $major, minor $minor"
mknod $i c $major $minor
set minor=`expr $minor + 1`
end
set config=`/bin/ls -1t $confdir/[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/$newconfig ) then
mv $archdir/$newconfig $archdir/$newconfig.bak
endif
awk '{print $0;if($2=="INET"){print"options IPFILTER"}}' \
$confdir/$newconfig.bak > $confdir/$newconfig
echo 'You will now need to run "config" and build a new kernel.'
exit 0