diff options
Diffstat (limited to 'abs/core/linhes-scripts/upgrade_linhes.sh')
-rwxr-xr-x | abs/core/linhes-scripts/upgrade_linhes.sh | 136 |
1 files changed, 136 insertions, 0 deletions
diff --git a/abs/core/linhes-scripts/upgrade_linhes.sh b/abs/core/linhes-scripts/upgrade_linhes.sh new file mode 100755 index 0000000..91a46e6 --- /dev/null +++ b/abs/core/linhes-scripts/upgrade_linhes.sh @@ -0,0 +1,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 |