Commit Graph

93 Commits

Author SHA1 Message Date
Andre Puschmann 8e1ba792c5 jenkins-build-common.sh: also pass additional build flags to CMake
Change-Id: I1c5998d31201505d0a2532f22f905ec155d6c094
2020-04-20 20:36:21 +02:00
Andre Puschmann 6360dfb4d6 jenkins-build-amarisoft: turn off other RF libs when building for zmq driver
Change-Id: Ie4819d3f454d74e14829d02fbdc62a12f2d54cd5
2020-04-20 20:36:21 +02:00
Pau Espin 3f2a5e5b41 contrib: build amarisoft: Set trx_zmq.so RPATH to point to copied dependency libsrslte_rf.so
In the ENB case it's not really required since osmo-gsm-tester makes use
of LD_LIBRARY_PATH. However, since the UE is potentially run with
capabilitites to create tunnels and alike, LD_LIBRARY_PATH cannot be
used and lteue will fail to load trx_zmq.so (because it cannot find its
dependency libsrslte_rf.so).

Change-Id: Ifcbc6ed1c4c465b4cfab4c5689cde44624095f29
2020-04-06 16:32:13 +02:00
Pau Espin 64ad952de1 contrib/jenkins-build-amarisoft.sh: Fix typo copying trx_uhd.so to UE
Change-Id: I0c9b83b9adf0548e78363462744644bc528c2d29
2020-04-03 18:17:09 +02:00
Pau Espin a560ea7b85 contrib/jenkins-build-amarisoft.sh: Make build of amarisoft trx_zmq.so optional
That module is only available so far in a private repository, so allow
still other amarisof tusers to build the bundles with UHD support.

Change-Id: I361f179c8e7f379173fa9109028e139fc4c8c251
2020-04-03 18:17:09 +02:00
Pau Espin 17253af1e9 Introduce contrib/jenkins-build-amarisoft.sh
Prepares inst tgz archives to be consumed by osmo-gsm-tester from
Amarisoft prebuilt binaries.

