Add a new option that avoids stopping the build with:
configure: error: source directory already configured; run "make distclean" there first
I run into this frequently, when e.g. running './configure; make release'
inside Osmocom repositories and then attempting to build them with
osmo-dev. It is annoying as it does not fail immediatelly, and I need to
manually go to the source directories where it failed, run 'make
distclean' and then attempt to build again. Then it may fail on another
directory with the same problem.
Check for config.status, as that is also what ./configure checks for
before printing the error.
Change-Id: Iac71333e8c5da8dee4e8f34e2af8db12d2c08021
Do not consider config.h inside the source tree as modified source file.
This file gets generated when running ./configure to build in-tree,
whereas osmo-dev always builds out-of-tree.
Having config.h inside proj_files causes problems with the next patch,
where conflicting in-tree builds will be automatically be cleaned with
"make distclean". For example:
* "make libosmocore" runs with a previously configured in-tree build
* proj_files contains config.h.
* Before attempting to build libosmocore out-of-tree, with the next
patch, "make distclean" gets executed.
* config.h is now removed
* .make.libosmocore.build target expects all proj_files to exist and
fails with:
make: *** No rule to make target '../src/libosmocore/config.h', needed by '.make.libosmocore.build'. Stop.
Change-Id: I10d970f2cadacb5071dcde975c76b15404038a3c
Rename 3G+2G.deps to all.deps and remove the parameter from
gen_makefile.py. Create new Makefile targets for the various use cases,
usually we build either 'cn-bsc' or 'usrp'. The next patch will add more
projects to all.deps.
This change brings the Makefile logic closer to how it is actually used,
one build directory that is building most Osmocom projects. New projects
can be added to all.deps on demand, but then we have it in the
repository and not just a local change that we add temporarily to the
3G+2G.deps file when we need to build a specific project.
Extend all.deps with projects needed by ttcn3.sh, so it doesn't need to
write its custom .deps file anymore.
Change-Id: I6394882f67eecda3d2c03a97d3119657f7d3873f
Merge build_osmo_program_osmodev into build_osmo_programs and change the
logic, so make only needs to run once. This saves a few seconds for each
test iteration.
Change-Id: Ie2cf7a93395f5ad04159f523d0d0f091303aaa57
On my system, when building all components in docker, some of the C tests
don't pass (but they do pass on jenkins.osmocom.org, which runs a
similar setup). Do the easy workaround and just disable C tests, the
point of ttcn3.sh is to have fast ttcn-3 test iterations anyway, running
the C tests additionally slow each iteration down. One can run the C
tests before submitting changes, e.g. by building with osmo-dev without
ttcn3.sh.
Change-Id: I946635f1ec09f23428965f3db514027f64921fe4
Remove leftovers from before refactoring in
Iecba5391dafc353058d369deb513b156534face1. No need to build these with
osmo-dev, as they are part of the osmocom-bb docker container that gets
built via ttcn3-bts-test/jenkins.sh.
Change-Id: I99ec4ff9caf34d1ddd7efde2f5ae2342a6984689
Replace the previous approach of building outside of docker and mounting
everything inside docker while running tests, with also building
everything inside docker. This prevents incompatibilities between host
system and docker (e.g. different glibc). As nice side-effect,
/usr/local is not filled up anymore.
Change-Id: Ib6db8ffd916c788c9de0b3d51c82e1d7bb3f6828
To be used by ttcn3.sh to run the actual build inside docker. ttcn3.sh
runs the programs built by osmo-dev inside docker with the exact
configs that we use on jenkins.osmocom.org, but so far it builds the
component outside of docker. But building inside docker is necessary to
avoid incompatibilities between the host system and the docker
containers (e.g. different glibc).
Change-Id: Ibd20f0e0e2a5105085066a9f04b5868c68691024
Fix for Osmocom programs using system's shared libraries, instead of the
ones mounted into /usr/local.
For example, for osmo-bsc the libosmocore installed in the
osmo-bsc-master docker container would be used (installed via apt from
OBS nightly) instead of the version that osmo-dev built from source.
Change-Id: I0dd7fb544ca59cb1df19fc3d73cfd07f3374e123
Add the image suffix to the marker in run_docker() which indicates if
the testsuite docker container was already built (with all its
dependencies), so the script doesn't assume that everything is already
built if using without IMAGE_SUFFIX first and then switching to
IMAGE_SUFFIX=latest.
Add an usage example to README for IMAGE_SUFFIX=latest.
Change-Id: I867740831810324a7f5906a0548f0d04ecb9a0a1
Speed up tests by not running a separate docker instances first that
lists installed packages.
Depends: docker-playground Iaafb81e9ee94850ae3b6318574ad5370d74a2838
Change-Id: I3d9976d07f088e2d106d23259889a4bffe1abbcb
Replace the old check with an exact check for the given rule. The old
check doesn't work on my system if docker is running and sets up other
masquerading rules.
Change -A to -I, so it is less likely to be affected by whatever other
rules may already be above in the chain.
Change-Id: I30c22fe4e7683611e8dada329dbf7d51f78b6016
Make logic to install the file simpler while at it, and allow it to
create /usr/local/bin if it doesn't exist (I just had that).
Change-Id: I497b9e8909a419f5b5286fcccce9d8a1ba9d515c
Migrate to the new gprs_ns2_vty configuration introduced in osmo-sgsn
Ie9306ab4d4738c2c57a69987086e22771b30657e.
Change-Id: Ie0a6d4a55f725ebcc6a55b6bd71c52ad72accbd2
I guess it's enabled by default in some distributions like Debian,
but at least for Arch Linux it needs to be enabled using '-e'.
Change-Id: Ie9c0657c9decb83bf8531ce1a0e97c27ee7008bb
Instead of trying to run everything outside of docker, just build the
docker containers and then mount /usr/local and osmo-ttcn3-hacks from
the host system into the docker containers. This way, we can just use
the same configs as the official jenkins jobs are using, while still
having a short test-cycle once the docker containers are built for the
first time. I've decided to implement this, because it was not feasible
to maintain the separate configs.
Depends: docker-playground I8d1f78aee926f8f6ec0b704e16639bc83f525816
Change-Id: Iecba5391dafc353058d369deb513b156534face1
move some freeswitch config files out of the freeswitch/ tree and symlink so
that they become configurable
Apply new PBX_* variable naming
fill_config: enable symlinks;
ignore template function 'strftime' because freeswith cfg uses that.
Change-Id: I97d3db87398c743637f7eb13629e21b149bcc8fa