|
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 [params] VERSION"
|
|
Packit |
fcad23 |
echo ""
|
|
Packit |
fcad23 |
echo " params: [-c] [-d] [-P] [-s NSB_SRC_DIR] [-b BUILDD] [-i NSB_INSTALL_DIR]"
|
|
Packit |
fcad23 |
echo " [-h host] [-p path]"
|
|
Packit |
fcad23 |
echo ""
|
|
Packit |
fcad23 |
echo " VERSION : release number (eg 5.2.2)"
|
|
Packit |
fcad23 |
echo " -s NSB_SRC_DIR : source 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 NSB_INSTALL_DIR: install directory [$HOME/build/\$PLATFORM/usr]"
|
|
Packit |
fcad23 |
echo ""
|
|
Packit |
fcad23 |
echo " -x : configure extra features for pre-release testing"
|
|
Packit |
fcad23 |
echo " -c : skip configure"
|
|
Packit |
fcad23 |
echo " -d : dirty build (don't make distclean)"
|
|
Packit |
fcad23 |
echo " -m : skip 'make all'"
|
|
Packit |
fcad23 |
echo " -P : pause at prompts in between stages"
|
|
Packit |
fcad23 |
echo " -r : remove build dir (rm -fR) before build"
|
|
Packit |
fcad23 |
echo " -R : remove build dir (rm -fR) after successful build"
|
|
Packit |
fcad23 |
echo " -t : skip 'make test'"
|
|
Packit |
fcad23 |
echo " -C : don't source $HOME/.snmp/nsb-package"
|
|
Packit |
fcad23 |
echo ""
|
|
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 |
#trap exit SIGINT
|
|
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-package ];then
|
|
Packit |
fcad23 |
. $HOME/.snmp/nsb-package
|
|
Packit |
fcad23 |
fi
|
|
Packit |
fcad23 |
fi
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
########################################################################
|
|
Packit |
fcad23 |
########################################################################
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
REMOVE_SUCCESS=0
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
# x) x=$OPTARG ;;
|
|
Packit |
fcad23 |
while getopts b:cdh:i:mPp:rRs:tx opt
|
|
Packit |
fcad23 |
do
|
|
Packit |
fcad23 |
case "$opt" in
|
|
Packit |
fcad23 |
b) NSB_BUILD_DIR=$OPTARG ;;
|
|
Packit |
fcad23 |
c) NSB_SKIP_CONFIG=1 ;;
|
|
Packit |
fcad23 |
d) NSB_CLEAN=0 ;;
|
|
Packit |
fcad23 |
h) NSB_SCP_HOST=$OPTARG ;;
|
|
Packit |
fcad23 |
i) NSB_INSTALL_DIR=$OPTARG ;;
|
|
Packit |
fcad23 |
m) NSB_SKIP_BUILD=1 ;;
|
|
Packit |
fcad23 |
P) NSB_PROMPT=1 ;;
|
|
Packit |
fcad23 |
p) NSB_SCP_DEST=$OPTARG ;;
|
|
Packit |
fcad23 |
r) NSB_CLEAN=2 ;;
|
|
Packit |
fcad23 |
R) REMOVE_SUCCESS=1 ;;
|
|
Packit |
fcad23 |
s) NSB_SRC_DIR=$OPTARG ;;
|
|
Packit |
fcad23 |
t) NSB_SKIP_TEST=1 ;;
|
|
Packit |
fcad23 |
x) NSB_CONFIG_ALL=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 |
if [ $NSB_CLEAN -eq 1 ]; then
|
|
Packit |
fcad23 |
if [ $NSB_SKIP_CONFIG -eq 1 ]; then
|
|
Packit |
fcad23 |
echo "A clean build also requires configuration (-d and -c"
|
|
Packit |
fcad23 |
echo "cannot both be specified)."
|
|
Packit |
fcad23 |
usage
|
|
Packit |
fcad23 |
fi
|
|
Packit |
fcad23 |
fi
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
########################################################################
|
|
Packit |
fcad23 |
########################################################################
|
|
Packit |
fcad23 |
nsb_prompt "press enter to build $NSB_SRC_DIR in $NSB_BUILD_DIR, and install in $NSB_INSTALL_DIR"
|
|
Packit |
fcad23 |
nsb_build $NSB_VERSION $NSB_SRC_DIR $NSB_BUILD_DIR $NSB_INSTALL_DIR $NSB_CONFIG_ALL
|
|
Packit |
fcad23 |
rc=$?
|
|
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_HOST/
|
|
Packit |
fcad23 |
fi
|
|
Packit |
fcad23 |
if [ $rc -eq 0 ] && [ $REMOVE_SUCCESS -eq 1 ];then
|
|
Packit |
fcad23 |
nsb_prompt "press enter to remove $NSB_BUILD_DIR"
|
|
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 |
nsb_prompt "press enter to exit with rc $RC"
|
|
Packit |
fcad23 |
exit $rc
|