Control: clone -1 -2
Control: reassign -2 src:dkms
Control: severity -2 wishlist
Control: retite -2 dkms: add directive to ignore module build failures

On 15/06/2023 22.27, Stephen Kitt wrote:
  * The package should not fail to install when the module build fails.
    This might be a problem in dkms itself, or in ddcci's integration.

First of all, I find it a great improvement in dkms that it signals failure to build a module by exiting with an error (instead of returning 0 after printing "module failed to build" which easily gets lost in the upgrade log.) Of course this causes previously unseen failures during the upgrade phase. (Instead of missing root file system or accelerated graphics after a reboot in case of a "required" module.) Maybe annoying in case of "optional" modules.

From a QA perspective I definitively want to see these as failures.

This is the more interesting issue, but see #1029063. Admittedly the absence
of a ddcci module is unlikely to ever prevent a system from booting, so
perhaps we could have a way of telling dkms that build failures in a given
module shouldn’t be treated as errors. Andreas, what do you think?

That's an interesting idea. Yes, that sounds like a useful feature. I'm not sure if it should be enabled by default in dkms.conf of the module or the local admin should rather create /etc/dkms/$module.conf with an override directive in there.
How should we call such a directive?
Maybe BUILD_FAILURE_IS_FATAL, default: yes.
With my QA hat on, I want a global override for that: BUILD_FAILURE_IS_ALWAYS_FATAL, default no.

Next question: do we want to ignore such a build failure only for unknown kernels (newer than the last successfully tested version) or always? Sometimes backporting fixes to a stable kernel breaks modules (see e.g. lttng-modules-dkms in (old-)old-stable).

Does anyone want to open an issue at the dkms github project, s.t. more people can throw in their ideas?
(We'll probably test that in Debian first before upstreaming a solution.)


Andreas

Reply via email to