Project

General

Profile

Download (2.4 KB) Statistics
| Branch: | Tag: | Revision:
1
#!/bin/sh
2

    
3
# $Id$
4

    
5
FMBASEURL=$1
6
FMFILENAME=$2
7
FETCHFILENAME=$1/$2
8

    
9
product=`cat /etc/inc/globals.inc | grep product_name | cut -d'"' -f4`
10

    
11
# wait 5 seconds before beginning
12
sleep 5
13

    
14
logger -p daemon.info -i -t AutoUpgrade "Auto Upgrade started"
15

    
16
HTTP_AUTH=""
17

    
18
# if username and password is passed, let fetch utilize.
19
if [ $# -gt 3 ]; then
20
HTTP_AUTH="basic:*:$3:$4"
21
fi
22

    
23
#echo "Downloading $FMFILENAME from $FMBASEURL ..." | logger -p daemon.info -i -t AutoUpgrade
24
#/usr/bin/fetch -o /tmp/latest.tgz $FETCHFILENAME | logger -p daemon.info -i -t AutoUpgrade
25
#echo "Downloading $FMFILENAME.md5 from $FMBASEURL ..."  | logger -p daemon.info -i -t AutoUpgrade
26
#/usr/bin/fetch -o /tmp/latest.tgz.md5 $FETCHFILENAME.md5 | logger -p daemon.info -i -t AutoUpgrade
27

    
28
PMD=`/bin/cat /tmp/latest.tgz.md5 | cut -d" " -f4 `
29
MD=`/sbin/md5 /tmp/latest.tgz | cut -d" " -f4`
30

    
31
PLATFORM=`cat /etc/platform`
32

    
33
echo "   Package MD5: ${PMD}" | logger -p daemon.info -i -t AutoUpgrade
34
echo "Downloaded MD5: ${MD}"  | logger -p daemon.info -i -t AutoUpgrade
35

    
36
if [ "$PMD" = "" ]; then
37
	echo "Package MD5 is null md5. Require proxy auth?"  | logger -p daemon.info -i -t AutoUpgrade
38
	exit 1
39
fi
40

    
41
if [ "$MD" = "" ]; then
42
	echo "Downloaded MD5 is null md5. Require proxy auth?"  | logger -p daemon.info -i -t AutoUpgrade
43
	exit 1
44
fi
45

    
46
if [ "$PMD" = "$MD" ]; then
47
	echo "MD5's match."  | logger -p daemon.info -i -t AutoUpgrade
48
	echo "Beginning ${product} upgrade." | wall
49
	if [ "$PLATFORM" = "net45xx" ]; then
50
		/usr/local/bin/php /etc/rc.conf_mount_rw
51
	fi
52
	if [ "$PLATFORM" = "wrap" ]; then
53
		/usr/local/bin/php /etc/rc.conf_mount_rw
54
	fi
55
	if [ "$PLATFORM" = "nanobsd" ]; then
56
		/usr/local/bin/php /etc/rc.conf_mount_rw
57
	fi
58
	if [ -r "/tmp/custom.tgz" ]; then
59
		sh /etc/rc.firmware pfSenseupgrade /tmp/latest.tgz /tmp/custom.tgz
60
	else
61
		if [ "$PLATFORM" = "nanobsd" ]; then
62
			sh /etc/rc.firmware pfSenseNanoBSDupgrade /tmp/latest.tgz
63
		else
64
			sh /etc/rc.firmware pfSenseupgrade /tmp/latest.tgz
65
		fi
66
	fi
67
	if [ "$PLATFORM" = "wrap" ]; then
68
		/bin/sync
69
		sleep 5
70
		/usr/local/bin/php /etc/rc.conf_mount_ro
71
		if [ -e /etc/init_bootloader.sh ]; then
72
			sh /etc/init_bootloader.sh
73
		fi
74
	fi
75
	if [ "$PLATFORM" = "net45xx" ]; then
76
		/bin/sync
77
		sleep 5
78
		/usr/local/bin/php /etc/rc.conf_mount_ro
79
		if [ -e /etc/init_bootloader.sh ]; then
80
			sh /etc/init_bootloader.sh
81
		fi
82
	fi
83
	exit 0
84
fi
85

    
86
echo "MD5's do not match.  Upgrade aborted."  | logger -p daemon.info -i -t AutoUpgrade
87
rm /tmp/latest*
88
exit 1
(53-53/104)