diff options
author | mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> | 2009-03-09 21:48:33 +0000 |
---|---|---|
committer | mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> | 2009-03-09 21:48:33 +0000 |
commit | aaf56639287f286cbfe3a66fca4b71457488fa0f (patch) | |
tree | 72c95c9e4fc28f3276c28db786b97e6570de426b /utils | |
parent | 92c07cbae512c3d65345014526f4a49cb43bb20e (diff) |
Post-release procedures for autotest, with site-specific hooks
Signed-off-by: Rachel Kroll <rkroll@google.com>
git-svn-id: svn://test.kernel.org/autotest/trunk@2860 592f7852-d20e-0410-864c-8624ca9c26a4
Diffstat (limited to 'utils')
-rw-r--r-- | utils/release | 129 |
1 files changed, 129 insertions, 0 deletions
diff --git a/utils/release b/utils/release new file mode 100644 index 00000000..4e3a6f36 --- /dev/null +++ b/utils/release @@ -0,0 +1,129 @@ +#!/bin/sh + +# steps to take following a release of new code to keep things working. +# +# the following scripts may be created to customize behavior: +# +# site_utils/site_sync_code +# +# - pull code from a source repository +# +# site_utils/site_install_cli +# +# - install or update client code (new "atest" build?) +# +# site_utils/site_restart_apache +# +# - suid helper or similar? +# +# site_utils/site_restart_final +# +# - any finishing touches you may require. + +# --- + +INIT_SCR=/etc/init.d/autotest + +# --- + +print_status() { + STATUS=$1 + + echo "--- $STATUS" +} + +fatal() { + echo "*** Fatal error. Giving up." + exit 1 +} + +# --- + +MY_DIR=`dirname $0` + +if (! test -f $INIT_SCR) +then + echo "Error: $INIT_SCR must be installed." + exit 1 +fi + +BECOME_USER=`grep ^BECOME_USER= $INIT_SCR` + +if (test "$BECOME_USER" == "") +then + echo "Error: BECOME_USER not defined in $INIT_SCR" + exit 1 +fi + +BASE_DIR=`grep ^BASE_DIR= $INIT_SCR` + +if (test "$BASE_DIR" == "") +then + echo "Error: BASE_DIR not defined in $INIT_SCR" + exit 1 +fi + +eval $BECOME_USER +eval $BASE_DIR + +# --- stop autotest persistent code + +print_status "Stopping autotest persistent code" +$INIT_SCR stop + +# --- sync code (site-specific) + +if (test -x $BASE_DIR/site_utils/site_sync_code) +then + print_status "Syncing code" + su $BECOME_USER -c $BASE_DIR/site_utils/site_sync_code || exit 1 +fi + +# --- compile AfeClient + +print_status "Compiling AfeClient" +( cd $BASE_DIR/frontend/client && + su $BECOME_USER -c ./AfeClient-compile ) || fatal + +# --- compile TkoClient + +print_status "Compiling TkoClient" +( cd $BASE_DIR/frontend/client && + su $BECOME_USER -c ./TkoClient-compile ) || fatal + +# --- fix gwt permissions + +print_status "Fixing permissions" +( cd $BASE_DIR/frontend/client && + find | xargs chmod o+r && + find -type d | xargs chmod o+rx ) || fatal + +# --- update cli repository (site-specific) + +if (test -x $BASE_DIR/site_utils/site_install_cli) +then + print_status "Updating cli repository" + su $BECOME_USER -c $BASE_DIR/site_utils/site_install_cli || fatal +fi + +# --- restart autotest persistent code + +print_status "Restarting autotest persistent code" +$INIT_SCR start || fatal + +# --- possibly restart Apache (site-specific) + +if (test -x $BASE_DIR/site_utils/site_restart_apache) +then + print_status "Restarting Apache" + su $BECOME_USER -c $BASE_DIR/site_utils/site_restart_apache || fatal +fi + +# --- do any site-specific finalization + +if (test -x $BASE_DIR/site_utils/site_restart_final) +then + print_status "Finalizing release" + su $BECOME_USER -c $BASE_DIR/site_utils/site_restart_final || fatal +fi + |