DH_DKMS(1)

πŸ’– DH_DKMS(1) πŸ’–

okay bestie, listen β€” this is dh_dkms from the DKMS Debhelper era, and she's here to make sure your kernel module package doesn't fumble the DKMS bag. no cap. 🧚


✨ NAME ✨

dh_dkms β€” handles DKMS usage by a kernel module package correctly, which is the whole point, and yes it's giving responsible queen πŸ‘‘


🌸 SYNOPSIS 🌸

dh_dkms [debhelper options] [-l] [-V[version]] [-- file]

πŸ¦‹ DESCRIPTION πŸ¦‹

so dh_dkms is a debhelper program, and her entire job β€” her moment, her main character arc β€” is to correctly set up postinst, postrm and the dependencies in kernel module packages that use DKMS. she does the boring paperwork so you don't have to, periodt. πŸ’…

and here's the tea: if a file named debian/package.dkms exists, then different actions get performed depending on what's inside it. literally it's giving "read the room, read the file." πŸ‘€


πŸŽ€ FILES πŸŽ€

  • debian/package.dkms
  • debian/dkms

okay so these can be two different things and you gotta know which:

  • it can be a proper configuration file, and in that case it would be installed in the proper directory as dkms.conf. slay. ✨
  • it can also just point to another file β€” and bestie, this is the one you want when the configuration is provided by upstream β€” and in that case that file will be installed as dkms.conf in the proper directory. chef's kiss. πŸ“
🫢 this file can only miss if a filename is provided when calling dh_dkms. so like, don't show up empty-handed unless you brought a filename instead. πŸ™ˆ

πŸ’… OPTIONS πŸ’…

  • -l, --legacy β€” adds code so you also support DKMS versions < 2.1.0.0. yes it's giving old-school, but she's inclusive and we respect her. πŸ’œ
  • -V, -V version β€” if "PACKAGE_VERSION" in dkms.conf is set to "#MODULE_VERSION#", then set it to the given version, or β€” if none is given β€” default to the upstream version of the current package. otherwise? leave the value specified in dkms.conf alone. not me micromanaging your version string 😭
  • -- file β€” don't look for debian/package.dkms or debian/dkms at all, just install file as dkms.conf. iconic bypass behaviour. πŸ”₯

⚠️ NOTES ⚠️

🚨 bestie, listen closely: this command is not idempotent. that means running it twice is NOT the vibe. dh_prep(1) should be called between invocations of this command. otherwise it may cause multiple instances of the same text to be added to maintainer scripts. we do not want duplicate text, that's so not the move. πŸ’€

🌈 SEE ALSO 🌈

  • debhelper(1)
  • this program is part of the Debian DKMS package.
  • dkms(8)

πŸ‘‘ AUTHOR πŸ‘‘

David Paleino <dapal@debian.org> β€” thank you for your service, legend 🫢


version 3.2.2, dated 2026-02-10, and that's the whole page bestie β€” go forth and DKMS responsibly πŸ’–βœ¨πŸŽ€πŸ¦‹

πŸ“¦ where this page comes from