Blame dist/nsb-package

Packit Service b38f0b
#!/bin/sh
Packit Service b38f0b
#
Packit Service b38f0b
# $Id$
Packit Service b38f0b
# Author: Robert Story <rstory@freesnmp.com>
Packit Service b38f0b
#
Packit Service b38f0b
########################################################################
Packit Service b38f0b
########################################################################
Packit Service b38f0b
Packit Service b38f0b
usage()
Packit Service b38f0b
{
Packit Service b38f0b
   echo "Usage: $0  [params] VERSION"
Packit Service b38f0b
   echo ""
Packit Service b38f0b
   echo "  params: [-c] [-d] [-P] [-s NSB_SRC_DIR] [-b BUILDD] [-i NSB_INSTALL_DIR]"
Packit Service b38f0b
   echo "          [-h host] [-p path]"
Packit Service b38f0b
   echo ""
Packit Service b38f0b
   echo " VERSION    : release number (eg 5.2.2)"
Packit Service b38f0b
   echo " -s NSB_SRC_DIR  : source directory [$HOME/src/net-snmp-VERSION]"
Packit Service b38f0b
   echo " -b BUILDD  : build directory [$HOME/build/]"
Packit Service b38f0b
   echo "              NOTE-platform will be appended to build directory"
Packit Service b38f0b
   echo " -i NSB_INSTALL_DIR: install directory [$HOME/build/\$PLATFORM/usr]"
Packit Service b38f0b
   echo ""
Packit Service b38f0b
   echo " -x : configure extra features for pre-release testing"
Packit Service b38f0b
   echo " -c : skip configure"
Packit Service b38f0b
   echo " -d : dirty build (don't make distclean)"
Packit Service b38f0b
   echo " -m : skip 'make all'"
Packit Service b38f0b
   echo " -P : pause at prompts in between stages"
Packit Service b38f0b
   echo " -r : remove build dir (rm -fR) before build"
Packit Service b38f0b
   echo " -R : remove build dir (rm -fR) after successful build"
Packit Service b38f0b
   echo " -t : skip 'make test'"
Packit Service b38f0b
   echo " -C : don't source $HOME/.snmp/nsb-package"
Packit Service b38f0b
   echo ""
Packit Service b38f0b
   echo " -h : host to upload results to"
Packit Service b38f0b
   echo " -p : path to upload results to"
Packit Service b38f0b
   exit 1
Packit Service b38f0b
}
Packit Service b38f0b
Packit Service b38f0b
#trap exit SIGINT
Packit Service b38f0b
Packit Service b38f0b
#set -x
Packit Service b38f0b
Packit Service b38f0b
# make getopts work on Tru64 by respawning in Posix mode
Packit Service b38f0b
if [ "`uname`" = "OSF1" -a "$BIN_SH" != "xpg4" ]; then
Packit Service b38f0b
    BIN_SH=xpg4
Packit Service b38f0b
    export BIN_SH
Packit Service b38f0b
    exec $0 $*
Packit Service b38f0b
fi
Packit Service b38f0b
Packit Service b38f0b
#
Packit Service b38f0b
# find nsb-platform based on the path to this script
Packit Service b38f0b
#
Packit Service b38f0b
EXE_PATH=`dirname $0`
Packit Service b38f0b
if [ ! -f $EXE_PATH/nsb-functions ];then
Packit Service b38f0b
   if [ -f $HOME/bin/nsb-functions ]; then
Packit Service b38f0b
      EXE_PATH=$HOME/bin
Packit Service b38f0b
   elif [ -f nsb-functions ];then
Packit Service b38f0b
      EXE_PATH=$PWD
Packit Service b38f0b
   else
Packit Service b38f0b
      echo "Cannot find nsb-functions in $EXE_PATH, $HOME/bin or $PWD"
Packit Service b38f0b
      exit 1
Packit Service b38f0b
   fi
Packit Service b38f0b
fi
Packit Service b38f0b
Packit Service b38f0b
if [ "x$1" = "x-C" ]; then
Packit Service b38f0b
    shift
Packit Service b38f0b
else
Packit Service b38f0b
    if [ -f $HOME/.snmp/nsb-package ];then
Packit Service b38f0b
        . $HOME/.snmp/nsb-package
Packit Service b38f0b
    fi
