| #! /bin/sh |
| # |
| # kinstall/minstall - install patches to kernel sources |
| # |
| # WARNING: This script should be run exactly once on a virgin system |
| # |
| PATH=/sbin:/usr/sbin:/bin:/usr/bin; export PATH |
| |
| # try to bomb out fast if anything fails.... |
| set -e |
| |
| argv0=`basename $0` |
| dir=`pwd` |
| karch=`uname -m` |
| archdir="/sys/arch/$karch" |
| confdir="$archdir/conf" |
| |
| case "$dir" in |
| */NetBSD ) |
| cd .. |
| ;; |
| esac |
| |
| echo -n "Removing " |
| for i in ip_fil.[ch] ip_nat.[ch] ip_frag.[ch] ip_state.[ch] fil.c ip_compat.h ip_proxy.[ch] ip_ftp_pxy.c ip_auth.[ch] ip_log.c |
| do |
| echo -n "/sys/netinet/$i " |
| /bin/rm -f /sys/netinet/$i |
| done |
| echo |
| |
| echo "Unpatching ip_input.c and ip_output.c ..." |
| cat NetBSD/ip*.c.diffs | (cd /sys/netinet; patch -R) |
| |
| if [ -f /sys/conf/files.newconf ]; then |
| echo "Unpatching in_proto.c ..." |
| cat NetBSD/in_proto.c.old.diffs | (cd /sys/netinet; patch -R) |
| echo "Unpatching $archdir/$karch/conf.c" |
| cat NetBSD/conf.c.old.diffs | (cd $archdir/$karch; patch -R) |
| echo "Unpatching /sys/conf/files.newconf ..." |
| cat NetBSD/files.newconf.diffs | (cd /sys/conf; patch -R) |
| echo "Unpatching /sys/conf/files ..." |
| cat NetBSD/files.diffs | (cd /sys/conf; patch -R) |
| fi |
| if [ -f /sys/conf/files.oldconf ]; then |
| echo "Unpatching in_proto.c ..." |
| cat NetBSD/in_proto.c.diffs | (cd /sys/netinet; patch -R) |
| echo "Unpatching $archdir/$karch/conf.c" |
| cat NetBSD/conf.c.diffs | (cd $archdir/$karch; patch -R) |
| echo "Unpatching /sys/conf/files.oldconf ..." |
| cat NetBSD/files.oldconf.diffs | (cd /sys/conf; patch -R) |
| echo "Unpatching /sys/conf/files ..." |
| cat NetBSD/filez.diffs | (cd /sys/conf; patch -R) |
| fi |
| |
| echo -n "Kernel configuration to update [GENERIC] " |
| read newconfig junk |
| |
| if [ -n "$newconfig" ] ; then |
| config="$confdir/$newconfig" |
| else |
| newconfig="$confdir/GENERIC" |
| fi |
| |
| mv $archdir/compile/$newconfig $archdir/compile/$newconfig.bak |
| egrep -v 'IPFILTER' $confdir/$newconfig.bak > $confdir/$newconfig |
| echo 'You will now need to run "config" and build a new kernel.' |
| exit 0 |