aboutsummaryrefslogtreecommitdiffstats
path: root/scripts
AgeCommit message (Collapse)AuthorFilesLines
2019-04-03osmocom-nightly-packages: build osmo-remsimHarald Welte2-0/+6
As of Change-Id Id5044b1835190edc948952d207a5196a18669eb1, osmo-remsim contains Debian packaging information and hence we can build it as part of our nightly feeds. We're not yet enabling 'latest' builds as we need to wait for the next libosmo-abis release for that (requires the IPA keepalive FSM). Change-Id: Ic367dc95f46cece4bd769061af860fd82b4bd2e9
2019-04-02build-old-tags: build libosmo-legacy-mgcpOliver Smith1-10/+44
Build osmo-mgw 1.4.0 (which provides libosmo-legacy-mgcp) and install it into a different temp dir. Allows properly building osmo-bsc 1.2.x, as soon as a new release is tagged, which makes it use LIBOSMOLEGACYMGCP_CFLAGS and therefore pick up the include path properly [1]. osmo-mgw 1.4.0's "make check" doesn't pass right now, so add a check parameter to build_repo() and disable them when building libosmo-legacy-mgcp. The checks will get executed later, when the depends are installed and we are building various tags of Osmocom repos, including osmo-mgw 1.4.0. While at it, slightly refactor build_repo() to put all arguments into descriptive variable names (as it is getting a bit longer now). [1]: Change-Id: Ibd7948f12da710f8ca2b8fde8870f134308eb908 Related: OS#3867 Change-Id: I63d16f8e44c14dee46e2ef3fd050a421017c56b0
2019-03-30Cosmetic: build-old-tags: osmo-msc: note fixed inOliver Smith1-1/+1
Change-Id: If4d84e3c8c2b8d75136f7440a737956d654f2297
2019-03-28build-old-tags: known error: osmo-bts-1.0.0Oliver Smith1-0/+3
Change-Id: Ifa9953161ad4dbead09675f367baeffe19c788b7
2019-03-26Add osmocom-build-old-tags-against-master.shOliver Smith1-0/+232
Build old releases of Osmocom programs and libraries against "master of the day" to detect breakage. Redirect each build's output to its own log file, so it is easy to see what is currently getting build, and what failed. On error, print the end of the new failing build logs, along with a note to find the full logs in the jenkins artifacts. This initial configuration builds the last three release tags of the Osmocom repositories against master. The configuration can be changed easily. Indicate known failures with "err" instead of "ERR" in the output, do not cause them to fail the build and do not print the beginning of the error log (it is still in the artifacts). This way, new errors stand out and don't get overlooked among the known errors. Related: OS#3765 Change-Id: I7cb45cc40c9930840a3d4e6a86f39e1400478ed3
2019-03-26osmo-build-dep.sh: run 'make check' when CHECK=1Oliver Smith1-0/+5
Prepare for osmocom-build-old-tags-against-master.sh. Related: OS#3765 Change-Id: I248b53d7a6fe1b64f2a994c568c0466dc93858de
2019-03-26osmo-build-dep.sh: cd into subdir before buildingOliver Smith2-0/+16
Support building the legacy openbsc source with osmo-build.dep.sh. This will be used by the upcoming osmocom-build-old-tags-against-master.sh script. Related: OS#3765 Change-Id: I852e103e80bf295f692cf13c4cb38e80fbc19eca
2019-03-26osmocom-list-commits.sh: move functions to common.shOliver Smith2-43/+66
Prepare for the upcoming osmocom-build-old-tags-against-master.sh script, which will benefit from querying the last n git tags in advance. Related: OS#3765 Change-Id: I61be4cffb9275cabc1b253f0b298503ad0d3aea4
2019-03-22osmocom-list-commits.sh: fix sorting release tagsOliver Smith1-1/+1
Properly sort "git ls-remote" output, which looks like: 352f32c9cffef2e5df99cd2f03368dc56c99ee23 refs/tags/0.4.0 Use / as field separator and field no 3, instead of assuming that the string gets split automatically after the tab character (which it does not). Use -V (version sort) instead of numeric sort. Change-Id: I334e684ac5109fc289b68af78165862148074ea7
2019-03-22scripts: Enable osmo-sysmon debian package OBS buildPau Espin Pedrol2-0/+6
Change-Id: I638c58be1ddf5e7fcf5a51de532ae8c4c06dcdbb
2019-03-20Add scripts/osmocom-list-commits.shOliver Smith1-0/+85
Generate a table of Osmocom CNI repositories and their latest tag, related commit, and last commit on master. Related: OS#3840 Change-Id: I91cab0139229e6c1c67e889d33b3d984025bc9da
2019-01-26osmocom-*-packages: clone via https:// not via unencrypted git://Harald Welte2-2/+2
Change-Id: Ibfb52cbac93451ba402edb6b59350620954b0d81
2019-01-26latest-packages: Add libosmo-dspHarald Welte1-0/+2
Now that libosmo-dsp has a 0.4.0 tag that includes debian packaging information, we can add it to the latest feed. Change-Id: Ic082a4ad6b8582dfe44df5bdaafa525e52da7246
2019-01-17nightly packages: Build libosmo-dspHarald Welte1-0/+2
Change-Id: I989c7961336b4dacbc83e97d1c098f93f56ef6ab
2018-11-22Add osmo-sysmon to default depcheck configMax1-0/+1
Change-Id: Ie57d0d55459d492e18b56496c9018a5f8619813a
2018-10-27osmo-layer1-headers.sh: Check-out NuRAN branches without slashesHarald Welte1-1/+8
this is an ugly workaround for Jenkins not being able to deal with slash ('/') in label names that comprise the axis of a matrix buildjob, while nuran not using tags but only branch names in their firmware repositories :( Change-Id: I1bbfc61f66c5fc490ceca96a8eb21210dd89b629
2018-10-26osmo-layer1-headers.sh: Add support for OC-2GHarald Welte1-0/+4
Change-Id: Iceb62df4511ed50f0286e5762d9ffc4b068f70a6
2018-10-05osmocom-latest-packages.sh: Refactor to support building limesuitePau Espin Pedrol1-57/+112
This way the latest script is a lot more similar to the nightly one, and easier to maintain and expand with new features. checkout and build steps are split because once we have a new osmo-trx release, we'll need the create_osmo_trx_debian8_jessie trick to build it. In the future we can do further steps to have a common function lib between latest and nightly scripts. Change-Id: I786c6f4ad4b4e43d1692c1588d2ad2194d0b25a4
2018-10-04osmocom-nightly-packages.sh: Build against newest limesuite release v18.10.0Pau Espin Pedrol1-2/+2
Change-Id: I4e3a3d3ac4422cbf9c4e8c8bda3d3f7b27be1a14
2018-09-25osmo-depcheck: don't use /tmp, better git codeOliver Smith4-66/+94
* replace --gitdir with --workdir and give it a new folder structure: * git/$repo: downloaded source code * build/$repo: files created during the build process * install/: installation prefix * adjust the jenkins job to use --workdir * fetch --tags when source exists already * readable error message for failed git checkout Change-Id: I06589277b9d54a2af177451cfab2ca1a658b4058 Relates: OS#2642
2018-09-20osmo-depcheck: script to verify PKG_CHECK_MODULESOliver Smith5-0/+518
This script verifies that Osomcom programs really build with the dependency versions they claim to support in configure.ac. In order to do that, it clones the dependency repositories if they don't exist already, and checks out the minimum version tag. This happens recursively for their dependencies as well. See 'osmo-depcheck.py -h' for the full usage instructions. There's also a new jenkins job in jobs/osmocom-depcheck.yml. Change-Id: I8f495dbe030775f66ac125e60ded95c5d7660b65 Relates: OS#2642
2018-09-10osmo-build-dep.sh: Let autotools install systemd services to correct pathPau Espin Pedrol1-1/+1
Change-Id: I9eba05995fc53b72b04a4a9d63ebd5a236304f7c
2018-08-26osmocom-latest-packages: Add simtrace2Harald Welte1-0/+1
Change-Id: I9e6b01f465470f77c58268979d3608afe2005b1c
2018-08-26nightly packages: add simtrace2Harald Welte1-0/+2
Change-Id: Idab162dd11c631d5e72f09b08ed04610e16f05a9
2018-08-10obs-nightly: introduce osmo-trx-debian8-jessieAlexander Couzens1-0/+13
A compatible package for debian8 as it does not support limesdr. This patch depend on: I261302d2ed16e76540073589504e7426e23d00a1 Change-Id: I8477b580976b376ee5abdde98a651d47199ef6d9
2018-08-08osmocom-latest-packages: Fix libusrp and other non-osmocom buildsHarald Welte1-4/+9
We're using the build() function not only to build osmocom projects requiring a .tarball-version file, but also other projects such as libusrp. Let's make the related git-buildpackage arguments conditional to whether or not a .tarball-version file exists at all. Change-Id: I0683cff036a240b1b819f91fbd230d5f9211074c
2018-08-06osmocom-nightly-packages: Fix libusrp and other non-osmocom buildsHarald Welte1-5/+8
We're using the build() function not only to build osmocom projects requiring a .tarball-version file, but also other projects such as libusrp. Let's make the related git-buildpackage arguments conditional to whether or not a .tarball-version file exists at all. Change-Id: I0312a6671e739b803beb583769e4dfc6f44fa091
2018-08-06osmocom-nightly-packages: Fix build of limesuiteHarald Welte1-0/+1
We add a bogus .tarball-version file to make limesuite look like osmocom projects. Change-Id: Idbe34df54743d346cf4194d6ea377e886132042d
2018-08-06osmocom-latest-packages: Add .tar.xz for new packagesHarald Welte1-0/+1
If a new package is uploaded to OBS, prior to this change, only the .dsc file is uploaded, not the actual .tar.xz containing the source code. Let's fix that. Change-Id: Id1c9e6d112781004238a516b24dd446af0beb95a
2018-08-06osmocom packages: Ensure PACKAGE_VERSION is set correctlyHarald Welte2-4/+11
At the "autorecon -fi" stage, Osmocom programs either need the .git directory peresent, or a .tarball-version file in order to determine the exact source code version. Normally, "make dist" exists exactly for this purpose: It runs git-version-gen and saves the result to .tarball-version, and we then include this file in the .tar.gz we generate. However, as the nightly paackaging scripts use git-buildpackage, it bypasses the "make dist" logic and hence we need to 1) manually generate the .tarball-version file 2) copy it over to the directory specified as --git-export-dir This way, the .tarball-version is inside the tar.xz generated by gbp, and autoreconf then has something to use as PACKAGE_VERSION. This commit fixes "UNKNOWN-dirty" in .pc files of libraries, as well as in "show version" commands on the vty. Closes: OS#3449 Change-Id: I76e3713f0b01a6110091ff90e8e53aa79533c374
2018-07-19scripts/verify_log_statements.py: on parse error, print fileNeels Hofmeyr1-53/+56
If string eval encounters an uncovered parse error, it's useful to know which file it happened in. Change-Id: I5fe9a3bbdbfb8a995f24596bf09e70ca5bb3fe8a
2018-07-19scripts/verify_log_statements.py: strip OSMO_STRINGIFY()Neels Hofmeyr1-0/+2
Change-Id: I439ee65cd65cf42e1005ca71aa7d4b680b18c0e5
2018-07-19scripts/verify_log_statements.py: figure out line numbersNeels Hofmeyr1-13/+61
Change-Id: Ib75c8f5a99ed556d85896b7f8c65fb9446a2fbce
2018-07-19scripts/verify_log_statements.py: fix regexNeels Hofmeyr1-2/+2
Would miss those where the fmt string starts on a new line. Change-Id: If61a36a014a799b94030e5e08a50dfef4207a8a2
2018-07-16add scripts/verify_log_statements.pyNeels Hofmeyr1-0/+87
This came up in https://gerrit.osmocom.org/#/c/osmo-bsc/+/9671/6//COMMIT_MSG@36 The errors it finds in the current code base are numerous, and many are intended LOGP .. LOGPC calls. It doesn't make sense to enforce this, but so far this can be used manually. Change-Id: Id79389f090a2fded7ff01dc7e3fe9774e7f22ca0
2018-07-05verify_value_string_arrays_are_terminated.py: allow dir args and no argsNeels Hofmeyr1-2/+18
So far we call with a $(find . -name "*.[hc]") argument list, which might become too long at some point. Rather include dir walking in the script itself and allow passing dir arguments as well. This is backwards compatible, calling with above file args still works. Change-Id: I36456383906b6295c798b82aa131dda21f8efc02
2018-06-26obs-nightly: build debian pkgs from osmo-python-testsPau Espin Pedrol1-0/+2
Change-Id: Id8b4b4d7a1e4328565b06faff2eaccea7efa74e2
2018-06-25obs-nightly: Upgrade to newer required limesuitePau Espin Pedrol1-2/+2
osmo-trx-lms requires limesuite newer than 17.02, as there were a lot of features and bug fixes which osmo-trx relies on. Furthermore, osmo-trx-lms cannot build with that version since it doesn't provide yet a pkgconfig file. We cannot use latest tagged release (18.06) since that version has some build related bugs which have been fixed later on (c1496679cadff2913cacdaa84afe93bbee76d8e4), hence why we are using latest available master instead. Change-Id: If47a3767c7fefbb75923cbfc8eeb921e29393285
2018-06-25obs-nightly: list limesuite before osmo-trxPau Espin Pedrol1-2/+2
Let's move limesuite first since it doesn't depend itself on any osmocom related package, and osmo-trx depends on it. Change-Id: I0cdc85a2d0212432bf0c2586230660d363212dcc
2018-06-16verify_value_string_arrays_are_terminated.py: allow terminating with '{}'Neels Hofmeyr1-1/+1
Writing '{ 0, NULL }' is actually identical to just '{}', and that's what I use these days in all sorts of other contexts. So allow this notation as well in the C code grepper. Change-Id: I0822d2d997dccbfb31316953a7b6024c317d92cf
2018-06-04Revert "osmocom-latest-packages: Also accept "v" in front of version tags"Harald Welte1-1/+1
This reverts commit 5b2bb86e8ada837732f06bb4a77779cdbca73496. While it was intended to enable automatic "latest" builds from rtl-sdr, it breaks builds e.g. of libosmo-abis, where we have both (new) tags without 'v' and old tags with 'v', and now the older 'v' tags win due to lexicographical sorting :( Change-Id: I1c8d2ab18e389a8c2c41082d997f101d72c3acc0
2018-06-03osmocom-latest-packages: diable rtl-sdr and osmo-fl2k againHarald Welte1-2/+3
we cannot yet build "latest" for them, as they don't have any tagged versions yet which include the /debian directory. Change-Id: Ia5708508d918fd71eb05393e39b93859b943d623
2018-06-03osmocom-latest-packages: Also accept "v" in front of version tagsHarald Welte1-1/+1
Some projects (notably rtl-sdr) use "v" in front of their version tags in the git history. Let's make sure we also recognize those. Change-Id: I20f9896cc7844a6ddec7ba63bc9a77f548082e2a
2018-06-03osmocom latest+nightly packages: Add osmo-fl2kHarald Welte2-0/+3
Now that osmo-fl2k has debian packaging information included, we can easily build it as part of the "latest" and "nightly" feeds. Change-Id: Ie2429df14ad51aadb55b4a7d8f6cfcb45c5c6e70
2018-06-03osmocom latest+nightly packages: Add rtl-sdrHarald Welte2-0/+3
Now that rtl-sdr has debian packaging information included, we can easily build it as part of the "latest" and "nightly" feeds. Change-Id: Idc6afb523e71ed977401d707895844bad6247f8b
2018-05-04osmocom-nightly-packages: replace version string with by git-version-genAlexander Couzens1-3/+22
E.g. old version 0.10.2.20180501 (0.10.2 last deb version, 20180501 was the date) The new version will look like 0.10.2.279.178b - 0.10.2 is the last tag - .279 is 279 commits since the tag - 178b is the actual short git rev The direct output of ./git-version-gen couldn't be used because debian forbids using a minus (-) in upstream versions. Change-Id: I2da90ada90adf8ef8f8cfee3d26f86fbd3cec181
2018-04-26scripts: osmocom-*-packages.sh: Build libusrpPau Espin Pedrol2-0/+3
Depends on: I5ff1d76f533b9ac68ab3f2c70ead6b66f4413b4f Change-Id: Ic742db854b8a3aba6ddc85ffb41fc6f4697c572d
2018-04-16scripts/docker-cleanup.sh: set permissions to 755Alexander Couzens1-0/+0
It will otherwise not executed by the cron, because the cron is checking for the executable bit Change-Id: Ie9d67b157d62b38b62f5e74406d14344f90d07b8
2018-04-11add docker-cleanup.sh scriptHarald Welte1-0/+9
This script should be executed regularly on all build slaves that have docker in order to discard unused images/layers. It would be a good idea to call "fstrim /" afterwards in order to get more SSD performance. However, the latter requires root access, and hence cannot be called by the 'osmocom-build' user and thus jenkins. Maybe we should install it as a cron job or systemd periodic timer job? Related: OS#3144 Change-Id: I688b952578507a9cc28fe682221b5c7e3a245519
2018-04-09osmo-clean-workspace.sh: make more robust against broken git clonesNeels Hofmeyr1-4/+25
Change-Id: Ifa70fd75468b3e21b5c9327ea28bc7a4c8cb549d