Packit Service b38f0b
fi
Packit Service b38f0b
Packit Service b38f0b
########################################################################
Packit Service b38f0b
########################################################################
Packit Service b38f0b
Packit Service b38f0b
REMOVE_SUCCESS=0
Packit Service b38f0b
Packit Service b38f0b
#      x)  x=$OPTARG ;;
Packit Service b38f0b
while getopts b:cdh:i:mPp:rRs:tx opt
Packit Service b38f0b
do
Packit Service b38f0b
    case "$opt" in
Packit Service b38f0b
      b)  NSB_BUILD_DIR=$OPTARG ;;
Packit Service b38f0b
      c)  NSB_SKIP_CONFIG=1 ;;
Packit Service b38f0b
      d)  NSB_CLEAN=0 ;;
Packit Service b38f0b
      h)  NSB_SCP_HOST=$OPTARG ;;
Packit Service b38f0b
      i)  NSB_INSTALL_DIR=$OPTARG ;;
Packit Service b38f0b
      m)  NSB_SKIP_BUILD=1 ;;
Packit Service b38f0b
      P)  NSB_PROMPT=1 ;;
Packit Service b38f0b
      p)  NSB_SCP_DEST=$OPTARG ;;
Packit Service b38f0b
      r)  NSB_CLEAN=2 ;;
Packit Service b38f0b
      R)  REMOVE_SUCCESS=1 ;;
Packit Service b38f0b
      s)  NSB_SRC_DIR=$OPTARG ;;
Packit Service b38f0b
      t)  NSB_SKIP_TEST=1 ;;
Packit Service b38f0b
      x)  NSB_CONFIG_ALL=1;;
Packit Service b38f0b
      \?)# unknown flag
Packit Service b38f0b
        usage;;
Packit Service b38f0b
    esac
Packit Service b38f0b
done
Packit Service b38f0b
shift `expr $OPTIND - 1`
Packit Service b38f0b
Packit Service b38f0b
if [ $# -ne 1 ]; then
Packit Service b38f0b
   echo "expecting 1 argument, got $# ($@)"
Packit Service b38f0b
   usage
Packit Service b38f0b
fi
Packit Service b38f0b
Packit Service b38f0b
NSB_VERSION=$1
Packit Service b38f0b
Packit Service b38f0b
. $EXE_PATH/nsb-functions
Packit Service b38f0b
Packit Service b38f0b
nsb_default_paths
Packit Service b38f0b
Packit Service b38f0b
if [ $NSB_CLEAN -eq 1 ]; then
Packit Service b38f0b
   if [ $NSB_SKIP_CONFIG -eq 1 ]; then
Packit Service b38f0b
      echo "A clean build also requires configuration (-d and -c"
Packit Service b38f0b
      echo "cannot both be specified)."
Packit Service b38f0b
      usage
Packit Service b38f0b
   fi
Packit Service b38f0b
fi
Packit Service b38f0b
Packit Service b38f0b
Packit Service b38f0b
########################################################################
Packit Service b38f0b
########################################################################
Packit Service b38f0b
nsb_prompt "press enter to build $NSB_SRC_DIR in $NSB_BUILD_DIR, and install in $NSB_INSTALL_DIR"
Packit Service b38f0b
nsb_build $NSB_VERSION $NSB_SRC_DIR $NSB_BUILD_DIR $NSB_INSTALL_DIR $NSB_CONFIG_ALL
Packit Service b38f0b
rc=$?
Packit Service b38f0b
if [ "x$NSB_SCP_HOST" != "x" ]; then
Packit Service b38f0b
   nsb_upload $NSB_BUILD_DIR $NSB_SCP_HOST:$NSB_SCP_DEST/$NSB_VERSION/$NSB_HOST/
Packit Service b38f0b
fi
Packit Service b38f0b
if [ $rc -eq 0 ] && [ $REMOVE_SUCCESS -eq 1 ];then
Packit Service b38f0b
    nsb_prompt "press enter to remove $NSB_BUILD_DIR"
Packit Service b38f0b
    if [ "x$NSB_BUILD_DIR" = "/" ]; then
Packit Service b38f0b
       nsb_abort "Not running rm -fR from /"
Packit Service b38f0b
    else
Packit Service b38f0b
       /bin/rm -fR $NSB_BUILD_DIR > /dev/null 2>&1
Packit Service b38f0b
    fi
Packit Service b38f0b
fi
Packit Service b38f0b
Packit Service b38f0b
nsb_prompt "press enter to exit with rc $RC"
Packit Service b38f0b
exit $rc