summaryrefslogtreecommitdiffstats
path: root/abs/core-testing/tweaker/bin/twk_what_has_changed.sh
diff options
context:
space:
mode:
Diffstat (limited to 'abs/core-testing/tweaker/bin/twk_what_has_changed.sh')
-rwxr-xr-xabs/core-testing/tweaker/bin/twk_what_has_changed.sh183
1 files changed, 0 insertions, 183 deletions
diff --git a/abs/core-testing/tweaker/bin/twk_what_has_changed.sh b/abs/core-testing/tweaker/bin/twk_what_has_changed.sh
deleted file mode 100755
index deff7cf..0000000
--- a/abs/core-testing/tweaker/bin/twk_what_has_changed.sh
+++ /dev/null
@@ -1,183 +0,0 @@
-#!/bin/bash
-
-# Copyright 2008 Robert ("Bob") Igo of StormLogic, LLC and mythic.tv
-# and Tom Culliton of <affiliation>. Most of restore_baseline_SQL taken from
-# KnoppMyth R5F27's /usr/local/bin/KnoppMyth-run script (multiple authors)
-#
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-
-#----------------------------------------------------------------------------
-. /usr/local/bin/backupcommon || {
- echo "Can not find common settings!"
- exit 1
-}
-#----------------------------------------------------------------------------
-
-# Target output file for our results
-DIFF_RESULTS=/tmp/database_changes.txt
-LOGFILE=/var/log/twk_what_has_changed.log
-WORKING_DIR=/tmp/
-
-# Restore the SQL to the way it would have been after R5F27 was installed
-# and before the user made any changes to MythTV settings.
-# This is KnoppMyth-centric and does not apply to general MythTV distros,
-# however it is possible to generalize this to apply to any MythTV distro
-# including generic Linux distros in which MythTV has been installed.
-#
-# Preconditions: MySQL daemon is running
-#
-# Postconditions: 'mythconverg' is deleted and re-created, just as it
-# would be during the course of a normal installation.
-restore_baseline_SQL() {
- echo "restoring baseline SQL" >> $LOGFILE
- KRP_RESULT=-1
- KRPAutoDetect.pl &> /dev/null # be quiet
- KRP_RESULT=$?;
-
- # Parts from R5F27's KnoppMyth-run
- KNOPPMYTH_SQL_FILE="/usr/local/share/knoppmyth/KnoppMyth.sql"
-
- # Try to detect and configure settings for various tuner
- # and capture devices.
- /usr/local/bin/TunerConfig.sh $KNOPPMYTH_SQL_FILE >> /dev/null
- /usr/local/bin/ren_host.sh
- GlobalSQLtweaker.sh $KNOPPMYTH_SQL_FILE
-
- if [[ ($KRP_RESULT != 1) && ($KRP_RESULT != 2) && ($KRP_RESULT != 3) && ($KRP_RESULT != 10) && (-n "$IS_AUS") ]]; then # not Dragon
- /usr/local/bin/epia_sql.sh
- fi
-
- # General MythTV SQL settings for all boxes
- if [ -f "/usr/local/bin/MythTV-sql" ]; then
- # Interject platform-specific SQL settings before we populate the SQL
- # database.
- if [[ ($KRP_RESULT == 1) || ($KRP_RESULT == 2) || ($KRP_RESULT == 3) || ($KRP_RESULT == 10) ]]; then # Dragon
- DragonSQLtweaker.sh $KNOPPMYTH_SQL_FILE
- fi
- # Now use the (possibly modified) KnoppMyth.sql to populate initial
- # MythTV settings.
-
- # This wipes out the current mythconverg and replaces it with what's in $KNOPPMYTH_SQL_FILE
- sh /usr/local/bin/MythTV-sql $KNOPPMYTH_SQL_FILE
- fi
-
- echo \
- "MythTV will re-launch in a tiny window. If it asks you about
-upgrading the schema, agree. When the schema upgrade is complete,
-exit MythTV.
-You can exit MythTV immediately if you aren't asked to do a schema
-upgrade."
- echo "###"
- echo "Press ENTER to re-launch MythTV."
- read CONTINUE;
- restart_mythtv "--geometry 640x480"
-}
-
-# Call mysql and only dump the requested data in tab seperated columns
-get_data () {
- mysql mythconverg -u root -sNBe "$*"
-}
-
-# Compares $MYTHTV_EXPECTED_DB_NAME to $USERS_DB_NAME
-compare_databases() {
- echo "comparing databases" >> $LOGFILE
- tables_to_compare="capturecard cardinput codecparams displayprofilegroups displayprofiles dtv_multiplex keybindings playgroups profilegroups recordingprofiles settings videotypes weatherdatalayout weatherscreens weathersourcesettings"
- hostnames=$(get_data "select distinct hostname from settings where hostname is not null")
-
- /etc/init.d/mysql start >> $LOGFILE
- # Do some MySQL magic to compare $tables_to_compare between
- # $MYTHTV_EXPECTED_DB_NAME (baseline) and $USERS_DB_NAME (user's version)
- # ???
-}
-
-# This is somewhat KnoppMyth-centric, though minor modification would
-# make it work generally.
-function restart_mythtv {
- echo "restarting MythTV" >> $LOGFILE
- EXTRA_PARAMETERS=$1 ; shift
- /etc/init.d/mythtv-backend start >> $LOGFILE
- killall mythfrontend
- # re-launches the frontend and gives the user a chance to upgrade to latest schema
- su - mythtv -c "export DISPLAY=:0.0 ; mythfrontend --logfile /var/log/mythtv/mythfrontend.log $EXTRA_PARAMETERS" >> $LOGFILE
-}
-
-function rename_database {
- db_source=$1 ; shift
- db_target=$1 ; shift
-
- echo "renaming database $db_source to $db_target" >> $LOGFILE
-
- # Exit the frontend before messing with the SQL
- killall mythfrontend
- # If we stop MySQL before stopping the MythTV backend, we'll probably trigger badness
- /etc/init.d/mythtv-backend stop >> $LOGFILE
- # MySQL needs to stop before we do this.
- /etc/init.d/mysql stop >> $LOGFILE
- /bin/mv $db_source $db_target
-}
-
-main() {
- echo -n "$0 started running: " >> $LOGFILE
- date >> $LOGFILE
-
- echo "STEP 0..."
- echo "STEP 0" >> $LOGFILE
- # 0) acquire system settings
- MYTHTV_EXPECTED_DB_NAME=`grep DBName /etc/mythtv/mysql.txt | awk -F= '{ print $2 }'`
- USERS_DB_NAME="mythconverg-copy"
- /etc/init.d/mysql start >> $LOGFILE
- # MySQL needs to be running or mysqladmin won't return anything
- SQL_HOME=`mysqladmin variables | grep datadir | awk -F\| '{ print $3 }' | sed 's/ //g'`
-
- echo "STEP 1..."
- echo "STEP 1" >> $LOGFILE
- # 1) rename the current MythTV MySQL database
- rename_database $SQL_HOME$MYTHTV_EXPECTED_DB_NAME $WORKING_DIR$USERS_DB_NAME
-
- echo "STEP 2..."
- echo "STEP 2" >> $LOGFILE
- # 2) re-create the R5F27 baseline SQL.
- /etc/init.d/mysql start >> $LOGFILE
- restore_baseline_SQL
-
- echo "STEP 3..."
- echo "STEP 3" >> $LOGFILE
- # 3) compare the fresh baseline DB with the user's modified DB, and save the
- # diffs to a text file
- # ???
-
- echo "STEP 4..."
- echo "STEP 4" >> $LOGFILE
- # 4) restore the user's database
- rename_database $WORKING_DIR$USERS_DB_NAME $SQL_HOME$MYTHTV_EXPECTED_DB_NAME
- /etc/init.d/mysql start >> $LOGFILE
-
- echo "STEP 5..."
- echo "STEP 5" >> $LOGFILE
- # 5) Tell them the comparison is done, tell them where to find the results,
- # and prompt them to restart MythTV.
- echo "Your results are in $DIFF_RESULTS"
- echo "###"
- echo "Press ENTER to re-launch MythTV."
- read CONTINUE;
-
- restart_mythtv "&"
- echo "DONE"
- echo -n "$0 stopped running: " >> $LOGFILE
- date >> $LOGFILE
-}
-
-main
-