Package: dkms Version: 2.6.1-4 Severity: normal Dear Maintainer,
Since bug #830670 was fixed, 'dkms mkbmdeb' produces binary module packages that have: Provides: DEBIAN_PACKAGE-modules which allow them to satisfy dependencies in many cases. However, some packages that depend on kernel modules have a versioned dependency on their associated kernel module package. For example, the wireguard-tools package in unstable has this: Recommends: wireguard-dkms (= 0.0.20190913-1) | wireguard-modules (>= 0.0.20171001) Section 7.5 of the Debian Policy Manual states: "If the Provides field does not specify a version number, it will not satisfy versioned dependencies or violate versioned Conflicts or Breaks." This means that the binary module package produced by DKMS, that has Provides: wireguard-modules will NOT satisfy the Recommends from the wireguard-tools package, rendering the binary module package useless. Even though not explicitly stated in the policy manual, the inverse situation should not cause any trouble, i.e. if the modules package has a versioned Provides, while the depending package has an non-versioned Depends, the dependency will be satisfied. As such, it seems to me that giving 'bmdeb' packages a versioned Provides should fix this problem without any drawbacks. On my build machine, I changed the bmdeb 'control' template (/etc/dkms/template-dkms-mkbmdeb/debian/control) to have this: Provides: DEBIAN_PACKAGE-modules (= MODULE_VERSION) For wireguard, that results in a package named 'wireguard-modules-4.9.0-11-amd64' that has: Provides: wireguard-modules (= 0.0.20190913) which happily satisfies the wireguard-tools Recommends. I hope this makes sense. Best regards, Martijn Grendelman. -- System Information: Debian Release: 10.1 APT prefers stable-updates APT policy: (500, 'stable-updates'), (500, 'stable'), (150, 'unstable') Architecture: amd64 (x86_64) Kernel: Linux 4.19.0-6-amd64 (SMP w/2 CPU cores) Kernel taint flags: TAINT_OOT_MODULE, TAINT_UNSIGNED_MODULE Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8), LANGUAGE=en_US:en (charmap=UTF-8) Shell: /bin/sh linked to /bin/dash Init: systemd (via /run/systemd/system) LSM: AppArmor: enabled Versions of packages dkms depends on: ii build-essential 12.6 ii coreutils 8.30-3 ii dpkg-dev 1.19.7 ii gcc 4:8.3.0-1 ii kmod 26-1 ii make 4.2.1-1.2 ii patch 2.7.6-3+deb10u1 Versions of packages dkms recommends: ii fakeroot 1.23-1 ii linux-headers-amd64 4.19+105+deb10u1 ii lsb-release 10.2019051400 ii sudo 1.8.27-1+deb10u1 Versions of packages dkms suggests: pn menu <none> pn python3-apport <none> -- no debconf information