build script now requires radio type argument, correctly builds openbts using desired transceiver, added new option to only build single components, moved builds to subdirectory
This commit is contained in:
parent
1369b1bf95
commit
85c25d0bb0
202
build.sh
202
build.sh
|
@ -19,6 +19,13 @@
|
||||||
|
|
||||||
source $(dirname $0)/common.source
|
source $(dirname $0)/common.source
|
||||||
|
|
||||||
|
usage () {
|
||||||
|
echo "# usage: ./build.sh.sh radio-type (component-name)"
|
||||||
|
echo "# valid radio types are: SDR1, USRP1, B100, B110, N200, N210"
|
||||||
|
echo "# (optional) valid component names are: libcoredumper, liba53, subscriberRegistry, smqueue, openbts, asterisk, asterisk-config, system-config"
|
||||||
|
exit 1
|
||||||
|
}
|
||||||
|
|
||||||
installIfMissing () {
|
installIfMissing () {
|
||||||
dpkg -s $@ > /dev/null
|
dpkg -s $@ > /dev/null
|
||||||
if [ $? -ne 0 ]; then
|
if [ $? -ne 0 ]; then
|
||||||
|
@ -27,6 +34,45 @@ installIfMissing () {
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
|
RADIO=$1
|
||||||
|
MANUFACTURER=""
|
||||||
|
echo "# checking for a supported radio type"
|
||||||
|
if [ -z "$RADIO" ]; then
|
||||||
|
echo "# - ERROR : radio type must be specified"
|
||||||
|
usage
|
||||||
|
elif [ "$RADIO" == "SDR1" ] || [ "$RADIO" == "RAD1" ]; then
|
||||||
|
RADIO="SDR1"
|
||||||
|
MANUFACTURER="Range"
|
||||||
|
EXTRA_CONFIGURE_FLAGS=""
|
||||||
|
elif [ "$RADIO" == "USRP1" ]; then
|
||||||
|
MANUFACTURER="Ettus"
|
||||||
|
EXTRA_CONFIGURE_FLAGS="--with-usrp1"
|
||||||
|
elif [ "$RADIO" == "B100" ] || [ "$RADIO" == "B110" ] || [ "$RADIO" == "N200" ] || [ "$RADIO" == "N210" ]; then
|
||||||
|
MANUFACTURER="Ettus"
|
||||||
|
EXTRA_CONFIGURE_FLAGS="--with-uhd"
|
||||||
|
fi
|
||||||
|
export EXTRA_CONFIGURE_FLAGS
|
||||||
|
|
||||||
|
if [ -z "$MANUFACTURER" ]; then
|
||||||
|
echo "# - ERROR : invalid radio target ($RADIO)"
|
||||||
|
usage
|
||||||
|
else
|
||||||
|
echo "# - found"
|
||||||
|
fi
|
||||||
|
|
||||||
|
COMPONENT="all"
|
||||||
|
if [ ! -z "$2" ]; then
|
||||||
|
COMPONENT="$2"
|
||||||
|
echo "# single component specified"
|
||||||
|
if [ "$COMPONENT" == "libcoredumper" ] || [ "$COMPONENT" == "liba53" ]; then
|
||||||
|
echo "# - found, building and installing $COMPONENT"
|
||||||
|
elif [ "$COMPONENT" == "subscriberRegistry" ] || [ "$COMPONENT" == "smqueue" ] || [ "$COMPONENT" == "openbts" ] || [ "$COMPONENT" == "asterisk" ] || [ "$COMPONENT" == "asterisk-config" ] || [ "$COMPONENT" == "system-config" ]; then
|
||||||
|
echo "# - found, building $COMPONENT"
|
||||||
|
else
|
||||||
|
echo "# - ERROR : invalid component ($COMPONENT)"
|
||||||
|
usage
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
echo "# checking for a compatible build host"
|
echo "# checking for a compatible build host"
|
||||||
if hash lsb_release 2>/dev/null; then
|
if hash lsb_release 2>/dev/null; then
|
||||||
|
@ -61,6 +107,20 @@ then
|
||||||
echo
|
echo
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
if [ "$MANUFACTURER" == "Ettus" ]; then
|
||||||
|
if ! stat -t /etc/apt/sources.list.d/*ettus* >/dev/null 2>&1
|
||||||
|
then
|
||||||
|
echo "# adding ettus repository"
|
||||||
|
sudo bash -c 'echo "deb http://files.ettus.com/binaries/uhd_stable/repo/uhd/ubuntu/`lsb_release -cs` `lsb_release -cs` main" > /etc/apt/sources.list.d/ettus.list'
|
||||||
|
echo "# - done"
|
||||||
|
echo
|
||||||
|
echo "# updating repositories"
|
||||||
|
sudo apt-get update
|
||||||
|
echo "# - done"
|
||||||
|
echo
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
echo "# checking build dependencies"
|
echo "# checking build dependencies"
|
||||||
installIfMissing autoconf
|
installIfMissing autoconf
|
||||||
installIfMissing automake
|
installIfMissing automake
|
||||||
|
@ -91,76 +151,96 @@ installIfMissing libsqliteodbc
|
||||||
installIfMissing libzmq3-dev
|
installIfMissing libzmq3-dev
|
||||||
installIfMissing libzmq3
|
installIfMissing libzmq3
|
||||||
installIfMissing python-zmq
|
installIfMissing python-zmq
|
||||||
|
if [ "$MANUFACTURER" == "Ettus" ]; then
|
||||||
|
#sudo apt-get install -t `lsb_release -cs` uhd
|
||||||
|
installIfMissing uhd
|
||||||
|
fi
|
||||||
echo "# - done"
|
echo "# - done"
|
||||||
echo
|
echo
|
||||||
|
|
||||||
BUILDNAME="BUILD-`date +"%Y-%m-%d--%H-%M-%S"`"
|
BUILDNAME="BUILDS/`date +"%Y-%m-%d--%H-%M-%S"`"
|
||||||
echo "# make a home for this build"
|
echo "# make a home for this build"
|
||||||
sayAndDo mkdir $BUILDNAME
|
sayAndDo mkdir -p $BUILDNAME
|
||||||
|
|
||||||
echo "# libcoredumper - building Debian package and installing as dependency"
|
if [ "$COMPONENT" == "all" ] || [ "$COMPONENT" == "libcoredumper" ]; then
|
||||||
sayAndDo cd libcoredumper
|
echo "# libcoredumper - building Debian package and installing as dependency"
|
||||||
sayAndDo ./build.sh
|
sayAndDo cd libcoredumper
|
||||||
sayAndDo mv libcoredumper* ../$BUILDNAME
|
sayAndDo ./build.sh
|
||||||
sayAndDo cd ..
|
sayAndDo mv libcoredumper* ../$BUILDNAME
|
||||||
sayAndDo sudo dpkg -i $BUILDNAME/libcoredumper*.deb
|
sayAndDo cd ..
|
||||||
echo "# - done"
|
sayAndDo sudo dpkg -i $BUILDNAME/libcoredumper*.deb
|
||||||
echo
|
echo "# - done"
|
||||||
|
echo
|
||||||
|
fi
|
||||||
|
|
||||||
echo "# liba53 - building Debian and installing as dependency"
|
if [ "$COMPONENT" == "all" ] || [ "$COMPONENT" == "liba53" ]; then
|
||||||
sayAndDo cd liba53
|
echo "# liba53 - building Debian and installing as dependency"
|
||||||
sayAndDo dpkg-buildpackage -us -uc
|
sayAndDo cd liba53
|
||||||
sayAndDo cd ..
|
sayAndDo dpkg-buildpackage -us -uc
|
||||||
sayAndDo mv liba53_* $BUILDNAME
|
sayAndDo cd ..
|
||||||
sayAndDo sudo dpkg -i $BUILDNAME/liba53_*.deb
|
sayAndDo mv liba53_* $BUILDNAME
|
||||||
echo "# - done"
|
sayAndDo sudo dpkg -i $BUILDNAME/liba53_*.deb
|
||||||
echo
|
echo "# - done"
|
||||||
|
echo
|
||||||
|
fi
|
||||||
|
|
||||||
echo "# subscriberRegistry - building"
|
if [ "$COMPONENT" == "all" ] || [ "$COMPONENT" == "subscriberRegistry" ]; then
|
||||||
sayAndDo cd subscriberRegistry
|
echo "# subscriberRegistry - building Debian package"
|
||||||
sayAndDo dpkg-buildpackage -us -uc
|
sayAndDo cd subscriberRegistry
|
||||||
sayAndDo cd ..
|
sayAndDo dpkg-buildpackage -us -uc
|
||||||
sayAndDo mv sipauthserve_* $BUILDNAME
|
sayAndDo cd ..
|
||||||
echo "# - done"
|
sayAndDo mv sipauthserve_* $BUILDNAME
|
||||||
echo
|
echo "# - done"
|
||||||
|
echo
|
||||||
|
fi
|
||||||
|
|
||||||
echo "# smqueue - building Debian package"
|
if [ "$COMPONENT" == "all" ] || [ "$COMPONENT" == "smqueue" ]; then
|
||||||
sayAndDo cd smqueue
|
echo "# smqueue - building Debian package"
|
||||||
sayAndDo dpkg-buildpackage -us -uc
|
sayAndDo cd smqueue
|
||||||
sayAndDo cd ..
|
sayAndDo dpkg-buildpackage -us -uc
|
||||||
sayAndDo mv smqueue_* $BUILDNAME
|
sayAndDo cd ..
|
||||||
echo "# - done"
|
sayAndDo mv smqueue_* $BUILDNAME
|
||||||
echo
|
echo "# - done"
|
||||||
|
echo
|
||||||
|
fi
|
||||||
|
|
||||||
echo "# openbts - building Debian package"
|
if [ "$COMPONENT" == "all" ] || [ "$COMPONENT" == "openbts" ]; then
|
||||||
sayAndDo cd openbts
|
echo "# openbts - building Debian package"
|
||||||
sayAndDo dpkg-buildpackage -us -uc
|
sayAndDo cd openbts
|
||||||
sayAndDo cd ..
|
sayAndDo dpkg-buildpackage -us -uc
|
||||||
sayAndDo mv openbts_* $BUILDNAME
|
sayAndDo cd ..
|
||||||
echo "# - done"
|
sayAndDo mv openbts_* $BUILDNAME
|
||||||
echo
|
echo "# - done"
|
||||||
|
echo
|
||||||
|
fi
|
||||||
|
|
||||||
echo "# asterisk - building Debian package"
|
if [ "$COMPONENT" == "all" ] || [ "$COMPONENT" == "asterisk" ]; then
|
||||||
sayAndDo cd asterisk
|
echo "# asterisk - building Debian package"
|
||||||
rm -rf range-asterisk* asterisk-*
|
sayAndDo cd asterisk
|
||||||
sayAndDo ./build.sh
|
rm -rf range-asterisk* asterisk-*
|
||||||
sayAndDo mv range-asterisk_* ../$BUILDNAME
|
sayAndDo ./build.sh
|
||||||
sayAndDo cd ..
|
sayAndDo mv range-asterisk_* ../$BUILDNAME
|
||||||
echo "# - done"
|
sayAndDo cd ..
|
||||||
echo
|
echo "# - done"
|
||||||
|
echo
|
||||||
|
fi
|
||||||
|
|
||||||
echo "# asterisk-config - building Debian package"
|
if [ "$COMPONENT" == "all" ] || [ "$COMPONENT" == "asterisk-config" ]; then
|
||||||
sayAndDo cd asterisk-config
|
echo "# asterisk-config - building Debian package"
|
||||||
sayAndDo dpkg-buildpackage -us -uc
|
sayAndDo cd asterisk-config
|
||||||
sayAndDo cd ..
|
sayAndDo dpkg-buildpackage -us -uc
|
||||||
sayAndDo mv range-asterisk-config_* $BUILDNAME
|
sayAndDo cd ..
|
||||||
echo "# - done"
|
sayAndDo mv range-asterisk-config_* $BUILDNAME
|
||||||
echo
|
echo "# - done"
|
||||||
|
echo
|
||||||
|
fi
|
||||||
|
|
||||||
echo "# system-config - building Debian package"
|
if [ "$COMPONENT" == "all" ] || [ "$COMPONENT" == "system-config" ]; then
|
||||||
sayAndDo cd system-config
|
echo "# system-config - building Debian package"
|
||||||
sayAndDo dpkg-buildpackage -us -uc
|
sayAndDo cd system-config
|
||||||
sayAndDo cd ..
|
sayAndDo dpkg-buildpackage -us -uc
|
||||||
sayAndDo mv range-configs_* $BUILDNAME
|
sayAndDo cd ..
|
||||||
echo "# - done"
|
sayAndDo mv range-configs_* $BUILDNAME
|
||||||
echo
|
echo "# - done"
|
||||||
|
echo
|
||||||
|
fi
|
||||||
|
|
Loading…
Reference in New Issue