summaryrefslogtreecommitdiffstats
path: root/contrib/ipfilter/BSD/upgrade
blob: d5f815438656e753ee113b76189c59a4da531186 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
#!/bin/sh
#
PATH=/sbin:/usr/sbin:/bin:/usr/bin; export PATH
argv0=`basename $0`

case `pwd` in
*BSD)
	;;
*)
	cd BSD
	;;
esac
os=`uname -s`
rev=`uname -r`
maj=`expr $rev : '\([0-9]*\)\.'`
min=`expr $rev : '[0-9]*\.\([0-9]*\)'`
sub=`expr $rev : '[0-9]*\.[0-9]*\.\([0-9]*\)'`
plat=`uname -p`
objdir=${os}-${rev}-${plat}

# try to bomb out fast if anything fails....
set -e

for i in ipf ipfstat ipmon ipnat ippool; do
	if [ ! -f /sbin/${i}.dist -a -f /sbin/${i} ] ; then
		mv /sbin/${i} /sbin/${i}.dist
		cp -p /sbin/${i}.dist /sbin/${i}
		cp ${objdir}/${i} /sbin/
	fi
	if [ ! -f /usr/sbin/${i}.dist -a -f /usr/sbin/${i} ] ; then
		mv /usr/sbin/${i} /usr/sbin/${i}.dist
		cp -p /usr/sbin/${i}.dist /usr/sbin/${i}
		cp ${objdir}/${i} /usr/sbin/
	fi
done
if [ -f /boot/kernel/ipl.ko ] ; then
	if [ ! -f /boot/kernel/ipl.ko.dist ] ; then
		mv /boot/kernel/ipl.ko /boot/kernel/ipl.ko.dist
		cp -p /boot/kernel/ipl.ko.dist /boot/kernel/ipl.ko
	fi
	if [ ! -f /boot/kernel/ipl.ko.symbols.dist ] ; then
		mv /boot/kernel/ipl.ko.symbols /boot/kernel/ipl.ko.symbols.dist
	fi
	cp ${objdir}/ipf.ko /boot/kernel/ipl.ko
fi
exit 0
OpenPOWER on IntegriCloud