From 3cf7e1bfdb5cbe8de8a36fc00ae629b28e07899d Mon Sep 17 00:00:00 2001
From: James Meyer <james.meyer@operamail.com>
Date: Sun, 7 Jun 2009 17:21:31 -0500
Subject: linhes-config: restore install_db_chroot.sh to a working version.

---
 .../LinHES-config/install_db_chroot.sh             | 136 +++++++--------------
 1 file changed, 41 insertions(+), 95 deletions(-)
 mode change 100755 => 100644 abs/core-testing/LinHES-config/install_db_chroot.sh

diff --git a/abs/core-testing/LinHES-config/install_db_chroot.sh b/abs/core-testing/LinHES-config/install_db_chroot.sh
old mode 100755
new mode 100644
index 808dbb9..94305d2
--- a/abs/core-testing/LinHES-config/install_db_chroot.sh
+++ b/abs/core-testing/LinHES-config/install_db_chroot.sh
@@ -6,112 +6,58 @@
 myhost=$hostname
 hostname $myhost
 echo $myhost > /etc/hostname
-echo "$0 hostname is $hostname"
+echo "install_db_chroot hostname is $hostname"
 
 . $MV_ROOT/bin/install_functions.sh
 #myhost=`cat /etc/hostname`
 
-# Before this script is called, the mysqld that facilitated the installation is killed.
-# We need to make sure to stop and start the mysqld that will be used post-install so
-# that the database can be initialized.
-
-/etc/rc.d/mysqld stop
-killall -9 mysqld
-/etc/rc.d/mysqld start
-sleep 1
-
-# Put a limit on how many times we try to (re-)start MySQL
-success_test() {
-    # parameter: number of tries to start mysqld so far
-    PID=`pidof -o %PPID /usr/sbin/mysqld`
-    if [ -z "$PID" ]; then # mysqld isn't running
-	if [ $1 -gt 3 ]; then
-	    echo "ERROR: Failed to start MySQL server in $1 attempts."
-	    sleep 5
-	    exit 1
-	else
-	    echo "Tried $1 time(s) to start MySQL server." 
-	    return 1
-	fi
-    else # mysqld is running
-	return 0
-    fi
-    # should never get here
-    return 1
-}
-
-mysqld_tries=0
-# See if MySQL server is running; try several ways to start it if it's not.
-while true; do
-    success_test $mysqld_tries
-    if [ $? -eq 0 ]; then
-	echo "MySQL server is running"
-	break
-    else
-	echo "MySQL server is not running.  Trying to start it."
-	# Maybe it just needs to be started
-	sleep 1
-	/etc/rc.d/mysqld start
-	mysqld_tries=$((mysqld_tries + 1))
-	success_test $mysqld_tries
-	if [ $? -eq 0 ]; then
-	    echo "MySQL server has been started"
-	    break
-	else
-	    echo "MySQL server may not be installed.  Trying to install it."
-	    # Maybe it's not installed; try (re-)installing it and starting it
-	    sleep 1
-	    pacman --noconfirm -Sf mysql
-	    sleep 1
-	    /etc/rc.d/mysqld start
-	    mysqld_tries=$((mysqld_tries + 1))
-	    success_test $mysqld_tries
-	    if [ $? -eq 0 ]; then
-		echo "MySQL server has been installed and started"
-		break
-	    else
-		echo "MySQL server would not start, even after (re-)installing it."
-	    fi
-	fi
-    fi
-done
-
-# At this point, MySQL server should be up and running
-
-while true; do
-    mysql -e "show databases;"
-
-    if [ $? -eq 0 ]; then
-        pacman --noconfirm -R mythdb-initial
-        pacman --noconfirm -S mythdb-initial
-        $MV_ROOT/bin/restore_default_settings.sh -c load
-        DISPLAY=127.0.0.1:0  $MV_ROOT/bin/MythVantage  -t  restore,default_1
-        $MV_ROOT/bin/restore_default_settings.sh -c restore -t syssettings
-        $MV_ROOT/bin/systemconfig.sh misc,hostype,this_is_install
-	
-        update_db_settings HostServiceMythWEB "1"
-        echo 'UseMythWEB="1"' >> /etc/systemconfig
-	
-        #update database to allow user jobs on this host.
-        $MV_ROOT/bin/restore_default_settings.sh  -c  USERJOBALLOW
-        $MV_ROOT/bin/restore_default_settings.sh  -c  ACCESSCONTROL
-	#if [ -d /var/lib/mysql/mythconverg ]
-	if [ -d /data/srv/mysql/mythconverg ]; then
+#mount -t proc none /proc
+pacman --noconfirm -Sf mysql
+/etc/rc.d/mysqld
+
+status=1
+mysqlstatus=1
+while [ ! $status = 0  ]
+do
+    /etc/rc.d/mysqld stop
+    sleep 1
+    /etc/rc.d/mysqld start
+    mysqlstatus=$?
+    if [ $mysqlstatus = 0 ]
+    then
+   	mysql -e "show databases;"
+        showstatus=$?
+        if [ $showstatus = 0 ]
+        then
+            pacman --noconfirm -R mythdb-initial
+            pacman --noconfirm  -S mythdb-initial
+            $MV_ROOT/bin/restore_default_settings.sh -c load
+            DISPLAY=127.0.0.1:0  $MV_ROOT/bin/MythVantage  -t  restore,default_1
+            $MV_ROOT/bin/restore_default_settings.sh -c restore -t syssettings
+            $MV_ROOT/bin/systemconfig.sh misc,hostype,this_is_install
+
+            update_db_settings HostServiceMythWEB "1"
+            echo 'UseMythWEB="1"' >> /etc/systemconfig
+
+            #update database to allow user jobs on this host.
+            $MV_ROOT/bin/restore_default_settings.sh  -c  USERJOBALLOW
+            $MV_ROOT/bin/restore_default_settings.sh  -c  ACCESSCONTROL
+	   if [ -d /data/srv/mysql/mythconverg ]
+	   #if [ -d /var/lib/mysql/mythconverg ]
+	   then
    	     # pacman --noconfirm -R webcalendar
          #   pacman --noconfirm --nodeps  -S webcalendar
-	    break
-	else
-	    echo "Failed to create mythconverg database.  Will re-try."
-	    sleep 1
-	fi
+	    status=0
+	   fi
 #        if [ $SystemType = "Master_backend" ]
 #        then
 #             $MV_ROOT/bin/restore_default_settings.sh  -c  BECONFIG  -s master  -a $dbhost
 #        fi
-    else
-	echo "Failed to look for databases.  Will re-try."
-	sleep 1
+   	fi
     fi
 done
 /etc/rc.d/mysqld stop
 #umount /proc
+
+
+
-- 
cgit v0.12