Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Bug#1009179: dkms: Upstream has removed mkdeb|mkdsc|mkbmdeb

779 views
Skip to first unread message

Jaak Pruulmann-Vengerfeldt

unread,
Apr 8, 2022, 6:20:03 AM4/8/22
to
Package: dkms
Version: 3.0.3-1
Severity: important
Tags: upstream

Dear Maintainer,

It appears that dkms upstream has removed support for mkdeb, mkdsc and
mkbmdeb --
https://github.com/dell/dkms/commit/68b083eaa3f71c166adfece8e4f760e0cdf96185

From that commit one can't really see if there have been any
discussions.

With the new upstream version arriving in unstable, it is not clear what
is now the proper way to create binary-only module packages, for
example? Our packaging seems to assume that all the support is still
there in upstream..


With best regards,
jaak.

-- System Information:
Debian Release: bookworm/sid
APT prefers stable-security
APT policy: (500, 'stable-security'), (500, 'unstable'), (500, 'testing'), (1, 'experimental')
Architecture: amd64 (x86_64)

Kernel: Linux 5.16.0-5-amd64 (SMP w/4 CPU threads; PREEMPT)
Kernel taint flags: TAINT_OOT_MODULE, TAINT_UNSIGNED_MODULE
Locale: LANG=et_EE.UTF-8, LC_CTYPE=et_EE.UTF-8 (charmap=UTF-8), LANGUAGE not set
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled

Versions of packages dkms depends on:
ii coreutils 8.32-4.1
ii dctrl-tools 2.24-3+b1
ii dpkg-dev 1.21.7
ii gcc [c-compiler] 4:11.2.0-2
ii gcc-10 [c-compiler] 10.3.0-15
ii gcc-11 [c-compiler] 11.2.0-19
ii gcc-4.4 [c-compiler] 4.4.7-8
ii gcc-4.5 [c-compiler] 4.5.4-1
ii gcc-4.6 [c-compiler] 4.6.4-7
ii gcc-4.7 [c-compiler] 4.7.4-3
ii gcc-4.9 [c-compiler] 4.9.4-2
ii gcc-5 [c-compiler] 5.5.0-12
ii gcc-6 [c-compiler] 6.5.0-2
ii gcc-9 [c-compiler] 9.4.0-5
ii kmod 29-1
ii lsb-release 11.1.0
ii make 4.3-4.1
ii patch 2.7.6-7

Versions of packages dkms recommends:
ii fakeroot 1.28-1
ii linux-headers-amd64 [linux-headers-generic] 5.16.18-1
ii sudo 1.9.10-3

Versions of packages dkms suggests:
ii e2fsprogs 1.46.5-2
pn menu <none>

-- Configuration Files:
/etc/dkms/framework.conf changed [not included]

-- no debconf information

Craig Sanders

unread,
May 8, 2022, 11:20:03 PM5/8/22
to
The commit message for https://github.com/dell/dkms/commit/68b083eaa3f71c166adfece8e4f760e0cdf96185 says:

"Distributions know much better than us, what is the proper
way to package a DKMS module. Remove in-tree, semi-constantly
out-of-date code."

and a comment on https://github.com/dell/dkms/issues/70 says:

"Distribution specific packaging was severely broken for
most distributions and has been dropped in the latest
release."


This indicates that upstream has no interest in including or maintaining
distro-specific module packaging (and, indeed, mkrpm has been removed from
dkms too).

So, if upstream won't do it, perhaps debian's package of dkms should include
extra scripts providing the debian-specific functionality removed from dkms.

`dkms-mkbmdeb`, for example, could be a standalone wrapper script that uses
`dkms mktarball --binaries-only`. It could be based on the mkbmdeb code
removed from dkms.

ditto for `dkms-mkdeb` and `dkms-mkdsc` scripts.

Having separate scripts would also make it easier to keep dkms up-to-date with
upstream without having to patch it on every build.

craig

PS: not having to have the linux headers and a complete build environment on
every machine would be useful. My fastest machine, for example, can compile
the ZFS dkms module in a minute or so (per kernel version, and I typically
have at least two, current and previous on every machine) while my other
machines can easily take 15 or 20 minutes or more.

Antoine Beaupre

unread,
May 19, 2022, 3:40:03 PM5/19/22
to
Package: dkms
Version: 2.8.4-3
Followup-For: Bug #1009179

I'd like to also signal that I'm interested in keeping this
functionality around. I looked at the current dkms source and it's not
*that* complicatd. It's basically one (rather big, 100 lines) shell
function which does everything.

Also, it seems to me we should be able to get away with just
replicating mkdsc: once we have a source package, we can use our
normal tools to build the rest...

It looks like it's basically:

invoke_command "cp -ar '$DEBDIR/' '$temp_dir_debian'" "copying template"
invoke_command "cp -Lpr '$dkms_tree/$module/$module_version/source' '$temp_dir_debian/$module-$module_version'" "Copying source tree"
invoke_command "dpkg-buildpackage -S -us -uc 1>/dev/null" "Building source package" || \

Now obviously, maybe those templates are gone too so we'd need to keep
that up to date, but it seems that's somewhat feasible...

-- System Information:
Debian Release: 11.3
APT prefers stable-security
APT policy: (500, 'stable-security'), (500, 'stable-debug'), (500, 'stable'), (1, 'unstable'), (1, 'testing')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 5.10.0-14-amd64 (SMP w/4 CPU threads)
Kernel taint flags: TAINT_PROPRIETARY_MODULE, TAINT_FIRMWARE_WORKAROUND, TAINT_OOT_MODULE, TAINT_UNSIGNED_MODULE
Locale: LANG=fr_CA.UTF-8, LC_CTYPE=fr_CA.UTF-8 (charmap=UTF-8), LANGUAGE not set
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled

Versions of packages dkms depends on:
ii build-essential 12.9
ii coreutils 8.32-4+b1
ii dctrl-tools 2.24-3+b1
ii dpkg-dev 1.20.9
ii gcc [c-compiler] 4:10.2.1-1
ii gcc-10 [c-compiler] 10.2.1-6
ii kmod 28-1
ii lsb-release 11.1.0
ii make 4.3-4.1
ii patch 2.7.6-7

Versions of packages dkms recommends:
ii fakeroot 1.25.3-1.1
ii linux-headers-amd64 [linux-headers-generic] 5.10.113-1
ii sudo 1.9.5p2-3

Versions of packages dkms suggests:
ii e2fsprogs 1.46.2-2
pn menu <none>

-- debconf-show failed
0 new messages