repo-install-test: fix test_conflict for debian 13
Two changes are necessary to make this test work with debian 13:
* Installing libosmocore from osmocom-latest, then switching to osmocom-nightly and attempting to install another package is not enough anymore to trigger a conflict. apt is now able to resolve this by uninstalling the osmocom-latest package and upgrading libosmocore to the nightly version. Force the conflict by explicitly marking osmocom-latest (osmocom-$FEED) as installed and for hold.
* The apt conflict message has been reworked, so the string to look for needs to be adjusted.
The following packages have unmet dependencies: sdcc-dbgsym : Depends: sdcc (= 4.2.0~osmocom3.113.9edd) but 4.5.0+dfsg-1 is to be installed E: Unable to correct problems, you have held broken packages. E: The following information from --solver 3.0 may provide additional context: Unable to satisfy dependencies. Reached two conflicting decisions: 1. sdcc:amd64=4.2.0~osmocom3.113.9edd is not selected for install 2. sdcc:amd64=4.2.0~osmocom3.113.9edd is selected for install because: 1. sdcc-dbgsym:amd64=4.2.0~osmocom3.113.9edd is selected for install 2. sdcc-dbgsym:amd64 Depends sdcc (= 4.2.0~osmocom3.113.9edd)
This package from strongswan-epdg causes the SSH connection to QEMU to break when installed in debian 13. Don't install it. Use the wildcard, because there is also a debug symbols package that pulls in charon-systemd.
PyHSS listens on the same port as OsmoHLR, which causes the test to fail with debian 13 because OsmoHLR can't start up properly. PyHSS wasn't built for earlier debian versions in the Osmocom binary repositories.
Run checkpatch with any .checkpatch*.conf found in the project dir. This is in preparation for having two .checkpatch.conf files in osmo-trx, in order to use different linting rules for C++ code: * .checkpatch.c.conf * .checkpatch.c++.conf
Add a script that maintains a linux repository in one place on jenkins nodes, so we need less git clones from git.kernel.org and less disk space. All jobs that need a kernel tree can now clone the relevant branch directly from the jenkins node.
Follow up patches will add a jenkins job that runs the script daily and adjust the existing jobs to make use of this instead of doing their own clones.
Currently this script produces a 396M bare git repository.
The debian 10 repository has been officially disabled: https://osmocom.org/news/308
However we just re-enabled a subset of the packages, osmo-gbproxy + dependencies, because currently they are relevant for a customer. Adjust the repo-install-test to deal with this subset of packages for debian 10 to fix that it is currently failing.
I have verified that repo-install-test works with this change for debian 10, 11 and 12. It currently doesn't run for debian 13 yet (OS#6934).