summaryrefslogtreecommitdiffstats
path: root/abs/core/LinHES-config-svn/install_db_chroot.sh
diff options
context:
space:
mode:
Diffstat (limited to 'abs/core/LinHES-config-svn/install_db_chroot.sh')
-rwxr-xr-xabs/core/LinHES-config-svn/install_db_chroot.sh117
1 files changed, 117 insertions, 0 deletions
diff --git a/abs/core/LinHES-config-svn/install_db_chroot.sh b/abs/core/LinHES-config-svn/install_db_chroot.sh
new file mode 100755
index 0000000..808dbb9
--- /dev/null
+++ b/abs/core/LinHES-config-svn/install_db_chroot.sh
@@ -0,0 +1,117 @@
+#!/bin/bash
+. /etc/profile
+. /etc/systemconfig
+
+
+myhost=$hostname
+hostname $myhost
+echo $myhost > /etc/hostname
+echo "$0 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
+ # pacman --noconfirm -R webcalendar
+ # pacman --noconfirm --nodeps -S webcalendar
+ break
+ else
+ echo "Failed to create mythconverg database. Will re-try."
+ sleep 1
+ 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
+done
+/etc/rc.d/mysqld stop
+#umount /proc