[arch-dev-public] out of tree modules and alpm-hooks

Maxime Gauduin alucryd at archlinux.org
Fri Feb 19 16:47:10 UTC 2016

On Fri, Feb 19, 2016 at 4:12 PM, Sébastien Luttringer <seblu at seblu.net>

> On ven., 2016-02-19 at 08:12 +0100, Maxime Gauduin wrote:
> > On Fri, Feb 19, 2016 at 2:27 AM, Sébastien Luttringer <seblu at seblu.net>
> > wrote:
> > What about when you remove a dkms package? Would be nice to remove the
> > build modules as well.
> This is done by post install scriplet[1] of each dkms module package (e.g
> it
> calls "dkms remove vhosthost/${1%-*} --all").
> Right.

> Name and version of the dkms modules to remove is not easy to guess in a
> global
> hook. Also note that a dkms module can build several kernel modules.
> That's also why registering (dkms add) of the modules is done by install
> scriplet.
> Only the build/install of registered modules are done by the hook in order
> to
> schedule them properly.
> > With these hooks [1] designed for kernel transaction, we will have
> complete
> > support of oot modules in pacman.
> >
> I didn't tried them but I don't get how this can works when you
> install/update
> a dkms module.
> I'm aware of that, they were designed that way. That's why with those, and
your hook triggered by dkms package transactions, every case will be
covered. I guess it could be possible to handle both within a single hook
by adding an additional trigger on "usr/src/*" and so on, but I think it's
probably better to keep them separate.

> Your dkms-install hook is triggered by files installation in
> /usr/lib/modules,
> but dkms packages didn't do that at all. They write these files in
> /usr/src/$foo and register the dkms module with dkms add.
> Files are copied in /usr/lib/modules when you run "dkms install" (so not
> under
> the watch of alpm), so it make no sense to call dkms install again when
> file
> are here.
> [1]
> https://projects.archlinux.org/svntogit/packages.git/tree/trunk/nvidia-dkms
> .install?h=packages/nvidia
> --
> Sébastien "Seblu" Luttringer
> https://seblu.net | Twitter: @seblu42
> GPG: 0x2072D77

More information about the arch-dev-public mailing list