diff options
Diffstat (limited to 'abs/core/linhes-scripts/upgrade_linhes_script.sh')
-rw-r--r-- | abs/core/linhes-scripts/upgrade_linhes_script.sh | 167 |
1 files changed, 167 insertions, 0 deletions
diff --git a/abs/core/linhes-scripts/upgrade_linhes_script.sh b/abs/core/linhes-scripts/upgrade_linhes_script.sh new file mode 100644 index 0000000..ffee1ae --- /dev/null +++ b/abs/core/linhes-scripts/upgrade_linhes_script.sh @@ -0,0 +1,167 @@ +#!/bin/bash +#Script to facilitate easy upgrade to latest LinHES. +LOGFILE=/tmp/upgrade.fifo +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 >>$LOGFILE 2>>$LOGFILE + +echo "Updating pacman" +pacman -S --noconfirm pacman >> $LOGFILE +echo "Updating pacman database to new format" +pacman-db-upgrade >>$LOGFILE + +echo "Removing misc outdated packages " +pacman -R --noconfirm aufs-utils aufs >> $LOGFILE +pacman -R --noconfirm xf86-video-sis >> $LOGFILE +pacman -R --noconfirm madwifi >> $LOGFILE + + +echo "Resyncing with repository" +pacman -Syyyy > $LOGFILE +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 -Su --noconfirm 2>$LOGFILE > $LOGFILE +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" + #echo "The kernel was upgraded, we need to reboot." + pause "Press <ENTER> to reboot." + reboot + +# 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 |