27 Commits
Author SHA1 Message Date
Michael Iedema 480f65d10a update copyright year 2021-02-10 16:49:44 +01:00
Michael Iedema c61d139da5 fix messages to indicate only 16.04 is officially supported 2016-10-18 11:13:27 +02:00
Michael Iedema d4f2537697 no longer checkout branch heads in submodules, use absolute submodule reference 2016-07-01 03:44:20 -07:00
Michael Iedema 8fe66ac059 all components should be good to go for ubuntu 16.04 2016-05-26 13:22:10 -07:00
Michael Iedema 6355e387bb use https instead of ssh auth on submodules 2015-01-28 12:11:30 +01:00
Michael Iedema 11465a21c4 also initialize submodules so sqlite3 is pulled in when going back to 4.x 2014-09-17 21:41:51 +02:00
Michael Iedema c6de28ac12 added missing B2xx series 2014-09-05 17:30:05 +02:00
Michael Iedema 85c25d0bb0 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 2014-09-03 02:50:38 +02:00
Olga Bobrova 1369b1bf95 simplify branch renaming in rename.sh 2014-07-31 14:18:19 -07:00
Olga Bobrova f7b4a74c4c remove references to local libsqliteodbc and sqlite3 libraries in favor of standard libs 2014-07-24 13:39:42 -07:00
Michael Iedema c13c1bd5b7 build master (5.0 preview) correctly taking into account new deps 2014-07-17 02:57:06 +02:00
Michael Iedema 9be08c9269 - fix copy/paste error which was installing libsqliteodbc as a dep instead of the freshly build libzmq
- hat tip to @closehaulcom for pointing out the fix
2014-04-15 15:21:02 +02:00
Michael Iedema 577593880e - add missing libsrtp dependencies for building asterisk 2014-04-07 15:56:56 +02:00
Michael Iedema dbe321960a - disable package signing by default 2014-04-03 12:00:56 +02:00
Michael Iedema ee41f82d8d - make switchto.sh less picky when dealing with repos which do not contain the specified tag or branch
- switchto.sh now correctly checks out the submodules to the branch they're tracking a la clone.sh
2014-04-01 20:44:47 +02:00
Michael Iedema ba92616e97 Merge branch 'master' of https://github.com/RangeNetworks/dev-tools 2014-03-31 14:47:18 +02:00
Michael Iedema 12d98f7539 - add libcoredumper to support newest changes in master 2014-03-31 14:38:42 +02:00
Michael Iedema 00b4df9e66 Update README.md 2014-03-31 05:37:22 -04:00
Michael Iedema 89c9f17ce5 Update README.md 2014-03-28 08:24:07 -04:00
Michael Iedema bc0042a39c - further fixups to deal with nested submodules correctly 2014-03-28 11:34:20 +01:00
Michael Iedema cbad36a30b Update README.md 2014-03-28 06:25:19 -04:00
Michael Iedema c4f10a3635 Update README.md 2014-03-26 15:44:39 -04:00
Michael Iedema 84d6aa46ad Update README.md 2014-03-26 14:44:12 -04:00
Michael Iedema 44bc3e22dd Update README.md 2014-03-26 14:21:27 -04:00
Michael Iedema 4aaab1cfe4 Update README.md 2014-03-26 14:04:44 -04:00
Michael Iedema 586c6df826 Update README.md 2014-03-26 08:39:45 -04:00
Michael Iedema f41b06ed57 - ignore RRLP for now since it does not have 4.0 and v4.0.0 2014-03-26 13:10:24 +01:00
11 changed files with 203 additions and 102 deletions
+1
View File
@@ -16,3 +16,4 @@ asterisk-config
asterisk
libsqliteodbc
system-config
libcoredumper
+31 -2
View File
@@ -1,6 +1,35 @@
Development Environment Tools
Development Environment
=========
A collection of tools to make working with the numerous software components as painless as possible. Why wiki when you can script?!
A collection of tools to make working with the numerous software components as painless as possible.
If there's a task that annoys you when working with the code, open an issue to suggest an improvement. Or, better, send a pull request to get your automation included in the project.
### ➟ [Get Started Here](https://github.com/RangeNetworks/dev/wiki)
#### Weather Report
| Component | master status |
|---------------|:-------------:|
| asterisk | [![Build Status](https://travis-ci.org/RangeNetworks/asterisk.svg?branch=master)](https://travis-ci.org/RangeNetworks/asterisk) |
| asterisk-config | [![Build Status](https://travis-ci.org/RangeNetworks/asterisk-config.svg?branch=master)](https://travis-ci.org/RangeNetworks/asterisk-config) |
| liba53 | [![Build Status](https://travis-ci.org/RangeNetworks/liba53.svg?branch=master)](https://travis-ci.org/RangeNetworks/liba53) |
| libcoredumper | [![Build Status](https://travis-ci.org/RangeNetworks/libcoredumper.svg?branch=master)](https://travis-ci.org/RangeNetworks/libcoredumper) |
| libsqliteodbc | [![Build Status](https://travis-ci.org/RangeNetworks/libsqliteodbc.svg?branch=master)](https://travis-ci.org/RangeNetworks/libsqliteodbc) |
| libzmq | [![Build Status](https://travis-ci.org/RangeNetworks/libzmq.svg?branch=master)](https://travis-ci.org/RangeNetworks/libzmq) |
| openbts | [![Build Status](https://travis-ci.org/RangeNetworks/openbts.svg?branch=master)](https://travis-ci.org/RangeNetworks/openbts) |
| smqueue | [![Build Status](https://travis-ci.org/RangeNetworks/smqueue.svg?branch=master)](https://travis-ci.org/RangeNetworks/smqueue) |
| subscriberRegistry | [![Build Status](https://travis-ci.org/RangeNetworks/subscriberRegistry.svg?branch=master)](https://travis-ci.org/RangeNetworks/subscriberRegistry) |
| system-config | [![Build Status](https://travis-ci.org/RangeNetworks/system-config.svg?branch=master)](https://travis-ci.org/RangeNetworks/system-config) |
#### Misc. Notes
- relink submodule branch tracking
```
$ vi .gitmodules
(change submodule to track different branch X)
$ git submodule update --init --remote
$ cd theSubmoduleDir
$ git checkout X
```
+153 -75
View File
@@ -1,6 +1,6 @@
#!/bin/bash
#
# Copyright 2014 Range Networks, Inc.
# Copyright 2014-2021 Range Networks, Inc.
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as published by
@@ -19,22 +19,72 @@
source $(dirname $0)/common.source
usage () {
echo "# usage: ./build.sh.sh radio-type (component-name)"
echo "# valid radio types are: SDR1, USRP1, B100, B110, B200, B210, N200, N210"
echo "# (optional) valid component names are: libcoredumper, liba53, subscriberRegistry, smqueue, openbts, asterisk, asterisk-config, system-config"
exit 1
}
installIfMissing () {
dpkg -s $@ > /dev/null
if [ $? -ne 0 ]; then
echo "# - missing $@, installing dependency"
sudo apt-get install $@ -y
if [ $? -ne 0 ]; then
echo "# - ERROR : $@ package was unable to be installed"
exit 1
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" == "B200" ] || [ "$RADIO" == "B210" ] || [ "$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"
if hash lsb_release 2>/dev/null; then
ubuntu=`lsb_release -r -s`
if [ $ubuntu != "12.04" ]; then
echo "# - WARNING : dev-tools is currently only tested on Ubuntu 12.04, YMMV. Please open an issue if you've used it successfully on another version of Ubuntu."
if [ $ubuntu != "16.04" ]; then
echo "# - WARNING : dev-tools is currently only tested on Ubuntu 16.04, YMMV. Please open an issue if you've used it successfully on another version of Ubuntu."
else
echo "# - fully supported host detected: Ubuntu 12.04"
echo "# - fully supported host detected: Ubuntu 16.04"
fi
else
echo "# - ERROR : Sorry, dev-tools currently only supports Ubuntu as the host OS. Please open an issue for your desired host."
@@ -43,6 +93,12 @@ else
fi
echo "#"
echo "# adding additional repo tools"
installIfMissing software-properties-common
installIfMissing python-software-properties
echo "# - done"
echo
echo "# checking build dependencies"
installIfMissing autoconf
installIfMissing automake
@@ -53,7 +109,7 @@ installIfMissing libsqlite3-dev
installIfMissing libusb-1.0-0
installIfMissing libusb-1.0-0-dev
installIfMissing libortp-dev
installIfMissing libortp8
installIfMissing libortp9
installIfMissing libosip2-dev
installIfMissing libreadline-dev
installIfMissing libncurses5
@@ -66,85 +122,107 @@ installIfMissing libsqlite0-dev
installIfMissing unixodbc
installIfMissing unixodbc-dev
installIfMissing libssl-dev
installIfMissing libsrtp0
installIfMissing libsrtp0-dev
installIfMissing libsqliteodbc
installIfMissing uuid-dev
installIfMissing libjansson-dev
installIfMissing libxml2-dev
# zmq
installIfMissing libzmq3-dev
installIfMissing libzmq5
installIfMissing python-zmq
if [ "$MANUFACTURER" == "Ettus" ]; then
installIfMissing libuhd-dev
installIfMissing libuhd003
installIfMissing uhd-host
fi
echo "# - done"
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"
sayAndDo mkdir $BUILDNAME
sayAndDo mkdir -p $BUILDNAME
echo "# libsqliteodbc - building Debian package and installing as dependency"
sayAndDo cd libsqliteodbc
sayAndDo ./build.sh
sayAndDo mv range-libsqliteodbc_* ../$BUILDNAME
sayAndDo cd ..
sayAndDo sudo dpkg -i $BUILDNAME/range-libsqliteodbc_*.deb
echo "# - done"
echo
if [ "$COMPONENT" == "all" ] || [ "$COMPONENT" == "libcoredumper" ]; then
echo "# libcoredumper - building Debian package and installing as dependency"
sayAndDo cd libcoredumper
sayAndDo ./build.sh
sayAndDo mv libcoredumper* ../$BUILDNAME
sayAndDo cd ..
sayAndDo sudo dpkg -i $BUILDNAME/libcoredumper*.deb
echo "# - done"
echo
fi
echo "# libzmq - building Debian package and installing as dependency"
sayAndDo cd libzmq
sayAndDo ./build.sh
sayAndDo mv range-libzmq_* ../$BUILDNAME
sayAndDo cd ..
sayAndDo sudo dpkg -i $BUILDNAME/range-libsqliteodbc_*.deb
echo "# - done"
echo
if [ "$COMPONENT" == "all" ] || [ "$COMPONENT" == "liba53" ]; then
echo "# liba53 - building Debian package and installing as dependency"
sayAndDo cd liba53
sayAndDo dpkg-buildpackage -us -uc
sayAndDo cd ..
sayAndDo mv liba53_* $BUILDNAME
sayAndDo sudo dpkg -i $BUILDNAME/liba53_*.deb
echo "# - done"
echo
fi
echo "# liba53 - building Debian and installing as dependency"
sayAndDo cd liba53
sayAndDo dpkg-buildpackage
sayAndDo cd ..
sayAndDo mv liba53_* $BUILDNAME
sayAndDo sudo dpkg -i $BUILDNAME/liba53_*.deb
echo "# - done"
echo
if [ "$COMPONENT" == "all" ] || [ "$COMPONENT" == "subscriberRegistry" ]; then
echo "# subscriberRegistry - building Debian package"
sayAndDo cd subscriberRegistry
sayAndDo dpkg-buildpackage -us -uc
sayAndDo cd ..
sayAndDo mv sipauthserve_* $BUILDNAME
echo "# - done"
echo
fi
echo "# subscriberRegistry - building"
sayAndDo cd subscriberRegistry
sayAndDo dpkg-buildpackage
sayAndDo cd ..
sayAndDo mv sipauthserve_* $BUILDNAME
echo "# - done"
echo
if [ "$COMPONENT" == "all" ] || [ "$COMPONENT" == "smqueue" ]; then
echo "# smqueue - building Debian package"
sayAndDo cd smqueue
sayAndDo dpkg-buildpackage -us -uc
sayAndDo cd ..
sayAndDo mv smqueue_* $BUILDNAME
echo "# - done"
echo
fi
echo "# smqueue - building Debian package"
sayAndDo cd smqueue
sayAndDo dpkg-buildpackage
sayAndDo cd ..
sayAndDo mv smqueue_* $BUILDNAME
echo "# - done"
echo
if [ "$COMPONENT" == "all" ] || [ "$COMPONENT" == "openbts" ]; then
echo "# openbts - building Debian package"
sayAndDo cd openbts
sayAndDo dpkg-buildpackage -us -uc
sayAndDo cd ..
sayAndDo mv openbts_* $BUILDNAME
echo "# - done"
echo
fi
echo "# openbts - building Debian package"
sayAndDo cd openbts
sayAndDo dpkg-buildpackage
sayAndDo cd ..
sayAndDo mv openbts_* $BUILDNAME
echo "# - done"
echo
if [ "$COMPONENT" == "all" ] || [ "$COMPONENT" == "asterisk" ]; then
echo "# asterisk - building Debian package"
sayAndDo cd asterisk
rm -rf range-asterisk* asterisk-*
sayAndDo ./build.sh
sayAndDo mv range-asterisk_* ../$BUILDNAME
sayAndDo cd ..
echo "# - done"
echo
fi
echo "# asterisk - building Debian package"
sayAndDo cd asterisk
rm -rf range-asterisk* asterisk-*
sayAndDo ./build.sh
sayAndDo mv range-asterisk_* ../$BUILDNAME
sayAndDo cd ..
echo "# - done"
echo
if [ "$COMPONENT" == "all" ] || [ "$COMPONENT" == "asterisk-config" ]; then
echo "# asterisk-config - building Debian package"
sayAndDo cd asterisk-config
sayAndDo dpkg-buildpackage -us -uc
sayAndDo cd ..
sayAndDo mv range-asterisk-config_* $BUILDNAME
echo "# - done"
echo
fi
echo "# asterisk-config - building Debian package"
sayAndDo cd asterisk-config
sayAndDo dpkg-buildpackage
sayAndDo cd ..
sayAndDo mv range-asterisk-config_* $BUILDNAME
echo "# - done"
echo
echo "# system-config - building Debian package"
sayAndDo cd system-config
sayAndDo dpkg-buildpackage
sayAndDo cd ..
sayAndDo mv range-configs_* $BUILDNAME
echo "# - done"
echo
if [ "$COMPONENT" == "all" ] || [ "$COMPONENT" == "system-config" ]; then
echo "# system-config - building Debian package"
sayAndDo cd system-config
sayAndDo dpkg-buildpackage -us -uc
sayAndDo cd ..
sayAndDo mv range-configs_* $BUILDNAME
echo "# - done"
echo
fi
+4 -4
View File
@@ -1,6 +1,6 @@
#!/bin/bash
#
# Copyright 2014 Range Networks, Inc.
# Copyright 2014-2021 Range Networks, Inc.
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as published by
@@ -23,16 +23,16 @@ for component in $REPOS
do
if [ ! -d $component ]; then
echo "# cloning $component"
sayAndDo git clone --recursive git@github.com:RangeNetworks/$component.git
sayAndDo git clone https://github.com/RangeNetworks/$component.git
cd $component
for remote in `git branch -r | grep -v master `
do
sayAndDo git checkout --track $remote
done
sayAndDo git checkout master
sayAndDo git submodule init
sayAndDo git submodule update --init --recursive
sayAndDo git submodule update --init --recursive --remote
cd ..
echo
fi
done
+2 -5
View File
@@ -1,5 +1,5 @@
#
# Copyright 2014 Range Networks, Inc.
# Copyright 2014-2021 Range Networks, Inc.
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as published by
@@ -30,13 +30,10 @@ REPOS="\
asterisk-config \
CommonLibs \
liba53 \
libsqliteodbc \
libzmq \
libcoredumper \
NodeManager \
openbts \
RRLP \
smqueue \
sqlite3 \
subscriberRegistry \
system-config \
"
+1 -1
View File
@@ -1,6 +1,6 @@
#!/bin/bash
#
# Copyright 2014 Range Networks, Inc.
# Copyright 2014-2021 Range Networks, Inc.
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as published by
+1 -1
View File
@@ -1,6 +1,6 @@
#!/bin/bash
#
# Copyright 2014 Range Networks, Inc.
# Copyright 2014-2021 Range Networks, Inc.
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as published by
+1 -1
View File
@@ -1,6 +1,6 @@
#!/bin/bash
#
# Copyright 2014 Range Networks, Inc.
# Copyright 2014-2021 Range Networks, Inc.
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as published by
+3 -8
View File
@@ -1,6 +1,6 @@
#!/bin/bash
#
# Copyright 2014 Range Networks, Inc.
# Copyright 2014-2021 Range Networks, Inc.
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as published by
@@ -78,18 +78,13 @@ if [ $ANSWER == "yes" ]; then
sayAndDo git push origin :refs/tags/$OLDNAME
sayAndDo git push --tags
elif [ $TYPE == "branch" ]; then
BOOKMARK=`git rev-parse --abbrev-ref HEAD`
echo "# - saving bookmark for current workspace branch..."
echo "# - renaming..."
sayAndDo git branch -m $OLDNAME $NEWNAME
echo "# - pushing to origin..."
sayAndDo git push --set-upstream origin $NEWNAME
sayAndDo git push origin --delete $OLDNAME
sayAndDo git push origin $NEWNAME
sayAndDo git branch -D $NEWNAME
sayAndDo git checkout -b $NEWNAME --track origin/$NEWNAME
echo "# - restoring workspace branch..."
sayAndDo git checkout $BOOKMARK
fi
cd ../
else
echo "# - better safe than sorry, cancelling..."
fi
+1 -1
View File
@@ -1,6 +1,6 @@
#!/bin/bash
#
# Copyright 2014 Range Networks, Inc.
# Copyright 2014-2021 Range Networks, Inc.
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as published by
+5 -4
View File
@@ -1,6 +1,6 @@
#!/bin/bash
#
# Copyright 2014 Range Networks, Inc.
# Copyright 2014-2021 Range Networks, Inc.
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as published by
@@ -34,9 +34,10 @@ do
echo "########################################################################"
echo "# $component"
cd $component
sayAndDo git checkout $1
sayAndDo git submodule update --recursive
git checkout $1
git submodule init
git submodule update --recursive
cd ..
echo
fi
done
done