DH_PERL(1)

πŸ’– DH_PERL πŸ’–

okay bestie, so this is dh_perl from the Debhelper manual (section 1, we love a classic) β€” and she's honestly doing so much for you 🫢

✨ NAME ✨

dh_perl β€” calculates Perl dependencies and cleans up after MakeMaker. yes literally both. she does the math and the tidying. main character behaviour fr fr πŸ‘‘

✨ SYNOPSIS ✨

dh_perl [debhelper options] [-d] [library dirs ...]

✨ DESCRIPTION ✨

so dh_perl is a debhelper program, and her whole job is generating the ${perl:Depends} substitutions and adding them into substvars files. iconic, no notes. πŸ’…

she'll go looking at all the Perl scripts and modules in your package, and use everything she finds to generate a dependency on perl or perlapi. then that dependency gets substituted into your package's control file β€” wherever you dropped the token ${perl:Depends}. so like, put the token there and she fills it in. that's the vibe. ✨

oh and also? she cleans up empty directories that MakeMaker can generate when installing Perl modules. queen of the after-party cleanup 🧚

πŸŽ€ OPTIONS πŸŽ€

  • -d β€” okay so in some specific cases you might want to depend on perl-base instead of the full perl package. if that's you, pass -d and dh_perl will generate a dependency on the correct base package instead. this is only necessary for some packages that are included in the base system. lowkey niche but valid πŸ’œ
ngl bestie, heads up: this flag may cause no dependency on perl-base to be generated at all. perl-base is Essential, so its dependency can be left out β€” unless a versioned dependency is needed. so don't come crying to me when there's nothing there 😭
  • -V β€” by default, scripts and architecture independent modules don't depend on any specific version of perl. the -V option makes the current version of the perl package (or perl-base if you're also passing -d) be specified. so like, pin it down. lock her in. πŸ”₯
  • library dirs β€” if your package installs Perl modules in non-standard directories, you can make dh_perl check those directories by passing their names on the command line 🫢 by default she only checks the vendorlib and vendorarch directories. so if you're being ✨different✨, tell her where to look.

🌈 CONFORMS TO 🌈

  • Debian policy, version 3.8.3
  • Perl policy, version 1.20

πŸ’– SEE ALSO πŸ’–

this program is a part of debhelper. found family, your honour πŸ₯Ή

πŸ‘‘ AUTHOR πŸ‘‘

Brendan O'Dea <bod@debian.org> β€” thank you for your service, legend πŸŽ€


and that's the whole page bestie, you ate that πŸ’… dh_perl is version 14.5ubuntu1, dated 2026-09-21, and that's the tea. go forth and let her handle your Perl deps, she's got you πŸ¦‹πŸŒΈ

πŸ“¦ where this page comes from