How can I disable that a rosdistro package is build on a certain operating system?
Concretely, I am maintaining a camera driver that relies on a vendor-provided SDK which is not available under RHEL9 (just Ubuntu).
Since the launch of Kilted, I get daily mails like this, informing me that the build on RHEL9 failed:
Build failed in Jenkins: Kbin_rhel_el964__spinnaker_camera_driver__rhel_9_x86_64__binary
The package builds fine on Ubuntu, so I don’t want to disable building under Kilted altogether. How can I just disable building under RHEL9?
You can block builds on specific release targets in the buildfarm config:
For example kilted rhel builds are here:
An example can be seen here:
I generally recommend that you also open an issue upstream to note that this is being blacklisted and so that in the future users can find out why a package is missing from the build.
After changing the track.yaml as suggested, bloom-release asks this question:
Your track's 'actions' configuration is not the same as the default.
Should it be updated to the default setting?
I answered “No”. Let’s see if this does the trick. I didn’t see any mention of “rpm” in the console log of bloom-release and no error messages, so that’s a good sign.
I hope this prevents the perpetual attempts to build the binaries.
You have solved that, but you have triggered a new perpetual attempts to build the source packages which are the precursors to the binaries.
Removing the track from bloom will allow bloom to proceed. But then the build farm is going to fail because removing the action just prevents the source rpm from being generated by bloom. So the build farm is going to fail even sooner because it fails to fetch the source rpm which it expects that bloom will have generated.
If you want the build farm to stop trying to build it you need to use the blacklist I mentioned above. Note that it only reconfigures once a day so there’s some latency on the blacklist being updated for the job to be disabled.