diff options
author | Cecil Hugh Watson <knoppmyth@gmail.com> | 2010-09-05 06:13:57 (GMT) |
---|---|---|
committer | Cecil Hugh Watson <knoppmyth@gmail.com> | 2010-09-05 06:13:57 (GMT) |
commit | b172f79fadb565ecfbcec9508f9377d8618a4f4c (patch) | |
tree | bf8823b07e3313c3afa000a9b31e4f9a735cb818 /abs/core/LinHES-config/restore_default_settings.sh | |
parent | f9d54ab7c3853208484e304bc6cf40ab0f79d400 (diff) | |
parent | 5e7027c6194237ca1dc5fcbb3648483a970fb500 (diff) | |
download | linhes_pkgbuild-b172f79fadb565ecfbcec9508f9377d8618a4f4c.zip linhes_pkgbuild-b172f79fadb565ecfbcec9508f9377d8618a4f4c.tar.gz linhes_pkgbuild-b172f79fadb565ecfbcec9508f9377d8618a4f4c.tar.bz2 |
Merge branch 'HEAD' of ssh://cesman@knoppmyth.net/mount/repository/LinHES-PKGBUILD
Diffstat (limited to 'abs/core/LinHES-config/restore_default_settings.sh')
-rwxr-xr-x | abs/core/LinHES-config/restore_default_settings.sh | 160 |
1 files changed, 86 insertions, 74 deletions
diff --git a/abs/core/LinHES-config/restore_default_settings.sh b/abs/core/LinHES-config/restore_default_settings.sh index dcf5e23..ffd4b0d 100755 --- a/abs/core/LinHES-config/restore_default_settings.sh +++ b/abs/core/LinHES-config/restore_default_settings.sh @@ -5,7 +5,7 @@ shopt -s -o nounset echo $@ >> /tmp/restore.out #TEMPLATES="/usr/share/templates/settings" TEMPLATES="$TEMPLATES/settings" -TABLES="settings keybindings" +TABLES="settings keybindings jumppoints" MYTHDBUSER=mythtv MYTHTVPASSWD=mythtv declare -r OPTSTRING="c:e:t:d:h:s:a:z:Ho" @@ -15,12 +15,12 @@ declare -i EVERYTHING=0 function CMD_DEFINE () { - #add override check + #add override check if [ x$Thistemplate = xsyssettings -a $OVERRIDE -eq 1 ] then - MYSQLCMD="mysql --local-infile -s -u$MYTHDBUSER -p$MYTHTVPASSWD -h$ovdbhost mythconverg -B --exec" - MYSQLCMD_C="mysql -u$MYTHDBUSER -p$MYTHTVPASSWD -h$ovdbhost mythconverg -B --exec" - MYSQLCMD_UPDATE_HOST="UPDATE settings set data='$oldhostname' where value='HostMyhostname' and hostname=\"$hostname\";" + MYSQLCMD="mysql --local-infile -s -u$MYTHDBUSER -p$MYTHTVPASSWD -h$ovdbhost mythconverg -B --exec" + MYSQLCMD_C="mysql -u$MYTHDBUSER -p$MYTHTVPASSWD -h$ovdbhost mythconverg -B --exec" + MYSQLCMD_UPDATE_HOST="UPDATE settings set data='$oldhostname' where value='HostMyhostname' and hostname=\"$hostname\";" else MYSQLCMD="mysql --local-infile -s -u$MYTHDBUSER -p$MYTHTVPASSWD -h$dbhost mythconverg -B --exec" MYSQLCMD_C="mysql -u$MYTHDBUSER -p$MYTHTVPASSWD -h$dbhost mythconverg -B --exec" @@ -32,21 +32,21 @@ function SQL_DEFINE () { thostname=`echo ${hostname}|tr -C [:alpha:] _` echo "Using $thostname for temp table postfix" - #$1 is the table name - if [ $1 = "settings" ] - then - ALTERSQL="Alter table temp_${1}_${thostname} add unique ( value )" - else - ALTERSQL=";" - fi + #$1 is the table name + if [ $1 = "settings" ] + then + ALTERSQL="Alter table temp_${1}_${thostname} add unique ( value )" + else + ALTERSQL=";" + fi CREATESQL="create table temp_${1}_${thostname} like $1;" - COPY_TMP_SQL="replace into temp_${1}_${thostname} (select * from $1 where hostname=\"$hostname\");" - INSERTSQL="LOAD DATA local INFILE '/tmp/$1.txt' REPLACE INTO TABLE temp_${1}_${thostname} FIELDS TERMINATED BY '\t';" + COPY_TMP_SQL="replace into temp_${1}_${thostname} (select * from $1 where hostname=\"$hostname\");" + INSERTSQL="LOAD DATA local INFILE '/tmp/$1.txt' REPLACE INTO TABLE temp_${1}_${thostname} FIELDS TERMINATED BY '\t';" #INSERTSQL="LOAD DATA local INFILE '$TEMPLATES/$Thistemplate/$1.txt' REPLACE INTO TABLE temp_${1}_${hostname} FIELDS TERMINATED BY '\t';" - DROPSQL="delete from $1 where hostname=\"$hostname\";" - COPY_BCK_SQL="replace into $1 (select * from temp_${1}_${thostname} where hostname=\"$hostname\");" - DROP_TABLE="Drop table temp_${1}_${thostname}" + DROPSQL="delete from $1 where hostname=\"$hostname\";" + COPY_BCK_SQL="replace into $1 (select * from temp_${1}_${thostname} where hostname=\"$hostname\");" + DROP_TABLE="Drop table temp_${1}_${thostname}" } function ARG_ERR() { @@ -101,8 +101,8 @@ do ARG_ERR Thistemplate=$OPTARG - if [ x$Thistemplate = x"syssettings" ] - then + if [ x$Thistemplate = x"syssettings" ] + then echo "template is syssettings" loadhost=false elif [ x$Thistemplate = x"hostsettings" ] @@ -128,13 +128,13 @@ do ARG_ERR if [ $OVERRIDE = 1 ] then - oldhostname=$hostname + oldhostname=$hostname hostname=$OPTARG else hostname=$OPTARG - fi + fi - ;; + ;; s) echo "$SWITCH" "$OPTARG" ARG_ERR SYSTEMTYPE=$OPTARG @@ -144,11 +144,11 @@ do IP_ADDRESS=$OPTARG ;; z) echo "$SWITCH" "$OPTARG" - ARG_ERR - ZIPCODE=$OPTARG + ARG_ERR + ZIPCODE=$OPTARG ;; - o) OVERRIDE=1 - ;; + o) OVERRIDE=1 + ;; esac done @@ -175,10 +175,10 @@ fi case $OPERATION in - restore) - #used to restore settings from syssettings - if [ -d $TEMPLATES/$Thistemplate ] - then + restore) + #used to restore settings from syssettings + if [ -d $TEMPLATES/$Thistemplate ] + then cd $TEMPLATES/$Thistemplate if [ $loadhost = false ] then @@ -213,38 +213,42 @@ case $OPERATION in $MYSQLCMD "$COPY_BCK_SQL" $MYSQLCMD "$DROP_TABLE " fi - else - echo "couldn't find $TEMPLATES/$Thistemplate" - fi - ;; + else + echo "couldn't find $TEMPLATES/$Thistemplate" + fi + ;; - save) + save) + if [ ! -d $TEMPLATES/$Thistemplate ] + then + mkdir -p $TEMPLATES/$Thistemplate + fi - if [ ! -d $TEMPLATES/$Thistemplate ] - then - mkdir -p $TEMPLATES/$Thistemplate - fi + cd $TEMPLATES/$Thistemplate + for i in $TABLES + do + EXTRACLAUSE="" + case $i in + settings) + EXTRACLAUSE="and not (value like \"BackendServerIP\") and not (value like \"locale\") order by value" + SQL="select value,data,'REPLACEME' as hostname from $i where hostname=\"$hostname\" "$EXTRACLAUSE" ;" + # SQL="select * from $i where hostname=\"$hostname\" "$EXTRACLAUSE" ;" + $MYSQLCMD_C "$SQL" > $TEMPLATES/$Thistemplate/$i.txt + ;; + keybindings) + SQL="select context,action,description,keylist,'REPLACEME' as hostname from $i where hostname=\"$hostname\" "$EXTRACLAUSE" ;" + $MYSQLCMD_C "$SQL" > $TEMPLATES/$Thistemplate/$i.txt + ;; + jumppoints) + SQL="select destination,description,keylist,'REPLACEME' as hostname from $i where hostname=\"$hostname\" "$EXTRACLAUSE" ;" + $MYSQLCMD_C "$SQL" > $TEMPLATES/$Thistemplate/$i.txt - cd $TEMPLATES/$Thistemplate - for i in $TABLES - do - EXTRACLAUSE="" - case $i in - settings) - EXTRACLAUSE="and not (value like \"BackendServerIP\") and not (value like \"locale\") order by value" - SQL="select value,data,'REPLACEME' as hostname from $i where hostname=\"$hostname\" "$EXTRACLAUSE" ;" - # SQL="select * from $i where hostname=\"$hostname\" "$EXTRACLAUSE" ;" - $MYSQLCMD_C "$SQL" > $TEMPLATES/$Thistemplate/$i.txt - ;; - keybindings) - SQL="select context,action,description,keylist,'REPLACEME' as hostname from $i where hostname=\"$hostname\" "$EXTRACLAUSE" ;" - $MYSQLCMD_C "$SQL" > $TEMPLATES/$Thistemplate/$i.txt - ;; - esac - # sed -e "s/$hostname/REPLACEME/g" $i > $i.txt && rm $i + ;; + esac + # sed -e "s/$hostname/REPLACEME/g" $i > $i.txt && rm $i - done - ;; + done + ;; load) @@ -253,22 +257,22 @@ case $OPERATION in do if [ -f $TEMPLATES/$i/settings.txt ] then - echo $i - for tablename in $TABLES + echo $i + for tablename in $TABLES do - #create table + #create table CREATESQL="create table IF NOT EXISTS ${tablename}_${i} like $tablename;" $MYSQLCMD_C "$CREATESQL" - #truncate table + #truncate table TRUNCATESQL="truncate ${tablename}_${i} " $MYSQLCMD_C "$TRUNCATESQL" - #load table - INSERTSQL="LOAD DATA local INFILE '$TEMPLATES/$i/$tablename.txt' REPLACE INTO TABLE ${tablename}_${i} FIELDS TERMINATED BY '\t';" + #load table + INSERTSQL="LOAD DATA local INFILE '$TEMPLATES/$i/$tablename.txt' REPLACE INTO TABLE ${tablename}_${i} FIELDS TERMINATED BY '\t';" $MYSQLCMD_C "$INSERTSQL" - #update_hostname - UPDATEHOSTNAMESQL="update ${tablename}_${i} set hostname='$i' ; " + #update_hostname + UPDATEHOSTNAMESQL="update ${tablename}_${i} set hostname='$i' ; " $MYSQLCMD_C "$UPDATEHOSTNAMESQL" - done + done else echo "couldn't find $TEMPLATES/$i/settings.txt template to load" @@ -286,6 +290,14 @@ case $OPERATION in $MYSQLCMD_C "$CREATESQL" CREATESQL="create table IF NOT EXISTS keybindings_user3 like keybindings;" $MYSQLCMD_C "$CREATESQL" + + CREATESQL="create table IF NOT EXISTS jumppoints_user1 like jumppoints;" + $MYSQLCMD_C "$CREATESQL" + CREATESQL="create table IF NOT EXISTS jumppoints_user2 like jumppoints;" + $MYSQLCMD_C "$CREATESQL" + CREATESQL="create table IF NOT EXISTS jumppoints_user3 like jumppoints;" + $MYSQLCMD_C "$CREATESQL" + done ;; @@ -302,14 +314,14 @@ case $OPERATION in if [ $SYSTEMTYPE = "slave" ] then $MYSQLCMD_C "delete from settings where value='BackendServerIP' and hostname=\"$hostname\";" - $MYSQLCMD_C "REPLACE INTO settings set data='${IP_ADDRESS}' , value='BackendServerIP' , hostname=\"$hostname\";" + $MYSQLCMD_C "REPLACE INTO settings set data='${IP_ADDRESS}' , value='BackendServerIP' , hostname=\"$hostname\";" fi ;; ZIP) - $MYSQLCMD_C "delete from settings where value='locale' and hostname=\"$hostname\";" - $MYSQLCMD_C "REPLACE INTO settings set data='$ZIPCODE' , value='locale' , hostname=\"$hostname\";" - $MYSQLCMD_C "delete from settings where value='MythMovies.ZipCode' and hostname=\"$hostname\";" - $MYSQLCMD_C "REPLACE INTO settings set data='$ZIPCODE', value='MythMovies.ZipCode' , hostname=\"$hostname\";" + $MYSQLCMD_C "delete from settings where value='locale' and hostname=\"$hostname\";" + $MYSQLCMD_C "REPLACE INTO settings set data='$ZIPCODE' , value='locale' , hostname=\"$hostname\";" + $MYSQLCMD_C "delete from settings where value='MythMovies.ZipCode' and hostname=\"$hostname\";" + $MYSQLCMD_C "REPLACE INTO settings set data='$ZIPCODE', value='MythMovies.ZipCode' , hostname=\"$hostname\";" ;; MUSICFRONT) ALSADEVICE @@ -325,7 +337,7 @@ case $OPERATION in $MYSQLCMD_C "delete from settings where value='MusicAudioDevice' and hostname=\"$hostname\";" $MYSQLCMD_C "REPLACE INTO settings set data='$SoundDevice', value='MusicAudioDevice' , hostname=\"$hostname\";" ;; - uhostname) + uhostname) #used when the hostname is changed. TABLES="settings capturecard keybindings storagegroup recorded" for i in $TABLES @@ -353,7 +365,7 @@ case $OPERATION in SQL="update settings set data='0' where value='Hostaccessuser' and hostname=\"$hostname\" ;" $MYSQLCMD_C "$SQL" ;; - esac + esac #SELECT * INTO OUTFILE 'data.txt' # FIELDS TERMINATED BY ',' |