What's up with Ubuntu mainline builds?

You might have been wondering lately what’s up with Ubuntu mainline builds [1] and why a lot of the recent 6.x builds failed. Well, in the 6.0 time frame we moved some checker scripts around [2] and changed how we handle kernel configs. Away from split config files towards a single annotations file [3]. This is still work in progress and we’ll keep making changes as we go along.

An unexpected side-effect of this is that it broke mainline builds :frowning: Some kernels still built properly - by sheer luck - but the majority failed due to config errors.

To give some context: When building kernel packages, there are a couple of checks that make sure we don’t release potentially broken kernels. Amongst other things, we check that kernel configs are as expected and that we don’t accidentally break the kernel ABI. This is not relevant for mainline builds, so these checks are disabled - theoretically. The code that generates mainline builds as well as the packaging bits have obviously changed over time and so have these checks. The build scripts disable the checks in two ways: 1) replace the checker scripts with empty shell scripts and 2) set a do_mainline_build build flag that is honored by the build scripts/rules to ignore some checks. With the above mentioned changes, we moved the checker scripts so they didn’t get stubbed out by the mainline build scripts and we introduced new config handling tools that ignored the do_mainline_build flag… :flushed:

Long story short, it’s all fixed and hopefully in a more robust way than before. Be aware though that we don’t actively monitor mainline builds so might not notice immediately when builds fail. In that case, don’t hesitate to notify us on IRC [4] or via email [5]. Or do so for any kernel related question/comment/suggestion/…


[1] https://kernel.ubuntu.com/~kernel-ppa/mainline/
[2] https://git.launchpad.net/~ubuntu-kernel/ubuntu/+source/linux/+git/lunar/commit/?id=f2c0b00ac49fff8b78142be661982fe790d6a309
[3] https://git.launchpad.net/~ubuntu-kernel/ubuntu/+source/linux/+git/lunar/commit/?id=6146e6e42d91559b0cec0fa86492c12403972d1e
[4] irc.libera.chat - channel #ubuntu-kernel
[5] canonical-kernel-team@lists.canonical.com