Skip to content

Introduce a build $module for all kernels functionality  #394

Description

@evelikov

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.

Activity

  1. anbe42 commented on Mar 16, 2024

    @anbe42
    Collaborator

    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?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions