blob: 3ac2a563aa0119e8a7ed5034272f19721853f540 (
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
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
|
#!/bin/bash
#Called from LinHES Service Menu Check for Updates Menu
usage () {
echo "Usage: $0 [-h] [-s]"
echo
echo "-h - Print this help/usage message and quit"
echo "-s - Run silently, no OSD messages"
exit $1
}
dsply () {
if grep -q "Updates Available" /usr/share/mythtv/themes/defaultmenu/linhes.xml
then
if [ "$1" = false ]; 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"
else
killall mythfrontend
fi
echo " Updates available!"
exit
else
[ "$1" = false ] && { msg_client.py --msg "Checking for updates...|middle" --timeout 600 --tag "checkUpdates"; }
echo " Checking for updates..."
fi
}
chck () {
sudo pacman -Sy
[ -f /tmp/to_be_upgraded ] && sudo rm /tmp/to_be_upgraded
sudo pacman -Qu > /tmp/to_be_upgraded
if [[ ! -s /tmp/to_be_upgraded ]]
then
#hide LinHES update message on main menu
echo " Hiding update message in LinHES theme."
sudo sed -i '/LinHES UPDATE MESSAGE/c\ <!--LinHES UPDATE MESSAGE' /usr/share/mythtv/themes/LinHES/menu-ui.xml
if [ "$1" = false ]; then
msg_client.py --clear --tag "checkUpdates"
msg_client.py --kill
msg_client.py --msg "No updates available.\nReturning to Main Menu.|middle"
else
killall mythfrontend
fi
echo " No updates available."
else
echo " Update menu to show Updates Available."
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 -va '/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=\"LH_UPDATE\">" > /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
#show LinHES update message on main menu
echo " Showing update message in LinHES theme."
sudo sed -i '/LinHES UPDATE MESSAGE/c\ <!--LinHES UPDATE MESSAGE-->' /usr/share/mythtv/themes/LinHES/menu-ui.xml
dsply $1
fi
}
# Command line argument handling
SILENT=false
while getopts "hs" OPT ; do
case $OPT in
h) usage 0 ;;
s) SILENT=true ;;
*) usage 1 ;;
esac
done
# Check for extra cruft on the command line...
shift $(($OPTIND - 1))
[ -n "$*" ] && usage 1
dsply $SILENT
chck $SILENT
|