summaryrefslogtreecommitdiffstats
path: root/abs/core-testing/linhes-scripts/upgrade_linhes.sh
blob: 91a46e6704568cc3943aa6b2cf19031605039035 (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
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
#!/bin/bash
#Script to facilitate easy upgrade to latest LinHES.
clear
if [ "$(id -u)" != "0" ]; then
   echo "This script must be run as root" 1>&2
   exit 1
fi
function pause(){
	read -p "$*"
}
echo "The script will guide you thru the process of upgrading to the latest LinHES."
pause 'Press <ENTER> to continue...'
echo
echo "Sync'n with the repos..."
echo
pacman -Sy &>/dev/null
pacman -Qu > /tmp/linhes_upgrade
if [ ! -s /tmp/linhes_upgrade ]
then
	echo "No upgrades found.  This could mean the repository is busy."
	echo "Or your system is already up to date."
	echo "If you have not upgrade, please try again later."
	echo "Starting the backend."
	sv start mythbackend &>/dev/null
	exit 1
fi
if grep -E "Master|Stand" /etc/systemconfig &>/dev/null
	then
	echo "Stopping the backend."
	sv stop mythbackend &>/dev/null
fi
if pacman -Qs mythvodka &>/dev/null
	then
	echo "Removing MythVodka if installed as it is no longer compatible with MythTV."
	echo
	pacman -R mythvodka &>/dev/null
fi
echo
echo "Backing up Online Streams listings."
echo
cp /usr/share/mythtv/is.xml /usr/share/mythtv/is.xml.021
echo "Removing mythcontrol and mythphone if installed."
echo
if pacman -Qs mythcontrols &>/dev/null
	then
	pacman -R mythcontrols &>/dev/null
fi
if pacman -Qs mythphone &>/dev/null
	then
	pacman -R mythphone &>/dev/null
fi
if grep -q kernel26 /tmp/linhes_upgrade
then
	echo "Upgrading the kernel."
	echo
		if pacman -Qs v4l-dvb &>/dev/null
		then
		pacman -Sf --noconfirm kernel26 &>/dev/null && pacman -Sf --noconfirm v4l-dvb
		else
		pacman -S kernel26 --noconfirm &>/dev/null
	fi
fi
if grep -q v4l-dvb /tmp/linhes_upgrade
then
	pacman -Sf --noconfirm v4l-dvb &>/dev/null
fi
echo "Checking for VDPAU packages and upgrading if needed."
echo
if pacman -Qs vdpinfo-71xx &>/dev/null
	then
	pacman -Rd vdpinfo-71xx &>/dev/null
fi
if pacman -Qs vdpinfo-96xx &>/dev/null
	then
	pacman -Rd vdpinfo-96xx &>/dev/null
fi
if pacman -Qs vdpinfo &>/dev/null
	then
	pacman -Rd vdpinfo &>/dev/null && pacman -S --noconfirm nvidia &>/dev/null && pacman -S --noconfirm vdpauinfo &>/dev/null
fi
echo "Performing complete system upgrade."
echo "This may take some time depending on your connection speed."
echo "Server bandwidth utilization will also have an affect."
echo "Please be patient."
echo
pacman -Suf --noconfirm &>/dev/null
echo "Restoring Online Streams listings."
echo
cp /usr/share/mythtv/is.xml.021 /usr/share/mythtv/is.xml
if grep -E "Master|Stand" /etc/systemconfig &>/dev/null
	then
	echo "Starting the backend.  This will automatically update the schema."
	sv start mythbackend &>/dev/null
	echo "I'll launch an xterm so you watch output backend log."
	echo "Once the schema updates are complete, switch back to this xterm."
	echo -e "\033[1mWhen you see \"Upgrading to MythTV schema version 1254\"\033[0m"
	echo "You can switch back to this xterm."
	echo -e "\033[1mNote:After pressing <ENTER>, I'll be asleep for 30 secs...\033[0m"
	echo -e "\033[1mThis will give the schema time to upgrade.\033[0m"
	pause 'Press <ENTER> to continue...'
	xterm -fn *18* -e tail -f /var/log/mythtv/mythbackend.log &
	#Sleeping for 30 seconds to give the schema time to upgrade....
	sleep 30
	read -p "Press <ENTER> to continue once the schema upgrade is complete."
	echo
	echo -e "\033[1mNow, the frontend will launch to update the schema for any plugins.\033[0m"
	echo -e "\033[1mOnce the this is done, please exit the frontend.\033[0m"
	pause 'Press <ENTER> to continue...'
	xterm -e mythfrontend
	echo
	echo "Performing LinHES specific schema updates."
	echo
	/usr/LH/bin/update_schema_021_to_022.sh
	cat /data/database/dvd_transcode_r6.sql | mysql -u root mythconverg
	/usr/LH/bin/mythwelcome-config.py
fi
echo "All done!"
echo -e "\033[5mThanks for choosing LinHES!\033[0m"
if grep -q kernel26 /tmp/linhes_upgrade
then
	echo "The kernel was upgraded, we need to reboot."
	pause "Press <ENTER> to reboot."
	reboot
else
	if grep -q v4l-dvb /tmp/linhes_upgrade
	then
		echo "The V4L\DVB modules were upgraded."
		pause "Press <ENTER> to reboot."
		reboot
	else
	echo "Launching mythfrontend once again!"
	echo "Enjoy the latest version!"
	sleep 5
	mythfrontend
fi
fi