Since recently [1] osmo-upf depends on libosmo-{gtlv,pfcp}.so, which
are provided by libosmo-pfcp.git. We need to build libosmo-pfcp
before attempting to build osmo-upf, otherwise it fails:
configure: error: Package requirements (libosmo-gtlv >= 0.1.0) were not met:
Package libosmo-gtlv was not found in the pkg-config search path.
Perhaps you should add the directory containing `libosmo-gtlv.pc'
to the PKG_CONFIG_PATH environment variable
Package 'libosmo-gtlv', required by 'world', not found
Change-Id: Ic4fe7b40cf9a57e0462b2c0806f8810fcc04a10c
Mention that new projects should be added to the components list, as a
lot of projects were not listed there. I've just added all missing
ones. Put it as comment in prepare_source_Osmocom.sh because that's
probably the most likely spot where people will see it while adding a
new project.
Change-Id: I48630f4eb5b4f2b7b714697d15432c0d71f136f9
Run the coverity/jenkins.sh from the osmo-ci.git repository that jenkins
checks out at the beginning of the build, instead of using a copy in ~/
that is updated whenever pushing to master. This makes it less
confusing, I configured the job to use a WIP branch and didn't realize
that it still used the code from master.
Change-Id: Ie992d71d2afec6982447b8fe3626c821a9e48d19
The coverity jenkins job has been failing since we tried to build tests
for all projects (and in an earlier attempt, build and run tests for all
projects). Make the coverity job work again by skipping build of tests
for asn1c. I looked into it earlier and the cause wasn't obvious to me,
and it's currently not worth spending time on.
Fix for:
libtool: error: cannot find the library '../../skeletons/libasn1cskeletons.la' or unhandled argument '../../skeletons/libasn1cskeletons.la'
Change-Id: Iba0bfe0e753812058436eaf515391eb1f4b09951
In change 82265bc46d [1] I attempted
to fix aaeab8c976 [2], however both
pushd and popd commands are not available in plain shell.
Change-Id: Ib63ded66781c774e16773537c3b943237904b03e
Fixes: [1] I92b648cd1e80399561067eae99426faed1ff1e25
Fixes: [2] Idf0714a59356633021be21acc47f9471d059b7fe
Compiling unit tests would allow Coverity to analyze them too and thus
find more bugs. The problem is that binaries listed in check_PROGRAMS
are not compiled during 'make all', but only during 'make check'.
One approach [1] is to run 'make check' in do_build(), however it breaks
'Coverity-Upload' job because some unit tests are failing. This is why
I had to revert bf84ba9f69 together with
ae41942214 that was supposed to fix it.
Even if all unit tests were passing, we still don't want to execute them
because running tests is beyond the scope of 'Coverity-Upload' job.
Another approach is to patch Makefile.am files replacing check_PROGRAMS
with noinst_PROGRAMS, so that the test binaries are compiled during
'make all' but not executed.
Change-Id: Idf0714a59356633021be21acc47f9471d059b7fe
Related: [1] I3f3149a61df96646798c72d0ad31c41b97e6b81f
When running these scripts locally while developing, it's more useful to
not fetch the sources and clean the git repository instead. Add
environment variables that allow doing this.
Change-Id: Id6d3cdabb776435df36c0145d93e514693062fca
Don't attempt to clone layer1-api if it exists already. Jenkins deletes
the sources for every run, but for development it is useful to be able
to run this script multiple times without getting errors.
Change-Id: I17bd76a5ff6abafd4bd0189073930f45de20afe8
'make check' does not pass for asn1c, it fails with the following. I
looked into it and the cause is not obvious to me, so in order to make
the jenkins job pass again I've changed it back to just run 'make'
instead.
Fix for:
...
fatal: making test-suite.log: failed to create ../tests/98-attribute-class-OK.asn1.log
fatal: making test-suite.log: failed to create ../tests/99-class-sample-OK.asn1.trs
fatal: making test-suite.log: failed to create ../tests/99-class-sample-OK.asn1.log
Makefile:735: recipe for target 'test-suite.log' failed
make[3]: *** [test-suite.log] Error 1
make[3]: Leaving directory '/home/osmocom-build/osmo-ci/coverity/source-Osmocom/asn1c/libasn1fix'
Makefile:841: recipe for target 'check-TESTS' failed
Disable 'make check' for libusrp too as it also didn't pass:
Making check in usrp2
make[4]: Entering directory '/tmp/coverity/source-Osmocom/libusrp/firmware/src/usrp2'
test -f `basename 'eeprom_boot.a51'` || ln -s 'eeprom_boot.a51' .
test -f ../common/`basename 'eeprom_boot.a51'` -o \
\! -f `dirname 'eeprom_boot.a51'`/../common/`basename 'eeprom_boot.a51'` \
|| ln -s `dirname 'eeprom_boot.a51'`/../common/`basename 'eeprom_boot.a51'` ../common/`basename 'eeprom_boot.a51'`
sdas8051 -plosgff `basename 'eeprom_boot.a51'`
sdcc -mmcs51 --no-xinit-opt -I../../../firmware/include -I../../../firmware/src/usrp2 -I../../../firmware/src/common -I../../../firmware/src/common -DHAVE_USRP2 \
-c -o eeprom_init.rel `test -f 'eeprom_init.c' || echo './'`eeprom_init.c
test -f `basename '_startup.a51'` || ln -s '_startup.a51' .
test -f ../common/`basename '_startup.a51'` -o \
\! -f `dirname '_startup.a51'`/../common/`basename '_startup.a51'` \
|| ln -s `dirname '_startup.a51'`/../common/`basename '_startup.a51'` ../common/`basename '_startup.a51'`
sdas8051 -plosgff `basename '_startup.a51'`
make[4]: *** No rule to make target '../../lib/libfx2.lib', needed by 'eeprom_boot.ihx'. Stop.
All other 'make check' calls do work as expected, the build script runs
through again with this patch.
Fixes: bf84ba9f ("coverity/build_Osmocom.sh: run 'make check' in do_build()")
Change-Id: I6b9eb8e73c51d925897579fb51bc0a1e86e77270
This enables building and running tests (check_PROGRAMS), so that
Coverity will be able to find bugs in their code too.
Change-Id: I3f3149a61df96646798c72d0ad31c41b97e6b81f
Starting from I57e77f927ee9e169cc794c5dc6b128a2d590201b, autotools
are required in order to configure and build the project.
Change-Id: I48696af1ccb5eb884f5de9085bcda37fc41766fb
Fixes: I74da8b523c9d51887d5eceb01ca0f505bb846812
We have parallel build enabled in libsmpp34.git since 2018.
Change-Id: Ibe57a8c823d9b35e2f51c9bd7a13d6baf61bf0ca
Related: Id41fbcb5a96093eb6c3dc00bcacbd379111ada70
Because the systemd install directory does not use --prefix as
base, they are installed by default to /lib/systemd.
As the coverity only scans the compilation, don't install systemd files.
Change-Id: I39b491fc09f0db0efd8d9d09e8f4cba4ba49cdde
The jenkins.sh is just a tiny wrapper around coverity_Osmocom.sh - let's
remove this unnecessary indirection and move the code directly to
jenkins.sh
Change-Id: Iead3b8f39327f1d0dd80e12a9d38563c35701993
It was disabled back in a days when it was dependent on a separate
branch. Thisis no longer the case so we can enable it back. Also remove
remaining leftovers.
Change-Id: I5fd3bdab217b61f9ee50a5f1413b60d396535395
The OpenBSC codebase only receive occasional backports hence none of the
issues uncovered by Coverity would be fixed unless it's also fixed in
corresponding Osmo* project. Let's not clutter output with the
information about issues which won't be fixed anyway.
Change-Id: Ief3dfc641684fa33407957bf7cfcb6ecf35b847a