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 asterisk
libsqliteodbc libsqliteodbc
system-config 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. 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 #!/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 # 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 # it under the terms of the GNU Affero General Public License as published by
@@ -19,22 +19,72 @@
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, B200, B210, 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
echo "# - missing $@, installing dependency" echo "# - missing $@, installing dependency"
sudo apt-get install $@ -y sudo apt-get install $@ -y
if [ $? -ne 0 ]; then
echo "# - ERROR : $@ package was unable to be installed"
exit 1
fi
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" echo "# checking for a compatible build host"
if hash lsb_release 2>/dev/null; then if hash lsb_release 2>/dev/null; then
ubuntu=`lsb_release -r -s` ubuntu=`lsb_release -r -s`
if [ $ubuntu != "12.04" ]; then if [ $ubuntu != "16.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." 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 else
echo "# - fully supported host detected: Ubuntu 12.04" echo "# - fully supported host detected: Ubuntu 16.04"
fi fi
else else
echo "# - ERROR : Sorry, dev-tools currently only supports Ubuntu as the host OS. Please open an issue for your desired host." 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 fi
echo "#" echo "#"
echo "# adding additional repo tools"
installIfMissing software-properties-common
installIfMissing python-software-properties
echo "# - done"
echo
echo "# checking build dependencies" echo "# checking build dependencies"
installIfMissing autoconf installIfMissing autoconf
installIfMissing automake installIfMissing automake
@@ -53,7 +109,7 @@ installIfMissing libsqlite3-dev
installIfMissing libusb-1.0-0 installIfMissing libusb-1.0-0
installIfMissing libusb-1.0-0-dev installIfMissing libusb-1.0-0-dev
installIfMissing libortp-dev installIfMissing libortp-dev
installIfMissing libortp8 installIfMissing libortp9
installIfMissing libosip2-dev installIfMissing libosip2-dev
installIfMissing libreadline-dev installIfMissing libreadline-dev
installIfMissing libncurses5 installIfMissing libncurses5
@@ -66,85 +122,107 @@ installIfMissing libsqlite0-dev
installIfMissing unixodbc installIfMissing unixodbc
installIfMissing unixodbc-dev installIfMissing unixodbc-dev
installIfMissing libssl-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 "# - 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 "# libsqliteodbc - building Debian package and installing as dependency" if [ "$COMPONENT" == "all" ] || [ "$COMPONENT" == "libcoredumper" ]; then
sayAndDo cd libsqliteodbc echo "# libcoredumper - building Debian package and installing as dependency"
sayAndDo ./build.sh sayAndDo cd libcoredumper
sayAndDo mv range-libsqliteodbc_* ../$BUILDNAME sayAndDo ./build.sh
sayAndDo cd .. sayAndDo mv libcoredumper* ../$BUILDNAME
sayAndDo sudo dpkg -i $BUILDNAME/range-libsqliteodbc_*.deb sayAndDo cd ..
echo "# - done" sayAndDo sudo dpkg -i $BUILDNAME/libcoredumper*.deb
echo echo "# - done"
echo
fi
echo "# libzmq - building Debian package and installing as dependency" if [ "$COMPONENT" == "all" ] || [ "$COMPONENT" == "liba53" ]; then
sayAndDo cd libzmq echo "# liba53 - building Debian package and installing as dependency"
sayAndDo ./build.sh sayAndDo cd liba53
sayAndDo mv range-libzmq_* ../$BUILDNAME sayAndDo dpkg-buildpackage -us -uc
sayAndDo cd .. sayAndDo cd ..
sayAndDo sudo dpkg -i $BUILDNAME/range-libsqliteodbc_*.deb sayAndDo mv liba53_* $BUILDNAME
echo "# - done" sayAndDo sudo dpkg -i $BUILDNAME/liba53_*.deb
echo echo "# - done"
echo
fi
echo "# liba53 - building Debian and installing as dependency" if [ "$COMPONENT" == "all" ] || [ "$COMPONENT" == "subscriberRegistry" ]; then
sayAndDo cd liba53 echo "# subscriberRegistry - building Debian package"
sayAndDo dpkg-buildpackage sayAndDo cd subscriberRegistry
sayAndDo cd .. sayAndDo dpkg-buildpackage -us -uc
sayAndDo mv liba53_* $BUILDNAME sayAndDo cd ..
sayAndDo sudo dpkg -i $BUILDNAME/liba53_*.deb sayAndDo mv sipauthserve_* $BUILDNAME
echo "# - done" echo "# - done"
echo echo
fi
echo "# subscriberRegistry - building" if [ "$COMPONENT" == "all" ] || [ "$COMPONENT" == "smqueue" ]; then
sayAndDo cd subscriberRegistry echo "# smqueue - building Debian package"
sayAndDo dpkg-buildpackage sayAndDo cd smqueue
sayAndDo cd .. sayAndDo dpkg-buildpackage -us -uc
sayAndDo mv sipauthserve_* $BUILDNAME sayAndDo cd ..
echo "# - done" sayAndDo mv smqueue_* $BUILDNAME
echo echo "# - done"
echo
fi
echo "# smqueue - building Debian package" if [ "$COMPONENT" == "all" ] || [ "$COMPONENT" == "openbts" ]; then
sayAndDo cd smqueue echo "# openbts - building Debian package"
sayAndDo dpkg-buildpackage sayAndDo cd openbts
sayAndDo cd .. sayAndDo dpkg-buildpackage -us -uc
sayAndDo mv smqueue_* $BUILDNAME sayAndDo cd ..
echo "# - done" sayAndDo mv openbts_* $BUILDNAME
echo echo "# - done"
echo
fi
echo "# openbts - building Debian package" if [ "$COMPONENT" == "all" ] || [ "$COMPONENT" == "asterisk" ]; then
sayAndDo cd openbts echo "# asterisk - building Debian package"
sayAndDo dpkg-buildpackage sayAndDo cd asterisk
sayAndDo cd .. rm -rf range-asterisk* asterisk-*
sayAndDo mv openbts_* $BUILDNAME sayAndDo ./build.sh
echo "# - done" sayAndDo mv range-asterisk_* ../$BUILDNAME
echo sayAndDo cd ..
echo "# - done"
echo
fi
echo "# asterisk - building Debian package" if [ "$COMPONENT" == "all" ] || [ "$COMPONENT" == "asterisk-config" ]; then
sayAndDo cd asterisk echo "# asterisk-config - building Debian package"
rm -rf range-asterisk* asterisk-* sayAndDo cd asterisk-config
sayAndDo ./build.sh sayAndDo dpkg-buildpackage -us -uc
sayAndDo mv range-asterisk_* ../$BUILDNAME sayAndDo cd ..
sayAndDo cd .. sayAndDo mv range-asterisk-config_* $BUILDNAME
echo "# - done" echo "# - done"
echo echo
fi
echo "# asterisk-config - building Debian package" if [ "$COMPONENT" == "all" ] || [ "$COMPONENT" == "system-config" ]; then
sayAndDo cd asterisk-config echo "# system-config - building Debian package"
sayAndDo dpkg-buildpackage sayAndDo cd system-config
sayAndDo cd .. sayAndDo dpkg-buildpackage -us -uc
sayAndDo mv range-asterisk-config_* $BUILDNAME sayAndDo cd ..
echo "# - done" sayAndDo mv range-configs_* $BUILDNAME
echo echo "# - done"
echo
echo "# system-config - building Debian package" fi
sayAndDo cd system-config
sayAndDo dpkg-buildpackage
sayAndDo cd ..
sayAndDo mv range-configs_* $BUILDNAME
echo "# - done"
echo
+4 -4
View File
@@ -1,6 +1,6 @@
#!/bin/bash #!/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 # 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 # it under the terms of the GNU Affero General Public License as published by
@@ -23,16 +23,16 @@ for component in $REPOS
do do
if [ ! -d $component ]; then if [ ! -d $component ]; then
echo "# cloning $component" echo "# cloning $component"
sayAndDo git clone --recursive git@github.com:RangeNetworks/$component.git sayAndDo git clone https://github.com/RangeNetworks/$component.git
cd $component cd $component
for remote in `git branch -r | grep -v master ` for remote in `git branch -r | grep -v master `
do do
sayAndDo git checkout --track $remote sayAndDo git checkout --track $remote
done done
sayAndDo git checkout master sayAndDo git checkout master
sayAndDo git submodule init sayAndDo git submodule update --init --recursive --remote
sayAndDo git submodule update --init --recursive
cd .. cd ..
echo echo
fi fi
done 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 # 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 # it under the terms of the GNU Affero General Public License as published by
@@ -30,13 +30,10 @@ REPOS="\
asterisk-config \ asterisk-config \
CommonLibs \ CommonLibs \
liba53 \ liba53 \
libsqliteodbc \ libcoredumper \
libzmq \
NodeManager \ NodeManager \
openbts \ openbts \
RRLP \
smqueue \ smqueue \
sqlite3 \
subscriberRegistry \ subscriberRegistry \
system-config \ system-config \
" "
+1 -1
View File
@@ -1,6 +1,6 @@
#!/bin/bash #!/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 # 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 # it under the terms of the GNU Affero General Public License as published by
+1 -1
View File
@@ -1,6 +1,6 @@
#!/bin/bash #!/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 # 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 # it under the terms of the GNU Affero General Public License as published by
+1 -1
View File
@@ -1,6 +1,6 @@
#!/bin/bash #!/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 # 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 # it under the terms of the GNU Affero General Public License as published by
+3 -8
View File
@@ -1,6 +1,6 @@
#!/bin/bash #!/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 # 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 # 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 origin :refs/tags/$OLDNAME
sayAndDo git push --tags sayAndDo git push --tags
elif [ $TYPE == "branch" ]; then elif [ $TYPE == "branch" ]; then
BOOKMARK=`git rev-parse --abbrev-ref HEAD`
echo "# - saving bookmark for current workspace branch..."
echo "# - renaming..." echo "# - renaming..."
sayAndDo git branch -m $OLDNAME $NEWNAME sayAndDo git branch -m $OLDNAME $NEWNAME
echo "# - pushing to origin..." echo "# - pushing to origin..."
sayAndDo git push --set-upstream origin $NEWNAME
sayAndDo git push origin --delete $OLDNAME 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 fi
cd ../
else else
echo "# - better safe than sorry, cancelling..." echo "# - better safe than sorry, cancelling..."
fi fi
+1 -1
View File
@@ -1,6 +1,6 @@
#!/bin/bash #!/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 # 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 # it under the terms of the GNU Affero General Public License as published by
+5 -4
View File
@@ -1,6 +1,6 @@
#!/bin/bash #!/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 # 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 # it under the terms of the GNU Affero General Public License as published by
@@ -34,9 +34,10 @@ do
echo "########################################################################" echo "########################################################################"
echo "# $component" echo "# $component"
cd $component cd $component
sayAndDo git checkout $1 git checkout $1
sayAndDo git submodule update --recursive git submodule init
git submodule update --recursive
cd .. cd ..
echo echo
fi fi
done done