Package: dkms
Version: 2.3-2
Severity: normal

In #703842 lsb-release was added as Recommends, though either it
should be 1) a Depends instead or 2) not even require/use
lsb-release at all (/etc/os-release or something similar could be
used instead or even just /etc/debian_version).

The reason why this should be handled as such is best described
through a situation we ran into with our rtpengine project (
https://github.com/sipwise/rtpengine/ - credits to Alex Lutay for
spotting the problem in our internal tests and Richard Fuchs for
debugging the underlying issue of it):

1) The rtpengine dkms.conf lists DEST_MODULE_LOCATION[0]=/extra
2) However, /usr/sbin/dkms uses `/usr/bin/lsb_release -i -s` to
   determine Debian as the distro
3) which causes dkms to override `/extra` as module directory and
   use `/updates/dkms` instead
4) However, during a mass package removal, the lsb_release package
   gets uninstalled *before* the rtpengine DKMS package
5) therefore /usr/sbin/dkms fails to detect the distro as Debian,
   which makes the detected distro fall back to "unknown"
6) which in turn disables the DKMS module directory override from
   3) and so ends up looking in `/extra` from 1) only
7) which fails to find the module file itself anywhere, thus
   resulting in an empty "" path to remove, causing failures like:

  |    - Deleting from: /lib/modules/4.9.0-6-amd64/
  | rmdir: failed to remove '': No such file or directory
  |  - Original module
  |    - No original module was found for this module on this kernel.
  |    - Use the dkms install command to reinstall any previous module version.

So please either depend on lsb-release package or don't rely on
lsb-release as-is.

regards,
-mika-

Reply via email to