diff options
Diffstat (limited to 'abs/core/tweaker/bin/create-linhes-sql.sh')
-rwxr-xr-x | abs/core/tweaker/bin/create-linhes-sql.sh | 166 |
1 files changed, 0 insertions, 166 deletions
diff --git a/abs/core/tweaker/bin/create-linhes-sql.sh b/abs/core/tweaker/bin/create-linhes-sql.sh deleted file mode 100755 index 478eed0..0000000 --- a/abs/core/tweaker/bin/create-linhes-sql.sh +++ /dev/null @@ -1,166 +0,0 @@ -#!/bin/bash - -# Written by Bob Igo from the MythTV Store at http://MythiC.TV -# Email: bob@stormlogic.com -# -# If you run into problems with this script, please send me email - -# PURPOSE: -# -------------------------- -# This script automates the creation of a new LinHES.sql based -# on the contents of the current mythconverg database. - -if [ `whoami` != "root" ]; then - echo "This script must be run as root." - exit -1 -fi - -# Every file we may create, edit, or delete -########################################### -export LINHES_SQL_PROTOTYPE=/data/database/LinHES.sql-new -export MYTHTV_SQL_OLD=/data/database/LinHES.sql-backup -export TMPFILE=/tmp/LinHES.sql-tmp - -echo "" -echo " ** ONLY CESMAN SHOULD EVER NEED TO RUN THIS SCRIPT **" -echo "" -echo " WARNING: This will archive your mythconverg database to a file," -echo " then delete mythconverg from MySQL. It will then launch mythbackend" -echo " to repopulate mythconverg, with a goal of creating the smallest-possible" -echo " mythconverg database that MythTV can load without complanining." -echo " Every attempt will be made to restore your original database, but" -echo " ***no guarantee is made***." -echo "" -echo " ** ONLY CESMAN SHOULD EVER NEED TO RUN THIS SCRIPT **" -echo "" - -echo -n "Proceed? [y|N] " -read FEAR - -if [ "$FEAR" != "y" ] && [ "$FEAR" != "Y" ]; then - echo "***NO OPERATION WILL BE PERFORMED***" - exit -fi - -# Archive the current mythconverg table from the MySQL database: -echo "DROP DATABASE IF EXISTS mythconverg; CREATE DATABASE mythconverg; USE mythconverg;" > $MYTHTV_SQL_OLD -mysqldump mythconverg >> $MYTHTV_SQL_OLD - -# delete the mythconverg database from MySQL -killall mythbackend -mysql -e "DROP DATABASE IF EXISTS mythconverg; CREATE DATABASE mythconverg;" - -mythtv-setup --geometry 640x480 2>&1 > /dev/null & - -echo "*" -echo "* 1) PICK ANY LANGUAGE WHEN PROMPTED." -echo "* 2) AGREE TO THE SCHEMA UPGRADE." -echo "* 3) PRESS ENTER HERE WHEN THE MYTHTV-SETUP MENU LAUNCHES." -echo "*" -read KEYPRESS - -mysql -e "USE mythconverg; \ -INSERT INTO settings VALUES ('SecurityPin','0000','"`hostname`"'); \ -INSERT INTO settings VALUES ('BackendServerIP','127.0.0.1','"`hostname`"'); \ -INSERT INTO storagegroup VALUES ('\N', 'Default','"`hostname`"','/');" - -echo "*" -echo "* 1) EXIT MYTHTV-SETUP" -echo "* 2) PRESS ENTER HERE WHEN READY TO CONTINUE." -echo "*" -read KEYPRESS - -# let mythbackend repopulate mythconverg from scratch -mythbackend 2>&1 > /dev/null & -sleep 3 - -mythfrontend --geometry 640x480 2>&1 > /dev/null & -echo "*" -echo "* 1) EXIT MYTHFRONTEND" -echo "* 2) PRESS ENTER HERE WHEN READY TO CONTINUE." -echo "*" -read KEYPRESS - -killall mythfrontend -killall mythbackend - -# save off the mostly-pristine MythTV myconverg database -# (It would be 100% pristine, but mythbackend won't run unless BackendServerIP is given a value, -# and both mythtv-setup and the mythfrontend won't proceed until you've picked a language.) - -# Edit the pristine MythTV mythconverg database so that we can use it to prime -# the database during a semi-automated LinHES installation. - -SQL_FILENAME=$LINHES_SQL_PROTOTYPE - -# load our library functions -. /usr/LH/tweaker/bin/SQLtweaker.sh -# -echo "*" -echo "* Writing $LINHES_SQL_PROTOTYPE..." -echo "*" -# -echo "/*" > $LINHES_SQL_PROTOTYPE -echo " * MythTV raw SQL creation file." >> $LINHES_SQL_PROTOTYPE -echo " */" >> $LINHES_SQL_PROTOTYPE -echo "" >> $LINHES_SQL_PROTOTYPE -echo "-- #################################################################### --" >> $LINHES_SQL_PROTOTYPE -echo "-- Drop any initial database:" >> $LINHES_SQL_PROTOTYPE -echo "DROP DATABASE IF EXISTS mythconverg;" >> $LINHES_SQL_PROTOTYPE -echo "" >> $LINHES_SQL_PROTOTYPE -echo "-- #################################################################### --" >> $LINHES_SQL_PROTOTYPE -echo "-- Create an empty new database:" >> $LINHES_SQL_PROTOTYPE -echo "CREATE DATABASE mythconverg;" >> $LINHES_SQL_PROTOTYPE -echo "GRANT ALL ON mythconverg.* TO mythtv@localhost IDENTIFIED BY \"mythtv\";" >> $LINHES_SQL_PROTOTYPE -echo "FLUSH PRIVILEGES;" >> $LINHES_SQL_PROTOTYPE -echo "GRANT CREATE TEMPORARY TABLES ON mythconverg.* TO mythtv@localhost IDENTIFIED BY \"mythtv\";" >> $LINHES_SQL_PROTOTYPE -echo "FLUSH PRIVILEGES;" >> $LINHES_SQL_PROTOTYPE -echo "USE mythconverg;" >> $LINHES_SQL_PROTOTYPE -echo "" >> $LINHES_SQL_PROTOTYPE -echo "-- #################################################################### --" >> $LINHES_SQL_PROTOTYPE -echo "-- Create all the tables:" >> $LINHES_SQL_PROTOTYPE -echo "" >> $LINHES_SQL_PROTOTYPE - -# Dump the database, removing all unneeded DB inserts - when LinHES launches mythtv-setup and mythfrontend, -# anything undefined will be given default values by the applications, except for the INSERTs below. -mysqldump mythconverg | sed -e "s/`hostname`/MythTVhost'/g" -e "s/AUTO_INCREMENT=[0-9]* //g" > $TMPFILE -grep -v "INSERT INTO" $TMPFILE >> $LINHES_SQL_PROTOTYPE -sed "s/,(/,\n(/g" $TMPFILE | grep DBSchema | sed "s/\(.*\)NULL),/INSERT INTO settings VALUES \1'MythTVhost');/g" >> $LINHES_SQL_PROTOTYPE -echo "INSERT INTO settings VALUES ('SecurityPin','0000','MythTVhost');" >> $LINHES_SQL_PROTOTYPE -echo "INSERT INTO settings VALUES ('BackendServerIP','127.0.0.1','MythTVhost');" >> $LINHES_SQL_PROTOTYPE -echo "INSERT INTO settings VALUES ('MasterServerIP','127.0.0.1','MythTVhost');" >> $LINHES_SQL_PROTOTYPE -echo "INSERT INTO settings VALUES ('MasterServerPort','6543','MythTVhost');" >> $LINHES_SQL_PROTOTYPE -echo "INSERT INTO settings VALUES ('Theme', 'LinHES','MythTVhost');" >> $LINHES_SQL_PROTOTYPE -echo "INSERT INTO settings VALUES ('HostMyhostname', 'type_hostname_here','MythTVhost');" >> $LINHES_SQL_PROTOTYPE -echo "INSERT INTO storagegroup VALUES ('\N', 'Default','MythTVhost','/');" >> $LINHES_SQL_PROTOTYPE - -rm $TMPFILE - -# -echo "*" -echo "...DONE" -echo "*" -# - -echo "*" -echo "* PRESS ENTER HERE WHEN READY TO RESTORE THE OLD DATABASE" -echo "* AND RE-LAUNCH MYTHBACKEND" -echo "*" -read KEYPRESS - -# -echo "Restoring original database from $MYTHTV_SQL_OLD..." -# -# Restore the original mythconverg database -cat $MYTHTV_SQL_OLD | mysql 2>&1 > /dev/null -# -echo "...DONE" -# - -# -echo "restarting mythbackend..." -# -mythbackend & -# -echo "...DONE" -# |