and added files
[bcm963xx.git] / userapps / opensource / net-snmp / dist / nsb-package
1 #!/bin/bash
2 #
3 # $Id: nsb-package,v 1.7.2.1 2003/03/05 20:16:52 rstory Exp $
4 # Author: Robert Story <rstory@freesnmp.com>
5 #
6 ########################################################################
7 ########################################################################
8
9 usage()
10 {
11    echo "Usage: $0  [-c] [-d] [-P] [-s SRCD] [-b BUILDD] [-i INSTALLD] VERSION"
12    echo ""
13    echo " VERSION    : relase number (eg 5.0.3)"
14    echo " -s SRCDIR  : soure directory [$HOME/src/net-snmp-VERSION]"
15    echo " -b BUILDD  : build directory [$HOME/build/]"
16    echo "              NOTE-platform will be appended to build directory"
17    echo " -i INSTALLD: install directory [$HOME/build/\$PLATFORM/usr/local]"
18    echo ""
19    echo " -x : configure extra features for pre-release testing"
20    echo " -c : skip configure"
21    echo " -d : dirty build (don't make distclean)"
22    echo " -m : skip 'make all'"
23    echo " -P : pause at prompts in between stages"
24    echo " -r : remove build dir (rm -fR) before build"
25    echo " -R : remove build dir (rm -fR) after successful build"
26    echo " -t : skip 'make test'"
27    exit 1
28 }
29
30 #trap exit SIGINT
31
32 #set -x
33
34 #
35 # find nsb-platform based on te path to this script
36 #
37 EXE_PATH=${0%nsb-package}
38 EXE_PATH=${EXE_PATH%/}
39 if [ -f $EXE_PATH/nsb-functions ];then
40    source $EXE_PATH/nsb-functions
41 elif [ -f $HOME/bin/nsb-functions ]; then
42    source $HOME/bin/nsb-functions
43 elif [ -f nsb-functions ];then
44    source nsb-functions
45 else
46    echo "Cannot find nsb-functions in $EXE_PATH, $HOME/bin or $PWD"
47    exit 1
48 fi
49
50
51 ########################################################################
52 ########################################################################
53
54 REMOVE_SUCCESS=0
55
56 #      x)  x=$OPTARG ;;
57 while getopts b:cdi:mPrRs:tx opt
58 do
59     case "$opt" in
60       b)  BUILDD=$OPTARG ;;
61       c)  NSB_SKIP_CONFIG=1 ;;
62       d)  NSB_CLEAN=0 ;;
63       i)  INSTALLD=$OPTARG ;;
64       m)  NSB_SKIP_BUILD=1 ;;
65       P)  NSB_PROMPT=1 ;;
66       r)  NSB_CLEAN=2 ;;
67       R)  REMOVE_SUCCESS=1 ;;
68       s)  SRCD=$OPTARG ;;
69       t)  NSB_SKIP_TEST=1 ;;
70       x)  NSB_CONFIG_ALL=1;;
71       \?)# unknown flag
72         usage;;
73     esac
74 done
75 shift `expr $OPTIND - 1`
76
77 if [ $# -ne 1 ]; then
78    echo "expecting 1 argument, got $# ($@)"
79    usage
80 fi
81
82 if [ $NSB_CLEAN -eq 1 ]; then
83    if [ $NSB_SKIP_CONFIG -eq 1 ]; then
84       echo "A clean build also requires configuration (-d and -c"
85       echo "cannot both be specified)."
86       usage
87    fi
88 fi
89
90 VERSION=$1
91 if [ -z "$SRCD" ]; then
92    SRCD=$HOME/src/net-snmp-$VERSION
93 fi
94 if [ -z "$BUILDD" ]; then
95    BUILDD=$HOME/build
96 fi
97 if [ $SRCD != $BUILDD ];then
98     BUILDD=$BUILDD/$VERSION-`nsb-sysname`
99 fi
100 if [ -z "$INSTALLD" ]; then
101    INSTALLD=$BUILDD/usr/local
102 fi
103
104
105 ########################################################################
106 ########################################################################
107 nsb-prompt "press enter to build $SRCD in $BUILDD, and install in $INSTALLD"
108 nsb-build $VERSION $SRCD $BUILDD $INSTALLD $NSB_CONFIG_ALL
109 rc=$?
110 if [ $rc -eq 0 ] && [ $REMOVE_SUCCESS -eq 1 ];then
111     nsb-prompt "press enter to remove $BUILDD"
112     /bin/rm -fR $BUILDD > /dev/null 2>&1
113 fi
114
115 exit $rc