From: <bl...@us...> - 2003-10-21 20:39:15
|
Update of /cvsroot/devil-linux/build/scripts/scripts In directory sc8-pr-cvs1:/tmp/cvs-serv17902/build/scripts/scripts Modified Files: pre_init upgrade-config Log Message: Keep log of upgrade changes, plus saved config files. Index: pre_init =================================================================== RCS file: /cvsroot/devil-linux/build/scripts/scripts/pre_init,v retrieving revision 1.8 retrieving revision 1.9 diff -u -d -r1.8 -r1.9 --- pre_init 17 Oct 2003 21:00:51 -0000 1.8 +++ pre_init 21 Oct 2003 18:19:29 -0000 1.9 @@ -94,6 +94,9 @@ echo $NORMAL echo 'Your old etc directory will be saved until reboot at: /shm/etc-old' + echo "Your old config file has been saved as: /etc/sysconfig/config.old" + echo "A log of all changes is available at: /etc/sysconfig/upgrade.log" + echo read -n 1 -t 300 -p 'Press any key to continue ... (timeout in 5 minutes)' echo Index: upgrade-config =================================================================== RCS file: /cvsroot/devil-linux/build/scripts/scripts/upgrade-config,v retrieving revision 1.3 retrieving revision 1.4 diff -u -d -r1.3 -r1.4 --- upgrade-config 21 Oct 2003 17:09:38 -0000 1.3 +++ upgrade-config 21 Oct 2003 18:19:29 -0000 1.4 @@ -5,6 +5,7 @@ TMPF=/shm/var/tmp/upd-tmp.$$ RESULT=/shm/var/tmp/upd-res.$$ RAMDISKDIR="/shm" +LOGF="newconfig/etc/sysconfig/upgrade.log" #DIALOG="dialog --clear --aspect 76 --no-shadow" DIALOG="dialog --clear --no-shadow" @@ -24,6 +25,16 @@ # Modify values in a system configuration file mod_config() { + if [ $(grep -c "^${2}=" ${1}) -eq 1 ]; then + eval bs=$(grep "^${2}=" ${1} | sed "s/^${2}=//") + if [ "$bs" = "$3" ]; then +# printf '%-30s no changed needed\n' "$2" + return + fi + else + printf '%-30s not found in new config\n' "$2" | tee -a $LOGF + return + fi rm -f $TMPC cp -f $1 $TMPC if [ "$3" = "yes" -o "$3" = "no" ]; then @@ -32,6 +43,7 @@ sed "s^${2}=.*$${2}=\"${3}\"" $TMPC > $1 fi rm -f $TMPC + printf '%-30s changed to: "%s"\n' "$2" "$3" | tee -a $LOGF } pause() { @@ -139,13 +151,20 @@ done else # OK button pressed + echo >> $LOGF + echo "************************************************************" >> $LOGF + date >> $LOGF + echo >> $LOGF + echo "Files saved from old config:" >> $LOGF + echo "----------------------------" >> $LOGF + echo >> $LOGF for f in $(cat $RESULT) do eval p=$f d="$(dirname newconfig/$p)" [ ! -d $d ] && mkdir -p $d # echo cp -af $p newconfig/$p - echo "keeping file: $p" + echo "keeping file: $p" | tee -a $LOGF cp -af $p newconfig/$p done break @@ -156,17 +175,23 @@ fi done +echo if askyesno "/etc/sysconfig/config migration" "Do you want to migrate old values to your new /etc/sysconfig/config ?" yes then - ls -l etc/sysconfig/config newconfig/etc/sysconfig/config + echo >> $LOGF + echo >> $LOGF + echo "/etc/sysconfig/config migration:" >> $LOGF + echo "--------------------------------" >> $LOGF + echo >> $LOGF + cp -f etc/sysconfig/config newconfig/etc/sysconfig/config.old + cp -f newconfig/etc/sysconfig/config newconfig/etc/sysconfig/config.default . etc/sysconfig/config - echo -n "Migrating /etc/sysconfig/config values " + echo "Migrating /etc/sysconfig/config values " + echo for bs in $(grep -v -e '^ *#' -e '^ *$' etc/sysconfig/config|cut -f1 -d'=') do - echo -n "." eval mod_config newconfig/etc/sysconfig/config ${bs} \"\$${bs}\" done - echo fi rm -fr $TMPD $RESULT |