dell/dkms

Introduce a `build $module for all kernels` functionality

Opened this issue · 1 comments

Distributions Debian and others use common.postinst, with goal to do a one-off build/install/etc of a module across all available kernels.

Arch itself has the same (and a little more) with their hook.sh script.

Adding the functionality into dkms itself, should allow us to drop these scripts ... which in one way or another duplicate core dkms functionality - autoinstall, dependency resolution, skipping of modules, etc.

we also need the inverse operation, e.g. autounbuild for cases where remove is not appropriate

(in the following, -m <module> is meant for all allowed combinations of -m module -v version | module/version ...)

I'm not sure if autoinstall allows the following scheme or could be enhanced to do, so I'm using autofoo

  • autofoo error, needs -m or/and -k
  • autofoo -k <kernel> act on all AUTOINSTALL=yes modules
  • autofoo -m <module> act on all (or current+latest) kernels, not sure about AUTOINSTALL=? handling
  • autofoo -m <module> -k <kernel> act on that specific combination, not sure about AUTOINSTALL=? handling

For consistency, autofoo should probably only act on AUTOINSTALL=yes modules.
(The only time where a autofoo command should act on AUTOINSTALL="" modules is to unbuild them during kernel prerm. So we don't need to call it autounbuild if it's actually unbuild -k <kernel>)

So if we have a kernels x modules matrix, we could have commands that can process either complete rows, colums or individual elements (but not the whole matrix at once). Maybe that could already be achieved by enhancing existing commands?