summaryrefslogtreecommitdiff
path: root/bin/scons-cdist
diff options
context:
space:
mode:
Diffstat (limited to 'bin/scons-cdist')
-rw-r--r--bin/scons-cdist272
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