#!/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 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 pacman -R --noconfirm hauppauge-hvr-firmware >> $LOGFILE pacman -R --noconfirm v4l-dvb >> $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 upgraded, 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 , I'll be asleep for 30 secs...\033[0m" # echo -e "\033[1mThis will give the schema time to upgrade.\033[0m" # pause 'Press 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 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 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 #remove portmap as it's no longer used. remove_service.sh portmap wget http://linhes.org/downloads/R6/sources/wallpaper.png -P /tmp mv /tmp/wallpaper.png /home/mythtv/.fluxbox/ chown mythtv.mythtv /home/mythtv/.fluxbox/wallpaper.png echo "All done!" echo -e "\033[5mThanks for choosing LinHES!\033[0m" #echo "The kernel was upgraded, we need to reboot." pause "Press to reboot." reboot # if grep -q kernel26 /tmp/linhes_upgrade # then # echo "The kernel was upgraded, we need to reboot." # pause "Press to reboot." # reboot # else # if grep -q v4l-dvb /tmp/linhes_upgrade # then # echo "The V4L\DVB modules were upgraded." # pause "Press to reboot." # reboot # else # echo "Launching mythfrontend once again!" # echo "Enjoy the latest version!" # sleep 5 # mythfrontend # fi # fi