Change-Id: I372606fc5ff9f6bb3ef848f2fe229b83382ddc09
2020-04-03 15:49:00 +02:00
Pau Espin 979f00d43d contrib: srslte: Allow changing repo name
Change-Id: I06e6566ac3df9369b391bc88f288f72588088ef1
2020-02-18 15:31:25 +00:00
Pau Espin 70c01ec92a contrib: Fix default variable value syntax
Change-Id: I23abf33881f64dd89c0bf5ef970972908d337366
2020-02-18 15:31:25 +00:00
Pau Espin 4f3cc9e7e4 contrib/*sysmo.sh: Fix default poky SDK path
ansible scripts are installing the SDK in "poky-sdk" dir, not "poky" one.

Change-Id: I002fde53684cd4a43c9f22e09264056f2a950c24
2020-02-14 16:26:31 +01:00
Pau Espin 10fe37cdce contrib/*sysmo.sh: Fix default poky SDK version to 2.3.4
Current latest poky SDK is 2.3.4, and that's the one we have installed
in all buildhosts.

Change-Id: I8c855456c7f94a3d6ee58ca550a056a0fea61a71
2020-02-14 15:40:46 +01:00
Pau Espin 1bce944fa2 jenkins-build-srslte: Temporarily Switch git repo to own-controlled one
During integration of the different srsLTE processes, some bugs or
misbehaviors appear which require fixes in srsLTE. Let's use our own
temporary fork until integration is complete and all patches are merged
in upstream.

Change-Id: I6414d9855cf9c004385cc280e5a60e82f8e4fbad
2020-02-11 14:39:46 +01:00
Pau Espin addf78ecb6 contrib: Add scripts to build srsLTE software
Change-Id: Id9d63920a44a80af187e649c9be5fd7498fa5f44
2020-02-03 17:22:30 +01:00
Pau Espin 0cb2178812 contrib: Disable dahdi support in libosmo-abis
Since libosmo-abis d4be696bbc20522a0284b6d0aefa872585f6926f it is
enabled by default. Since we don't need it so far and required
dependencies are not available in sysmobts SDK, let's disable it
explicitly.

Change-Id: Id017f3d2f51d30fa53881b627460fb568f19713b
2019-12-03 11:47:19 +01:00
Pau Espin bf3bb49785 contrib: Avoid sysmobts/oc2g toolchain ld crashes building new libosmocore
Some gcc version (< 7.3.0) on ARM generate wrong code for __thread
variables that crash at runtime. It seems, due to some unknown reason, that we
are not affected by this bug with toolchain from poky pyro (6.4.0). However,
libosmocore as of e188b8cd98f599468fbb200c7d590de955daf761 applies some
CFLAGS="-mtls-dialect=gnu2" to workaround the issue automatically. But same
toolchain contains an "ld" that crashes when those flags are applied.
Fortunately, libosmocore provides a way to disable the workaround, and since
we are not affected by the bug, we are fine with that. If the toolchain had
the TLS runtime bug, then we'd had to build with -O0. Can be probably dropped
once we move to newer toolchain.

Depends: libosmocore.git afce89dac1a3cdb975da72020acdba16940fd679
Related: OS#4062
Change-Id: I583354735a7671e5bba1c0f6e60c84b6ef55ac63
2019-08-06 16:05:03 +02:00
Pau Espin d581010568 contrib: jenkins-build-osmo-pcu-oc2g: Enable oc2gbts-phy
Depends on osmo-pcu Change-Id I7cd89a549c9463e81893ca7dd925299f728e4453.

Change-Id: I1384f4adeca7583e48dd94fcb09a1b58d108f1de
2019-03-25 16:27:40 +01:00
Pau Espin 8369cc321b contrib: Use proper SDK for OC2G builds
Binaries produced by sysmobts SDK are not compatible with OC2G.

Change-Id: I5adde9cf8a5f84cfc4b6fc4d4def3836444929ec
2019-03-15 20:16:14 +00:00
Pau Espin bf90917e9f contrib: Add script to build osmo-bts and osmo-pcu for oc2g
Change-Id: I7cc8937fb3e6c5d74b56cb049afb293b0b7ed25e
2019-02-21 19:26:13 +01:00
Holger Hans Peter Freyther d3d178fc41 jenkins: Fix the test for journalctl if it isn't present
test -x for an empty string is still true. Check if the result of
command is empty or not. It seems to work for the negative case now.

Change-Id: I7e4326df155dae776481bf7824694b3fb47abcad
2019-02-21 13:19:16 +00:00
Holger Hans Peter Freyther 16e39e877d jenkins: Only run journalctl if it is available on the machine
It's not common to run journald inside containers and the journalctl
command is not installed. Don't attempt to run it.

Change-Id: I9dee3cb0d0ca203da77dfa1a793a4e4e5f8593c6
2019-02-21 10:13:49 +00:00
Holger Hans Peter Freyther 4db8bb68c1 osmo-bts: Package the osmo-bts-virtual binary for the ms_driver
Change-Id: Id6db5d0bea5262075c3e06fbb0ccfef86afa85e4
2018-12-15 14:37:40 +00:00
Oliver Smith 52e5797b3d contrib/jenkins*: build and publish manuals
Add contrib/jenkins-build-manuals.sh, which clones or updates
osmo-gsm-manuals and builds the manuals. When the environment variable
PUBLISH=1 is set, it also uploads them.

Call jenkins-build-manuals.sh from jenkins-run.sh, without PUBLISH=1,
so the manuals get build-tested in the osmo-gsm-tester_gerrit job.

A new job master-osmo-gsm-tester will be added in the future, which
will run PUBLISH=1 jenkins-build-manuals.sh.

The jenkins-build-manuals.sh script does not use the osmo-ci.git
scripts for installing dependencies and cleaning up the workspace.
These scripts are not available on the node, which runs the
osmo-gsm-tester_gerrit job, and it is not trivial to add just them
(without building the osmo-ci Docker image etc.). The only dependency
is osmo-gsm-manuals, and it does not need to be compiled, so it seemed
to be the most maintainable solution to implement the clone/update and
clean up in a few lines of shell code instead.

Related: OS#3385
Change-Id: I4ebfe12a164f807b63bc897aff44db83fc0705bd
2018-12-10 12:57:04 +01:00
Holger Hans Peter Freyther 9cf1c8afde misc: Use RPATH to avoid having tests to set LD_LIBRARY_PATH
Instead of each binary launcher having to check if there is a lib/
directory and then setting a LD_LIBRARY_PATH we can use an RPATH and
know these binaries pick-up the right libraries.

This requires I6e4ad2e3855af7bcefc22d4190cc4e6f58581857.

Change-Id: If771767dd82662e13b6b10ee7a8b8d0c84dcbdb1
2018-11-14 21:00:52 +00:00
Pau Espin 24dc93754b contrib: build-osmo-sgsn: Depend on osmo-hlr build
Since osmo-sgsn f4b2c4ca42cc530c38c9ac6f275e4d7da9315fa2, it depends on
libosmo-gsup-client available in osmo-hlr.

Change-Id: I6aa997ff2092f9ddf2ac475fd094803be9063980
2018-10-31 08:14:51 +00:00
Pau Espin e789f0c088 osmo-bts-trx: Add support for osmo-trx-lms
Change-Id: I44db0fe4592109ecb665e1880806d90379da64f7
2018-10-10 09:39:58 +00:00
Holger Hans Peter Freyther 90b050764a Be able to switch-off ASAN builds of our binaries.
Inroduce a way to not take a 2x performance hit when testing. It
is of importance if we run with hundreds of BTSes and 10k+ subscribers.
In the absence of using getops or shflags use an environment for it.

Change-Id: I540ba1c35e8fb72abcee0d86e0bdc1136b47345c
2018-09-26 07:27:39 +00:00
Holger Hans Peter Freyther fd760f6702 Package mobile and virtphy as part of osmocom-bb as well
Change-Id: Ie44dca72327e928073b00cde434d1cf2de574d9c
2018-09-26 07:27:39 +00:00
Holger Hans Peter Freyther 9eafb1372e Optimize and re-use an existing repository
Instead of cloning osmocom-bb three times this will allow us to
re-use the repository. Simply change the directory, set the new
origin and fetch.

Change-Id: I63f103b2f70559e969e8c66477ab9ee7f2886832
2018-09-26 07:27:39 +00:00
Pau Espin cbbe5d8c1a contrib: Use correct var to write repo name in git_hashes.txt
We want to write repo name in there, not $dep which actually doesn't
exist in local context of have_repo function. In most cases it's
actually the same because in almost all cases $dep is passed as $1 to
have_repo and thus is the same as local $repo. But in a few recipes
which don't use build_repo directly but instead use have_repo and build
manually, $dep may not point to $repo. That's the case for osmocom-bb
for instance. As a result, "libosmocore" is printed twice, were second
word should be "osmocom-bb".

Change-Id: I7a7db7cf4cc020295d216c60d6dc688f110916dc
2018-09-25 10:20:59 +00:00
Pau Espin 8cc84d8404 contrib: Build osmo-sgsn with IU support
Change-Id: I810ae848c350550430c1918b3abb4376d21d7317
2018-09-19 14:05:41 +02:00
Pau Espin 26d7f8d462 contrib: Build osmo-msc with IU support
Change-Id: I68503ae2f27948aff60a9424e6b114db548d79e9
2018-09-19 13:14:19 +02:00
Pau Espin 1e2a041773 contrib: Add jenkins-build-osmo-iuh.sh
Change-Id: I75cb9551db6b1b4aa5bfb76177694c14fad82f04
2018-09-19 13:02:56 +02:00
Holger Hans Peter Freyther cb132bd79f build: Add overload to clone repo and build in subdirectory
To build osmo-nitb we need to clone "openbsc" and then enter the
"openbsc" sub-directory. For building "mobile" and "virt_phy" of
OsmocomBB we will need to do something similar. Instead of added
more hardcoded paths, add a variant that allows to specify the
source directory.

Change-Id: I67fbd54296f2c68316bf8e89cfeb37d147193d53
2018-09-18 06:29:17 +00:00
Pau Espin 4aeb4300b1 Build and use osmo-bsc_mgcp from openbsc.git instead of osmo-mgw.git
In osmo-mgw.git 31b4729f2731c747b8b33c4646dd5ade2ace29bc, osmo-bsc_mgcp
was dropped and the one from openbsc.git must be used.

Change-Id: Ib1c46baf4d36ab18f8064a2234a0ba28a1e7d2c2
2018-09-13 12:20:43 +02:00
Pau Espin 7a216e54b0 contrib: Disable installing unneeded systemd service files
Otherwise since we install without root perissins to a local directory,
systemd files will fail to be installed to regular systemd location
/lib/systemd/system/).

Change-Id: I20a285e4e92fec7990770568e8d5dc117d6bf477
2018-09-12 14:46:30 +02:00
Harald Welte 9d8fec54e6 jenkins-build-osmo-msc.sh: Build osmo-hlr before osmo-msc
osmo-msc now needs libosmo-gsup-client, which is built during omso-hlr
compilation.

Change-Id: I67c5d168011a385fd4f68df351e0a93e9bef37a7
2018-08-08 08:01:47 +02:00
Pau Espin 618bb3a6bf contrib: build-osmocom-bb: Download and install osmocom-bb fw from OBS
As it's quite complex to build osmocom firmware nowadays (a specific old
release of gcc and binutils are required to build it), instead download
the already built binaries from OBS.

Change-Id: I2571268d91e2430a270e51438608e7dbd121e76d
2018-05-22 15:52:56 +02:00
Pau Espin f4406b2b22 contrib: Add jenkins-build-osmocom-bb.sh to build osmocon
Change-Id: Ic5b29951d3fd143dce5826138c84301a9797b1ef
2018-05-18 12:14:58 +02:00
Pau Espin 1828d352c1 contrib: common: create_bin_tgz supports sbin dir now
This is a preparation for inclusion of osmocom-bb build job, which
installs binaries such as osmocon in sbin.

Change-Id: I562721af82e481e926ee65dbcd9dcc5b55057ae8
2018-05-18 12:14:09 +02:00
Pau Espin 7043996847 contrib: common: Record repo curr rev in have_repo instead of build_repo
This way scripts making use only of have_repo (to have build specific
insturctions) can still benefit from that code.

Change-Id: I03149942ac1d279a15c71df3eb880c331c8fc155
2018-05-17 18:18:50 +02:00
Pau Espin 553eda638c osmo-trx binary is now called osmo-trx-uhd
Change-Id: Ibf111ba89b24964127b9c1db7102953e1dba3181
2018-05-07 00:47:40 +02:00
Pau Espin 1cd017d0c7 build-osmo-trx: Disable asan in osmo-trx builds
Change-Id: Ic4ebbc3f66fd9de2343d486ed20a0f08fc11e326
2018-04-19 12:10:10 +02:00
Pau Espin ec3852f1bd contrib: build-osmo-trx: Enable addr sanitize for osmo-trx
Change-Id: Iad90c7c8c2098680276de000c36bec0224f9746d
2018-04-16 16:24:30 +02:00
Pau Espin 4a338c7dba contrib: build-osm-bts-sysmo: openbsc dep no longer needed
Change-Id: Iafd5ee1df001719ff6165ada996359b92116671e
2018-04-16 16:24:30 +02:00
Pau Espin 008f6165ed contrib: Enable address-sanitize in builds
Don't enable it for binaries built with sysmocom's cross-toolchain since
it doesn't contain required libasan.

Also, don't enable it on openbsc since we don't have an enable-sanitize
flag there.

Change-Id: Ibef6c2fc497bce0d799116a854a48872f9ca16d7
2018-04-16 16:23:30 +02:00
Pau Espin e5a7a40faa contrib: build-osmo-bsc: Add aibsip-find and ipaccess-config binaries to archive
They will be required by Nanobts class.

Change-Id: Ib0e003f74603c3146aa76d581ab493f960f73ab5
2018-03-09 18:54:28 +01:00
Pau Espin 274c8bd637 contrib: build-osmo-bts: Remove dropped dependency openbsc
Since osmo-bts ec33b0397f5d71248c5834513d4be7b9b0e46366, it doesn't
require openbsc anymore to build.

Change-Id: I8a1918971388afad41308629c1851614d1381f25
2018-03-09 18:54:28 +01:00
Alexander Couzens 89da3704bc jenkins: update poky version 2.3.2
The sysmobts 2017 releases are using poky 2.3.2

Change-Id: If6e8a5702e4c9b24e758e3aa5f390e786c51c384
2018-03-06 15:10:24 +01:00
Alexander Couzens 9695a1cbc1 jenkins: use env POKY_VERSION POKY_PATH to find poky
Instead of hardcoded values, use defaults and allow jenkins to override
the defaults.

Change-Id: I1403b32cdf30420f3b02c41c2627b71fcbeae9ab
2018-03-06 15:09:26 +01:00
Pau Espin b2a94e8430 contrib: build-osmo-trx: build new dep libosmocore
Since 8b843e5bed6e3dab1068b86805e557a196f9aa4c, osmo-trx depends on
libosmocore.

Change-Id: I63d09339da5be7af638efe9e07f0c0ed31738ed1
2018-02-23 12:33:39 +01:00
Pau Espin ef96749a2c contrib: Add binary osmo-mgw to artifact with same name
Change-Id: I706a4428f01b4b5be2bedc2507f67d8d7a4ffc8d
2017-11-09 12:08:41 +01:00