From: Florent Bruneau Date: Fri, 9 Apr 2010 14:39:00 +0000 (+0200) Subject: Factorize some code, move some useful stuff in pervasive.sh for future X-Git-Tag: xorg/1.0.0~317 X-Git-Url: http://git.polytechnique.org/?a=commitdiff_plain;h=96e2233d938c5ce6ba975e662f36683b2af3cf4e;p=platal.git Factorize some code, move some useful stuff in pervasive.sh for future reuse. Signed-off-by: Florent Bruneau --- diff --git a/upgrade/account/update.sh b/upgrade/account/update.sh index 0d41e77..b7ec73e 100755 --- a/upgrade/account/update.sh +++ b/upgrade/account/update.sh @@ -5,33 +5,22 @@ ########################################################### [ "$DATABASE" != "x4dat" ] || die "Cannot target x4dat" -echo "Setting up new database: target db is \"$DATABASE\", source prefix is \"$DBPREFIX\"" -echo "* press ^D to start import (^C to cancel)" -cat +confirm "Setting up new database: target db is \"$DATABASE\", source prefix is \"$DBPREFIX\"" echo -n "* create database " -(echo "CREATE DATABASE IF NOT EXISTS $DATABASE;" | mysql_run) || die "ERROR" +(echo "CREATE DATABASE IF NOT EXISTS $DATABASE;" | mysql_pipe) || die "ERROR" echo "OK" echo -n "* copying tables " -(./copy_tables.sh | mysql_run) || die "ERROR" +(./copy_tables.sh | mysql_pipe) || die "ERROR" echo "OK" -for sql in ../newdirectory-0.0.1/*.sql *.sql -do - echo -n "* running $sql " - (cat $sql | mysql_run) || die "ERROR" - echo "OK" -done +mysql_run_directory ../newdirectory-0.0.1 +mysql_run_directory . ########################################################### -echo -n "Importing phone numbers " - -../newdirectory-0.0.1/phones.php || die "ERROR" -echo "OK" - -########################################################### -echo "Updating birthday dates " - -./birthday.php || die "ERROR" -echo "OK" +confirm "Running upgrade scripts" +script_run ../newdirectory-0.0.1/phones.php +script_run ../newdirectory-0.0.1/addresses.php +script_run ../newdirectory-0.0.1/alternate_subsubsectors.php +script_run ./birthday.php diff --git a/upgrade/inc/pervasive.sh b/upgrade/inc/pervasive.sh index b346707..758364c 100755 --- a/upgrade/inc/pervasive.sh +++ b/upgrade/inc/pervasive.sh @@ -7,7 +7,7 @@ set -e if [ "$UID" != 0 ]; then echo "has to be run as root" - exit 1 +# exit 1 fi if [[ -n "${DBPREFIX}" ]]; then @@ -22,10 +22,34 @@ function die() { exit 1 } -function mysql_run() { +function confirm() { + echo "$1" + echo "* press ^D to start import (^C to cancel)" + cat +} + +function mysql_pipe() { sed -e "s/#\([0-9a-z]*\)#/${DBPREFIX}\1/g" | $MYSQL $DATABASE } +function mysql_run() { + echo -n "* running $1" + (cat $1 | mysql_pipe) || die "ERROR" + echo "OK" +} + +function mysql_run_directory() { + for sql in $1/*.sql ; do + mysql_run $sql + done +} + +function script_run() { + echo -n "* running $1" + $1 || die "ERROR" + echo "OK" +} + function mailman_stop() { echo -n "stops mailman" /etc/init.d/mailman stop &>/dev/null