summaryrefslogtreecommitdiffstats
path: root/abs/core/LinHES-system/linhes_update.sh
blob: 76501fb58ca5e2a54719df906fa928f1dac14457 (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
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
#!/bin/bash
#Called from LinHES Service Menu Check for Updates Menu

dsply ()  {
    if grep -q Updates\ Available /usr/share/mythtv/themes/defaultmenu/linhes.xml
    then
        msg_client.py --clear --tag "checkUpdates"
        msg_client.py --kill
        msg_client.py --msg "Updates available!\nGo to the Service Menu to install the updates.|middle"
		exit
    else
        msg_client.py --msg "Checking for updates...|middle" --timeout 600 --tag "checkUpdates"
    fi
}

chck ()  {
	sudo pacman -Sy
	sudo pacman -Qu > /tmp/to_be_upgraded
	if [[ ! -s /tmp/to_be_upgraded ]]
	then
        msg_client.py --clear --tag "checkUpdates"
        msg_client.py --kill
		msg_client.py --msg "No updates available.\nReturning to Main Menu.|middle"
	else
		mv /usr/share/mythtv/themes/defaultmenu/linhes.xml /tmp/linhes.xml.tmp
		sed -e '/\#Check/,/\#Check/d' < /tmp/linhes.xml.tmp > /usr/share/mythtv/themes/defaultmenu/linhes.xml
		mv /usr/share/mythtv/themes/defaultmenu/linhes.xml /tmp
		grep -v -e /mythmenu /tmp/linhes.xml > /tmp/linhes.xml.tmp
		echo "<!--#UpdatesAvailable-->" >> /tmp/linhes.xml.tmp
		echo "   <button>" >> /tmp/linhes.xml.tmp
		echo "     <type>UPGRADE</type>" >> /tmp/linhes.xml.tmp
		echo "     <text>Updates Available</text>" >> /tmp/linhes.xml.tmp
		echo "     <description>Updates for the LinHES system</description>" >> /tmp/linhes.xml.tmp
		echo "     <action>MENU update2.xml</action>" >> /tmp/linhes.xml.tmp
		echo "   </button>" >> /tmp/linhes.xml.tmp
		echo "<!--#UpdatesAvailable-->" >> /tmp/linhes.xml.tmp
		echo "</mythmenu>" >> /tmp/linhes.xml.tmp
		mv /tmp/linhes.xml.tmp /usr/share/mythtv/themes/defaultmenu/linhes.xml

		echo "<mythmenu name=\"LinHES\">" > /tmp/update3.xml.tmp
		
        #check for kernel update and warn reboot is required
        if grep linux /tmp/to_be_upgraded || grep nvidia /tmp/to_be_upgraded
 		then
            echo "" >> /tmp/update3.xml.tmp
            echo "   <button>" >> /tmp/update3.xml.tmp
            echo "     <type>UPGRADE</type>" >> /tmp/update3.xml.tmp
            echo "     <text>REBOOT REQUIRED</text>" >> /tmp/update3.xml.tmp
            echo "     <description>Some packages require a reboot</description>" >> /tmp/update3.xml.tmp
            echo "     <action>NONE</action>" >> /tmp/update3.xml.tmp
            echo "   </button>" >> /tmp/update3.xml.tmp
		fi
        
        #create menu items for each pkg to be upgraded
		while read line; do
            echo "" >> /tmp/update3.xml.tmp
            echo "   <button>" >> /tmp/update3.xml.tmp
            echo "     <type>UPGRADE</type>" >> /tmp/update3.xml.tmp
            echo "     <text>$line</text>" >> /tmp/update3.xml.tmp
            echo "     <description>$line</description>" >> /tmp/update3.xml.tmp
            echo "     <action>NONE</action>" >> /tmp/update3.xml.tmp
            echo "   </button>" >> /tmp/update3.xml.tmp
        done < "/tmp/to_be_upgraded"
        echo "</mythmenu>" >> /tmp/update3.xml.tmp
        mv /tmp/update3.xml.tmp /usr/share/mythtv/themes/defaultmenu/update3.xml
  		dsply
	fi
	}

dsply
chck