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.