diff options
Diffstat (limited to 'bin/scons-cdist')
| -rw-r--r-- | bin/scons-cdist | 272 | 
1 files changed, 0 insertions, 272 deletions
diff --git a/bin/scons-cdist b/bin/scons-cdist deleted file mode 100644 index 58b1bae..0000000 --- a/bin/scons-cdist +++ /dev/null @@ -1,272 +0,0 @@ -#!/bin/sh -# -# Copyright (c) 2005 The SCons Foundation -# -# Permission is hereby granted, free of charge, to any person obtaining -# a copy of this software and associated documentation files (the -# "Software"), to deal in the Software without restriction, including -# without limitation the rights to use, copy, modify, merge, publish, -# distribute, sublicense, and/or sell copies of the Software, and to -# permit persons to whom the Software is furnished to do so, subject to -# the following conditions: -# -# The above copyright notice and this permission notice shall be included -# in all copies or substantial portions of the Software. -# -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -# KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE -# WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE -# LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -# OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION -# WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - -PROG=`basename $0` -NOARGFLAGS="afhlnqrstz" -ARGFLAGS="p:" -ALLFLAGS="${NOARGFLAGS}${ARGFLAGS}" -USAGE="Usage:  ${PROG} [-${NOARGFLAGS}] [-p project] change" - -HELP="$USAGE - -  -a            Update the latest Aegis baseline (aedist) file. -  -f            Force update, skipping up-front sanity check. -  -h            Print this help message and exit. -  -l            Update the local CVS repository. -  -n            Don't execute, just echo commands. -  -p project    Set the Aegis project. -  -q            Quiet, don't print commands before executing them. -  -r            Rsync the Aegis repository to SourceForge. -  -s            Update the sourceforge.net CVS repository. -  -t            Update the tigris.org CVS repository. -  -z            Update the latest .tar.gz and .zip files. -" - -DO="" -PRINT="echo" -EXECUTE="eval" -SANITY_CHECK="yes" - -while getopts $ALLFLAGS FLAG; do -    case $FLAG in -    a | l | r | s | t | z ) -        DO="${DO}${FLAG}" -        ;; -    f ) -        SANITY_CHECK="no" -        ;; -    h ) -        echo "${HELP}" -        exit 0 -        ;; -    n ) -        EXECUTE=":" -        ;; -    p ) -        AEGIS_PROJECT="${OPTARG}" -        ;; -    q ) -        PRINT=":" -        ;; -    * ) -        echo "FLAG = ${FLAG}" >&2 -        echo "${USAGE}" >&2 -        exit 1 -        ;; -    esac -done - -shift `expr ${OPTIND} - 1` - -if test "X$1" = "X"; then -    echo "${USAGE}" >&2 -    exit 1 -fi - -if test "X${AEGIS_PROJECT}" = "X"; then -    echo "$PROG: No AEGIS_PROJECT set." >&2 -    echo "${USAGE}" >&2 -    exit 1 -fi - -if test "X$DO" = "X"; then -    DO="alrstz" -fi - -cmd() -{ -    $PRINT "$*" -    $EXECUTE "$*" -} - -CHANGE=$1 - -if test "X${SANITY_CHECK}" = "Xyes"; then -    SCM="cvs" -    SCMROOT="/home/scons/CVSROOT/scons" -    DELTA=`aegis -l -ter cd ${CHANGE} | sed -n 's/.*, Delta \([0-9]*\)\./\1/p'` -    if test "x${DELTA}" = "x"; then -        echo "${PROG}:  Could not find delta for change ${CHANGE}." >&2 -        echo "Has this finished integrating?  Change ${CHANGE} not distributed." >&2 -        exit 1 -    fi -    PREV_DELTA=`expr ${DELTA} - 1` -    COMMAND="scons-scmcheck -D ${PREV_DELTA} -d q -p ${AEGIS_PROJECT} -s ${SCM} ${SCMROOT}" -    $PRINT "${COMMAND}" -    OUTPUT=`${COMMAND}` -    if test "X${OUTPUT}" != "X"; then -        echo "${PROG}: ${SCMROOT} is not up to date:" >&2 -        echo "${OUTPUT}" >& 2 -        echo "Did you skip any changes?  Change ${CHANGE} not distributed." >&2 -        exit 1 -    fi -fi - -if test X$EXECUTE != "X:" -a "X$SSH_AGENT_PID" = "X"; then -    eval `ssh-agent` -    ssh-add -    trap 'eval `ssh-agent -k`; exit' 0 1 2 3 15 -fi - -cd - -BASELINE=`aesub -p ${AEGIS_PROJECT} -c ${CHANGE} '${Project trunk_name}'` - -TMPBLAE="/tmp/${BASELINE}.ae" -TMPCAE="/tmp/${AEGIS_PROJECT}.C${CHANGE}.ae" - -# Original values for SourceForge. -#SFLOGIN="stevenknight" -#SFHOST="scons.sourceforge.net" -#SFDEST="/home/groups/s/sc/scons/htdocs" - -SCONSLOGIN="scons" -SCONSHOST="manam.pair.com" -#SCONSDEST="public_html/production" -SCONSDEST="public_ftp" - -# -# Copy the baseline .ae to the constant location on SourceForge. -# -case "${DO}" in -*a* ) -    cmd "aedist -s -bl -p ${AEGIS_PROJECT} > ${TMPBLAE}" -    cmd "scp ${TMPBLAE} ${SCONSLOGIN}@${SCONSHOST}:${SCONSDEST}/${BASELINE}.ae" -    cmd "rm ${TMPBLAE}" -    ;; -esac - -# -# Copy the latest .tar.gz and .zip files to the constant location on -# SourceForge. -# -case "${DO}" in -*z* ) -    BUILD_DIST=`aegis -p ${AEGIS_PROJECT} -cd -bl`/build/dist -    SCONS_SRC_TAR_GZ=`echo ${AEGIS_PROJECT} | sed 's/scons./scons-src-/'`*.tar.gz -    SCONS_SRC_ZIP=`echo ${AEGIS_PROJECT} | sed 's/scons./scons-src-/'`*.zip -    cmd "scp ${BUILD_DIST}/${SCONS_SRC_TAR_GZ} ${SCONSLOGIN}@${SCONSHOST}:${SCONSDEST}/scons-src-latest.tar.gz" -    cmd "scp ${BUILD_DIST}/${SCONS_SRC_ZIP} ${SCONSLOGIN}@${SCONSHOST}:${SCONSDEST}/scons-src-latest.zip" -esac - -# -# Sync Aegis tree with SourceForge. -# -# Cribbed and modified from Peter Miller's same-named script in -# /home/groups/a/ae/aegis/aegis at SourceForge. -# -# Guide to what this does with rsync: -# -#   --rsh=ssh          use ssh for the transfer -#   -l                 copy symlinks as symlinks -#   -p                 preserve permissions -#   -r                 recursive -#   -t                 preserve times -#   -z                 compress data -#   --stats            file transfer statistics -#   --exclude          exclude files matching the pattern -#   --delete           delete files that don't exist locally -#   --delete-excluded  delete files that match the --exclude patterns -#   --progress         show progress during the transfer -#   -v                 verbose -# -# We no longer use the --stats option. -# -case "${DO}" in -*r* ) -    LOCAL=/home/scons/scons -    REMOTE=/home/groups/s/sc/scons/scons -    cmd "/usr/bin/rsync --rsh='ssh -l stevenknight' \ -            -l -p -r -t -z \ -            --exclude build \ -            --exclude '*,D' \ -            --exclude '*.pyc' \ -            --exclude aegis.log \ -            --exclude '.sconsign*' \ -            --delete --delete-excluded \ -            --progress -v \ -            ${LOCAL}/. scons.sourceforge.net:${REMOTE}/." -    ;; -esac - -# -# Sync the CVS tree with the local repository. -# -case "${DO}" in -*l* ) -    ( -        export CVSROOT=/home/scons/CVSROOT/scons -        #cmd "ae2cvs -X -aegis -p ${AEGIS_PROJECT} -c ${CHANGE} -u $HOME/SCons/baldmt.com/scons" -        cmd "ae-cvs-ci ${AEGIS_PROJECT} ${CHANGE}" -    ) -    ;; -esac - -# -# Sync the Subversion tree with Tigris.org. -# -case "${DO}" in -*t* ) -    ( -        SVN=http://scons.tigris.org/svn/scons -        case ${AEGIS_PROJECT} in -        scons.0.96 ) -            SVN_URL=${SVN}/branches/core -            ;; -        scons.0.96.513 ) -            SVN_URL=${SVN}/branches/sigrefactor -            ;; -        * ) -            echo "$PROG: Don't know SVN branch for '${AEGIS_PROJECT}'" >&2 -            exit 1 -            ;; -        esac -        SVN_CO_FLAGS="--username stevenknight" -        #cmd "ae2cvs -X -aegis -p ${AEGIS_PROJECT} -c ${CHANGE} -u $HOME/SCons/tigris.org/scons" -        cmd "ae-svn-ci ${AEGIS_PROJECT} ${CHANGE} ${SVN_URL} ${SVN_CO_FLAGS}" -    ) -    ;; -esac - -# -# Sync the CVS tree with SourceForge. -# -case "${DO}" in -*s* ) -    ( -        export CVS_RSH=ssh -        export CVSROOT=:ext:stevenknight@scons.cvs.sourceforge.net:/cvsroot/scons -        #cmd "ae2cvs -X -aegis -p ${AEGIS_PROJECT} -c ${CHANGE} -u $HOME/SCons/sourceforge.net/scons" -        cmd "ae-cvs-ci ${AEGIS_PROJECT} ${CHANGE}" -    ) -    ;; -esac - -# -# Send the change .ae to the scons-aedist mailing list -# -# The subject requires editing by hand... -# -#aedist -s -p ${AEGIS_PROJECT} ${CHANGE} > ${TMPCAE} -#aegis -l -p ${AEGIS_PROJECT} -c ${CHANGE} cd | -#        pine -attach_and_delete ${TMPCAE} scons-aedist@lists.sourceforge.net  | 
