Make it possible to set a different mirror for debian-stretch-titan than
for all other containers. 2021q1 doesn't have the eclipse-titan package
and it doesn't make sense to build it there.
I've thought about adding OSMOCOM_REPO_TESTSUITE_PATH and
OSMOCOM_REPO_TESTSUITE_VERSION too, but we don't have any use for these
right now. Let's add them later if we should need them.
Related: SYS#5370.
Change-Id: I7187473c2188a864b60b03789eff62e0a527404a
This change employs the same approach as [1] for Release.key.
Change-Id: Ic51d6e6557ee0b56d21d8ff4feaf04bc02e41a2e
Related: [1] I3ec86c8610b3b43d39ea8e3da444861d317ced4e
Move the shared pipework script to the base image, and call it in
ttcn3-docker-run.sh if WAIT_FOR_NETDEV is set. Use ttcn3-docker-run.sh
as entrypoint in both Dockerfiles and remove the custom entrypoint
scripts (which are the same as ttcn3-docker-run.sh now).
Related: OS#5017
Change-Id: I2889abe94ed522a205890e5cb39e09cbebfbd820
While I'm at it with tidying up the Dockerfiles, create a
ttcn3-docker-run.sh with shared run code.
Related: OS#5017
Change-Id: Id90769707158f0488eca2313c57b99ea7a4a27c8
Move the git fetch/checkout code and make call to build the testsuite,
to debian-stretch-titan/ttcn3-docker-prepare.sh. In the next patch, I
will extend the script to update deps right before building too (e.g.
because OSMO_TTCN3_BRANCH changed).
Related: OS#5017
Change-Id: I4b5bedf058dc527e821f9b7204c632820e671af9
After the initial clone of osmo-ttcn3-hacks and deps, let docker
download deps/Makefile to invalidate the cache if the file changed.
Run "git pull" and "make deps" afterwards, but only if the Makefile is
different. The "if" saves time in the initial build of the image, it
avoids the "git fetch" on every dependency repository during "make deps".
Related: OS#5017
Change-Id: I56673312cfb23375d67900016aaac1931f677275
Clone the osmo-ttcn3-hacks and all dependency repositories less often by
moving related commands to the shared debian-stretch-titan image.
Remove the 'git checkout -f -B master origin/master' line, because the
master branch is checked out by default.
While at it, move the shared "git config" commands too, and move them
before cloning the repositories, so they don't run again whenever the
deps change (logic to invalidate the cache if deps change will be added
in the next patch).
Related: OS#5017
Change-Id: I2bb142dce061eba4b6a828c4e435510e309989fd
For some magic reason, apt segfaults while installing the DEBs:
$ apt install ./libfftranscode0_0.3_${DPKG_ARCH}.deb \
./libfftranscode-dev_0.3_${DPKG_ARCH}.deb
WARNING: apt does not have a stable CLI interface. Use with caution in scripts.
Reading package lists...
Segmentation fault (core dumped)
so it kind of confirms the warning about its stability ;)
Change-Id: I7f3288161577b055145afe89de7dff50853760f5
This allows easily changing to another osmocom repo base URL if the
default one is down.
Related: OS#4862
Change-Id: I8010b08f3dabacfb3c13a44eece6c7a490e0742e
Similar to what is already done with DISTRO, which points to given image
of ours based on name. This time we do the same with upstream images,
such as debian:stretch or centos:centos8.
This way, for instance calling docker_images_require
"osmo-bsc-latest-centos8" would try to build the
osmo-bsc-latest/Dockerfile file starting from a centos8 image.
Change-Id: I33cb21aa024396974559fd98f9f3c64e2c351eda
This is initialized to docker.io, keeping the default behaviour
if not specified. However, it allows us to specify a private
registry later on.
Related: OS#4839
Change-Id: I32d4ee6256033c809108c1b86cb6b6c58d880f49
By default, Debian's package manager (apt) would install as many
dependencies as possible, including optional (recommended and
suggested) ones.
Package 'eclipse-titan' recommends 'default-jdk', which is
absolutely not needed for osmo-ttcn3-hacks, and in its turn
depends on +100500 more packages like xorg, wayland, etc.
This change significantly reduces total amount of dependencies
and the overall build time by disabling installation of
recommended and suggested dependencies.
Change-Id: I56f0d0f37e212b15e8c19ddea96d1c999177eb17
Scripts ttcn3-tcpdump-start.sh and ttcn3-tcpdump-stop.sh, run by
osmo-ttcn3-hacks upon start and end of every test in the suite, starts
and stops tcpdump and netcat each time.
netcat is started in order to have a dummy sink for gsmtap log packets,
to get rid of annoying ICMP messages as well as the kernel deciding to
drop those messages (hence not ending up inside the pcap file of
tcpdump) under some circumstances.
Depends: osmo-ttcn3-hacks.git Id69d98db63f8260067ad6bc1525fb05c936912f2
Change-Id: Iccda25bc274ee93705c23dfd3e0f9dad5fc2a059
Let's use the well-known hack of adding the "Release" file
of the repository to ensure docker will invalidate the cache if the
repository has changed since the last build.
Change-Id: I54565a4d52221be7e6ded5a339bbf005b58f5998
Debian 9.0 ships with titan 6.1.0 which for some unknown reasons
causes segfaults in the C++ part when parsing CTRL messages and
according to TITAN project is not supported anymore anyway.
So let's use a 6.3.x build, or whatever is the highest version in
the network:osmocom:latest feed instead.
A lof of what the Dockerfiles so far did in terms of cloning library
repositories and calling shell scripts has now been implemented as
part of the Makefiles inside osmo-ttcn3-hacks.git, so we can drop it
here and simply use those.