|
Packit |
fcad23 |
#!/bin/sh
|
|
Packit |
fcad23 |
#
|
|
Packit |
fcad23 |
# $Id$
|
|
Packit |
fcad23 |
# Author: Robert Story <rstory@freesnmp.com>
|
|
Packit |
fcad23 |
#
|
|
Packit |
fcad23 |
########################################################################
|
|
Packit |
fcad23 |
########################################################################
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
usage()
|
|
Packit |
fcad23 |
{
|
|
Packit |
fcad23 |
echo "Usage: $0 [optional params] VERSION"
|
|
Packit |
fcad23 |
echo ""
|
|
Packit |
fcad23 |
echo " optional params: [-x] [-s SRCD] [-b BUILDD] [-i INSTALLD]"
|
|
Packit |
fcad23 |
echo " [-h host] [-p path]"
|
|
Packit |
fcad23 |
echo " VERSION : release number (eg 5.2.2)"
|
|
Packit |
fcad23 |
echo " -s SRCDIR : soure directory [$HOME/src/net-snmp-VERSION]"
|
|
Packit |
fcad23 |
echo " -b BUILDD : build directory [$HOME/build/]"
|
|
Packit |
fcad23 |
echo " NOTE-platform will be appended to build directory"
|
|
Packit |
fcad23 |
echo " -i INSTALLD: install directory [$HOME/build/\$PLATFORM/usr]"
|
|
Packit |
fcad23 |
echo ""
|
|
Packit |
fcad23 |
echo " -x : configure extra features for pre-release testing"
|
|
Packit |
fcad23 |
echo " -C : don't source $HOME/.snmp/nsb-nightly"
|
|
Packit |
fcad23 |
echo ""
|
|
Packit |
fcad23 |
echo " -f : from address for email results"
|
|
Packit |
fcad23 |
echo " -e : address to email error results to"
|
|
Packit |
fcad23 |
echo " -o : address to email success results to"
|
|
Packit |
fcad23 |
echo " -h : host to upload results to"
|
|
Packit |
fcad23 |
echo " -p : path to upload results to"
|
|
Packit |
fcad23 |
exit 1
|
|
Packit |
fcad23 |
}
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
#set -x
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
# make getopts work on Tru64 by respawning in Posix mode
|
|
Packit |
fcad23 |
if [ "`uname`" = "OSF1" -a "$BIN_SH" != "xpg4" ]; then
|
|
Packit |
fcad23 |
BIN_SH=xpg4
|
|
Packit |
fcad23 |
export BIN_SH
|
|
Packit |
fcad23 |
exec $0 $*
|
|
Packit |
fcad23 |
fi
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
#
|
|
Packit |
fcad23 |
# find nsb-platform based on the path to this script
|
|
Packit |
fcad23 |
#
|
|
Packit |
fcad23 |
EXE_PATH=`dirname $0`
|
|
Packit |
fcad23 |
if [ ! -f $EXE_PATH/nsb-functions ];then
|
|
Packit |
fcad23 |
if [ -f $HOME/bin/nsb-functions ]; then
|
|
Packit |
fcad23 |
EXE_PATH=$HOME/bin
|
|
Packit |
fcad23 |
elif [ -f nsb-functions ];then
|
|
Packit |
fcad23 |
EXE_PATH=$PWD
|
|
Packit |
fcad23 |
else
|
|
Packit |
fcad23 |
echo "Cannot find nsb-functions in $EXE_PATH, $HOME/bin or $PWD"
|
|
Packit |
fcad23 |
exit 1
|
|
Packit |
fcad23 |
fi
|
|
Packit |
fcad23 |
fi
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
if [ "x$1" = "x-C" ]; then
|
|
Packit |
fcad23 |
shift
|
|
Packit |
fcad23 |
else
|
|
Packit |
fcad23 |
if [ -f $HOME/.snmp/nsb-nightly ];then
|
|
Packit |
fcad23 |
. $HOME/.snmp/nsb-nightly
|
|
Packit |
fcad23 |
fi
|
|
Packit |
fcad23 |
fi
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
########################################################################
|
|
Packit |
fcad23 |
########################################################################
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
# -r : remove build dir before
|
|
Packit |
fcad23 |
# -R : remove build dir after
|
|
Packit |
fcad23 |
PARMS="$PARMS -r"
|
|
Packit |
fcad23 |
NIGHTLY_VERBOSE=0
|
|
Packit |
fcad23 |
NSB_ERR_RESULTS_TO=""
|
|
Packit |
fcad23 |
NSB_OK_RESULTS_TO=""
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
while getopts b:e:f:i:o:s:xh:p:v opt
|
|
Packit |
fcad23 |
do
|
|
Packit |
fcad23 |
case "$opt" in
|
|
Packit |
fcad23 |
b) NSB_BUILD_DIR=$OPTARG;;
|
|
Packit |
fcad23 |
e) NSB_ERR_RESULTS_TO=$OPTARG;;
|
|
Packit |
fcad23 |
f) NSB_FROM=$OPTARG;;
|
|
Packit |
fcad23 |
o) NSB_OK_RESULTS_TO=$OPTARG;;
|
|
Packit |
fcad23 |
i) PARMS="-i $OPTARG $PARMS";;
|
|
Packit |
fcad23 |
s) NSB_SRC_DIR=$OPTARG;;
|
|
Packit |
fcad23 |
h) NSB_SCP_HOST=$OPTARG
|
|
Packit |
fcad23 |
PARMS="-h $NSB_SCP_HOST $PARMS"
|
|
Packit |
fcad23 |
;;
|
|
Packit |
fcad23 |
p) NSB_SCP_DEST=$OPTARG
|
|
Packit |
fcad23 |
PARMS="-p $NSB_SCP_DEST $PARMS"
|
|
Packit |
fcad23 |
;;
|
|
Packit |
fcad23 |
x) PARMS="-x $PARMS";;
|
|
Packit |
fcad23 |
v) NIGHTLY_VERBOSE=1;;
|
|
Packit |
fcad23 |
\?)# unknown flag
|
|
Packit |
fcad23 |
usage;;
|
|
Packit |
fcad23 |
esac
|
|
Packit |
fcad23 |
done
|
|
Packit |
fcad23 |
shift `expr $OPTIND - 1`
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
if [ $# -ne 1 ]; then
|
|
Packit |
fcad23 |
echo "expecting 1 argument, got $# ($@)"
|
|
Packit |
fcad23 |
usage
|
|
Packit |
fcad23 |
fi
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
NSB_VERSION=$1
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
. $EXE_PATH/nsb-functions
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
nsb_default_paths
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
PARMS="$PARMS -b $NSB_BUILD_DIR -s $NSB_SRC_DIR"
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
########################################################################
|
|
Packit |
fcad23 |
########################################################################
|
|
Packit |
fcad23 |
echo "Start: `date`"
|
|
Packit |
fcad23 |
echo "Running nsb-package $PARMS $NSB_VERSION"
|
|
Packit |
fcad23 |
if [ $NIGHTLY_VERBOSE = 1 ]; then
|
|
Packit |
fcad23 |
$EXE_PATH/nsb-package $PARMS $NSB_VERSION
|
|
Packit |
fcad23 |
else
|
|
Packit |
fcad23 |
$EXE_PATH/nsb-package $PARMS $NSB_VERSION > /dev/null
|
|
Packit |
fcad23 |
fi
|
|
Packit |
fcad23 |
RC=$?
|
|
Packit |
fcad23 |
echo "Finish: `date`"
|
|
Packit |
fcad23 |
cd $NSB_BUILD_DIR
|
|
Packit |
fcad23 |
case $RC in
|
|
Packit |
fcad23 |
0) RESULT="Success"
|
|
Packit |
fcad23 |
NSB_RESULTS_TO=$NSB_OK_RESULTS_TO
|
|
Packit |
fcad23 |
FILES=""
|
|
Packit |
fcad23 |
;;
|
|
Packit |
fcad23 |
*) RESULT="Error (rc $RC)"
|
|
Packit |
fcad23 |
NSB_RESULTS_TO=$NSB_ERR_RESULTS_TO
|
|
Packit |
fcad23 |
FILES=`ls nsb-make-*-errs.* 2>/dev/null`
|
|
Packit |
fcad23 |
if [ "x$NSB_SCP_HOST" != "x" ]; then
|
|
Packit |
fcad23 |
nsb_upload $NSB_BUILD_DIR $NSB_SCP_HOST:$NSB_SCP_DEST/$NSB_VERSION/$NSB_SUFFIX
|
|
Packit |
fcad23 |
fi
|
|
Packit |
fcad23 |
;;
|
|
Packit |
fcad23 |
esac
|
|
Packit |
fcad23 |
echo "Result: $RESULT"
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
if [ "x$NSB_RESULTS_TO" != "x" ]; then
|
|
Packit |
fcad23 |
SUBJECT="$NSB_VERSION $RESULT on $NSB_HOST ($NSB_PLATFORM)"
|
|
Packit |
fcad23 |
echo "Sending mail to $NSB_RESULTS_TO: $SUBJECT"
|
|
Packit |
fcad23 |
case `uname -s` in
|
|
Packit |
fcad23 |
OpenBSD|FreeBSD) # mail doesn't allow setting From
|
|
Packit |
fcad23 |
# seems to be in /usr/sbin, which isn't in all paths
|
|
Packit |
fcad23 |
PATH=/usr/sbin/:$PATH
|
|
Packit |
fcad23 |
echo "From: $NSB_FROM" > mail.results
|
|
Packit |
fcad23 |
echo "To: $NSB_RESULTS_TO" >> mail.results
|
|
Packit |
fcad23 |
# mail-related errors to OK address (usully buildmaster)
|
|
Packit |
fcad23 |
echo "Errors-To: $NSB_OK_RESULTS_TO" >> mail.results
|
|
Packit |
fcad23 |
echo "Subject: $SUBJECT" >> mail.results
|
|
Packit |
fcad23 |
echo "" >> mail.results
|
|
Packit |
fcad23 |
grep CONFIGURE_OPTIONS include/net-snmp/net-snmp-config.h|sed 's:/home/[^ ]*/build:$HOME:g' >> mail.results
|
|
Packit |
fcad23 |
echo "Result: $RESULT" >> mail.results
|
|
Packit |
fcad23 |
if [ "x$FILES" != "x" ]; then
|
|
Packit |
fcad23 |
cat $FILES >> mail.results
|
|
Packit |
fcad23 |
fi
|
|
Packit |
fcad23 |
sendmail -t < mail.results
|
|
Packit |
fcad23 |
;;
|
|
Packit |
fcad23 |
SunOS) # no sendmail, no mail -s, need -t for To
|
|
Packit |
fcad23 |
echo "From: $NSB_FROM" > mail.results
|
|
Packit |
fcad23 |
# mail-related errors to OK address (usully buildmaster)
|
|
Packit |
fcad23 |
echo "Errors-To: $NSB_OK_RESULTS_TO" >> mail.results
|
|
Packit |
fcad23 |
echo "Subject: $SUBJECT" >> mail.results
|
|
Packit |
fcad23 |
echo "" >> mail.results
|
|
Packit |
fcad23 |
grep CONFIGURE_OPTIONS include/net-snmp/net-snmp-config.h|sed 's:/home/[^ ]*/build:$HOME:g' >> mail.results
|
|
Packit |
fcad23 |
echo "Result: $RESULT" >> mail.results
|
|
Packit |
fcad23 |
if [ "x$FILES" != "x" ]; then
|
|
Packit |
fcad23 |
cat $FILES >> mail.results
|
|
Packit |
fcad23 |
fi
|
|
Packit |
fcad23 |
mail -t $NSB_RESULTS_TO < mail.results
|
|
Packit |
fcad23 |
;;
|
|
Packit |
fcad23 |
*)
|
|
Packit |
fcad23 |
echo "Result: $RESULT" >> mail.results
|
|
Packit |
fcad23 |
if [ "x$FILES" != "x" ]; then
|
|
Packit |
fcad23 |
cat $FILES >> mail.results
|
|
Packit |
fcad23 |
fi
|
|
Packit |
fcad23 |
mail -s "$SUBJECT" $NSB_RESULTS_TO < mail.results
|
|
Packit |
fcad23 |
;;
|
|
Packit |
fcad23 |
esac
|
|
Packit |
fcad23 |
fi
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
if [ $RC -eq 0 ]; then
|
|
Packit |
fcad23 |
if [ "x$NSB_BUILD_DIR" = "/" ]; then
|
|
Packit |
fcad23 |
nsb_abort "Not running rm -fR from /"
|
|
Packit |
fcad23 |
else
|
|
Packit |
fcad23 |
/bin/rm -fR $NSB_BUILD_DIR > /dev/null 2>&1
|
|
Packit |
fcad23 |
fi
|
|
Packit |
fcad23 |
fi
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
exit $RC
|