From a16b6fee796342b4f98d3361c232caa8bc1b946b Mon Sep 17 00:00:00 2001
From: James Meyer <james.meyer@operamail.com>
Date: Tue, 1 Nov 2011 16:44:32 -0500
Subject: linhes-scripts:  update script for r6-r7. to update run pacman -Sy
 linhes-scripts upgrade-linhes.sh    and watch the fun.

This script must be run as root and from a terminal.
Running it from an xterm will cause it to abort.

At the end of the script it will force a reboot.
---
 abs/core/linhes-scripts/PKGBUILD                 |  14 +-
 abs/core/linhes-scripts/upgrade_linhes.sh        | 153 +++------------------
 abs/core/linhes-scripts/upgrade_linhes_script.sh | 167 +++++++++++++++++++++++
 abs/core/linhes-scripts/upgrade_screen_rc        |   9 ++
 4 files changed, 207 insertions(+), 136 deletions(-)
 create mode 100644 abs/core/linhes-scripts/upgrade_linhes_script.sh
 create mode 100644 abs/core/linhes-scripts/upgrade_screen_rc

diff --git a/abs/core/linhes-scripts/PKGBUILD b/abs/core/linhes-scripts/PKGBUILD
index e8aebcc..020bfa8 100644
--- a/abs/core/linhes-scripts/PKGBUILD
+++ b/abs/core/linhes-scripts/PKGBUILD
@@ -3,11 +3,11 @@
 
 pkgname=linhes-scripts
 pkgver=7
-pkgrel=11
+pkgrel=13
 pkgdesc="Various scripts that help to make LinHES, LinHES."
 arch=('i686' 'x86_64')
 license=('GPL2')
-depends=('xosd' 'cpulimit')
+depends=('xosd' 'cpulimit' 'screen')
 url="http://linhes.org/"
 install="linhes-scripts.install"
 source=(
@@ -45,12 +45,16 @@ dct700-cc.sh
 qip7100-cc.sh
 dtheme.sh
 xwin_find.sh
+upgrade_screen_rc
+upgrade_linhes_script.sh
 )
 
 build() {
   cd ${srcdir}
   install -d ${pkgdir}/usr/LH/bin
+  install -d ${pkgdir}/usr/LH/etc
   install -D -m755 myth2* *.sh *.pl *.py vdpau* run-* pause_* ${pkgdir}/usr/LH/bin/
+  install -D -m755 upgrade_screen_rc ${pkgdir}/usr/LH/etc/
   mkdir -p ${pkgdir}/etc/sv/pause-mythcommflag/supervise
   cp run-pause-mythcommflag ${pkgdir}/etc/sv/pause-mythcommflag/run
   mkdir -p ${pkgdir}/etc/sv/limit-mythcommflag/supervise
@@ -83,7 +87,7 @@ md5sums=('f56985b2d602e11dc1e10d3e7848b2a5'
          '460861e6d0cf999629b734912eea0acf'
          'ccca6bdbbd86b203a3eecdbbe363e701'
          '65629302a4d2c3adf88cdf0ebc10d493'
-         '2734054f08c4c885bb9070dce239d4c3'
+         '6f87efdcf44cd97447bbed94854bae1f'
          '87b0dc855181f98516acb18a7d551601'
          'c54a3afd4aa3c1af560c9b6adb600f3a'
          '2fb25aef03ffd1282414d8cca3df7056'
@@ -91,4 +95,6 @@ md5sums=('f56985b2d602e11dc1e10d3e7848b2a5'
          'df727c98350a64e2171c950bbefc9c5d'
          '7b890e7044db38e8d439f67e398af206'
          '35693f50939d5827aeabfce8c5dce589'
-         'a94fe6d980f4b810f2e2ae5352084b39')
+         'a94fe6d980f4b810f2e2ae5352084b39'
+         '974c137d3fcb85942ba8945a1bc815fe'
+         '0f918d7bf4dfa81acbe2b4854e91c82c')
diff --git a/abs/core/linhes-scripts/upgrade_linhes.sh b/abs/core/linhes-scripts/upgrade_linhes.sh
index 91a46e6..933d994 100755
--- a/abs/core/linhes-scripts/upgrade_linhes.sh
+++ b/abs/core/linhes-scripts/upgrade_linhes.sh
@@ -1,136 +1,25 @@
 #!/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
+mkfifo /tmp/upgrade.fifo
+
+set | grep -q WINDOWID
+status=$?
+
+if [ $status = 0 ]
 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
+ echo "This script must run from the console" 1>&2
+ exit 1
 fi
-if grep -q v4l-dvb /tmp/linhes_upgrade
+
+
+if [ "$(id -u)" != "0" ];
 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
+   echo "This script must be run as root" 1>&2
+   exit 1
+
+fi
+
+
+sv stop mythbackend
+sv stop frontend
+
+screen -c /usr/LH/etc/upgrade_screen_rc
\ No newline at end of file
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
diff --git a/abs/core/linhes-scripts/upgrade_screen_rc b/abs/core/linhes-scripts/upgrade_screen_rc
new file mode 100644
index 0000000..8c49a8d
--- /dev/null
+++ b/abs/core/linhes-scripts/upgrade_screen_rc
@@ -0,0 +1,9 @@
+bind j focus down
+bind k focus up
+startup_message off
+screen -t upgrade bash -c "upgrade_linhes_script.sh"
+split
+focus down
+startup_message off
+screen -t progress bash -c "while true; do cat /tmp/upgrade.fifo; sleep .5; done"
+focus up
-- 
cgit v0.12