COMMAND=$(basename $0)
# default values, tunable with command-line options
-DEFAULT_FCDISTRO=fc6
+DEFAULT_FCDISTRO=f7
DEFAULT_PLDISTRO=planetlab
-DEFAULT_BASE="@DATE@--@PLDISTRO@-@FCDISTRO@"
+DEFAULT_PERSONALITY=linux32
+DEFAULT_BASE="@DATE@--@PLDISTRO@-@FCDISTRO@-@PERSONALITY@"
DEFAULT_SVNPATH="http://svn.planet-lab.org/svn/build/trunk"
-DEFAULT_MAILTO_onelab="onelab-build@one-lab.org"
-# tmp - send all mails to onelab
-#DEFAULT_MAILTO_planetlab="devel@planet-lab.org"
-DEFAULT_MAILTO_planetlab=$DEFAULT_MAILTO_onelab
+# NOTE: do not think we want to put email addresses into scripts
+# that can be harvested by spambots. --mef
+DEFAULT_MAILTO="onelab-build@one-lab.org"
# web publishing results
DEFAULT_WEBPATH="/build/@PLDISTRO@/"
summary $LOG >> ${WEBLOG}
touch ${WEBLOG}.ok
if [ -n "$MAILTO" ] ; then
- (echo "http://build.one-lab.org/$PLDISTRO/$BASE" ; echo "Completed on $(date)" ) | mail -s "Successfull build for ${BASE}" $MAILTO
+ (echo "$PLDISTRO ($BASE) build for $FCDISTRO completed on $(date)" ) | mail -s "Successfull build for ${BASE}" $MAILTO
fi
exit 0
}
echo "This is $REVISION"
echo "Supported options"
echo " -n dry-run : -n passed to make - vserver gets created though - no mail sent"
- echo " -f FCDISTRO - defaults to $DEFAULT_FCDISTRO"
- echo " -d PLDISTRO - defaults to $DEFAULT_PLDISTRO"
- echo " -b BASE - defaults to $DEFAULT_BASE"
+ echo " -f fcdistro - defaults to $DEFAULT_FCDISTRO"
+ echo " -d pldistro - defaults to $DEFAULT_PLDISTRO"
+ echo " -p personality - defaults to $DEFAULT_PERSONALITY"
+ echo " -b base - defaults to $DEFAULT_BASE"
echo " @NAME@ replaced as appropriate"
- echo " -t PLDISTROTAGS - defaults to \${PLDISTRO}-tags.mk"
- echo " -r TAGSRELEASE - a release number that refers to PLDISTROTAGS - defaults to HEAD"
- echo " -s SVNPATH - where to fetch the build module"
+ echo " -t pldistrotags - defaults to \${PLDISTRO}-tags.mk"
+ echo " -r tagsrelease - a release number that refers to PLDISTROTAGS - defaults to HEAD"
+ echo " -s svnpath - where to fetch the build module"
echo " -o : overwrite - re-run in base directory, do not create vserver"
- echo " -m MAILTO"
- echo " -a MAKEVAR=value - space in values are not supported"
- echo " -w WEBPATH - defaults to $DEFAULT_WEBPATH"
+ echo " -m mailto"
+ echo " -a makevar=value - space in values are not supported"
+ echo " -w webpath - defaults to $DEFAULT_WEBPATH"
echo " -B : run build only"
echo " -T : run test only"
echo " -v : be verbose"
MAKEOPTS=()
DO_BUILD=true
DO_TEST=true
- while getopts "nf:d:b:t:r:s:om:a:w:BTvh" opt ; do
+ while getopts "nf:d:b:p:t:r:s:om:a:w:BTvh" opt ; do
case $opt in
n) DRY_RUN="true" ; MAKEOPTS=(${MAKEOPTS[@]} -n) ;;
f) FCDISTRO=$OPTARG ;;
d) PLDISTRO=$OPTARG ;;
+ p) PERSONALITY=$OPTARG ;;
b) BASE=$OPTARG ;;
t) PLDISTROTAGS=$OPTARG ;;
r) TAGSRELEASE=$OPTARG ;;
# set defaults
[ -z "$FCDISTRO" ] && FCDISTRO=$DEFAULT_FCDISTRO
[ -z "$PLDISTRO" ] && PLDISTRO=$DEFAULT_PLDISTRO
+ [ -z "$PERSONALITY" ] && PERSONALITY=$DEFAULT_PERSONALITY
[ -z "$PLDISTROTAGS" ] && PLDISTROTAGS="${PLDISTRO}-tags.mk"
[ -z "$BASE" ] && BASE="$DEFAULT_BASE"
[ -z "$WEBPATH" ] && WEBPATH="$DEFAULT_WEBPATH"
[ -z "$SVNPATH" ] && SVNPATH="$DEFAULT_SVNPATH"
- #
+
+ # NOTE: suggest that by default no email is sent and that the user
+ # should explicitly invoke this script with the -m arg to pass in
+ # the appropriate email address. --mef
if [ "$PLDISTRO" = "onelab" ] ; then
- [ -z "$MAILTO" ] && MAILTO="$DEFAULT_MAILTO_onelab"
- else
- [ -z "$MAILTO" ] && MAILTO="$DEFAULT_MAILTO_planetlab"
+ [ -z "$MAILTO" ] && MAILTO="$DEFAULT_MAILTO"
fi
[ -n "$DRY_RUN" ] && MAILTO=""
### set BASE from DISTRO, if unspecified
- sedargs="-e s,@DATE@,${DATE},g -e s,@FCDISTRO@,${FCDISTRO},g -e s,@PLDISTRO@,${PLDISTRO},g"
+ sedargs="-e s,@DATE@,${DATE},g -e s,@FCDISTRO@,${FCDISTRO},g -e s,@PLDISTRO@,${PLDISTRO},g -e s,@PERSONALITY@,${PERSONALITY},g"
BASE=$(echo ${BASE} | sed $sedargs)
WEBPATH=$(echo ${WEBPATH} | sed $sedargs)
svn export $SVNPATH $tmpdir
# Create vserver
cd $tmpdir
- ./vbuild-init-vserver.sh ${BASE} ${FCDISTRO} ${PLDISTRO}
+ ./vbuild-init-vserver.sh -f ${FCDISTRO} -d ${PLDISTRO} -p ${PERSONALITY} ${BASE}
# cleanup
cd -
rm -rf $tmpdir