Projet

Général

Profil

Télécharger (2,74 ko) Statistiques
| Branche: | Tag: | Révision:

univnautes / etc / rc.firmware_auto @ master

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
(52-52/103)