DH_CLIDEPS(1)
β¨ DH_CLIDEPS β¨
okay bestie, welcome to dh_clideps(1), straight out of the Debhelper for CLI (Common Language Infrastructure) manual π this is the little icon that figures out your CLI (.NET) dependencies, and honestly? she's doing the most so you don't have to π«Ά
πΈ NAME πΈ
dh_clideps β she calculates your CLI (.NET) dependencies π
π¦ SYNOPSIS π¦
dh_clideps [debhelper options]
π DESCRIPTION π
So dh_clideps is a debhelper program, and her whole job is generating the ${cli:Depends} substitutions and dropping them into your substvars files. no cap, that's the assignment π
She goes snooping through the .dll/.exe and .config files in your package, and she uses the embedded dependency info to cook up a dependency string on assembly and shared libs packages β version ranges included, exactly as declared by the shlibs/clilibs files of the packages being used. And the dependency on a certain CLR (Common Language Runtime) version? yeah, that also gets added to the final variable. queen behavior π
β οΈ Note: the dependencies on shared libraries may not be resolved correctly if there are no.configfiles associated with the.exe/.dllfile that refers to the particular shared library (by its SONAME). like, she's trying her best but she needs the receipts π
If you use this program, your package should build-depend on cli-common-dev (>= 0.4.0). periodt.
π OPTIONS π
-dβ Attempt to predict and avoid duplicates that may show up if you package both native shared libraries and DLL assemblies in one package. The list of possibly-duplicating candidates is expected to live in the variableshlib:Dependsfromdebian/package.substvars. it's giving "we already have that at home" π-rβ Don't set a strong versioned dependency onmono-runtimeor other CLR packages. This one lets you specify a relaxed dependency on the VM/CLR by-hand in the control file, eg."mono-runtime | cli-runtime". lowkey chill of you π-ldirectory[:directory:directory:..]β Beforemondisis run,MONO_GAC_PREFIXandMONO_PATHget set to the specified directory (or directories β separate them with colons β¨). This is useful for multi-binary packages where a library is built in one package and another package contains binaries linked against said library. Relative paths will be made absolute for the benefit ofikdasm.
Note that the directory you give should be the complete or relative path to a directory that contains the library. See the example below π
-Xpath,--exclude=pathβ Paths to exclude from the.dll/.exesearch. Assemblies in these paths or their subdirectories will not be searched for dependencies, and assemblies missing references will not causedh_clidepsto fail. not her problem anymore, she's unbothered π§--exclude-moduleref=modulerefβ ModuleRef to exclude from dependency resolution.dh_clidepswill not attempt to resolve dependencies of these ModuleRefs. In particular,dh_clidepswill not fail if these modulerefs are unresolvable. iconic, honestly π
May be specified multiple times. Each time it excludes a new ModuleRef. π
ModuleRefs to be excluded can be optionally prefixed with "i:" to specify a case-insensitive match.
If foo is excluded, both foo and foo.dll will be considered when matching the exclude.
internal-monoβ Uses the mono runtime in.(used for bootstrapping mono packages) π
β EXAMPLES β
Suppose your source package produces libfoo1.0-cil and libbar1.0-cil binary packages. In your rules file, first run dh_makeclilibs, then dh_clideps:
(MONO_GAC_PREFIX example)
dh_makeclilibs -V
dh_clideps -l debian/libfoo1.0-cil/usr:debian/libbar1.0-cil/usr or
(MONO_PATH example)
dh_clideps -l debian/foo-application/usr/lib/foo-application or
(MONO_GAC_PREFIX example)
dh_clideps -l debian/tmp/usr
Suppose your source package libquux1.0-cil also ships some examples in /usr/share, and you don't want to pull in those dependencies:
dh_clideps -X/usr/share
Suppose your source package has a ModuleRef on libbaz but works correctly without it. Excluding this ModuleRef will prevent dh_clideps from adding a package dependency or failing if the libbaz dependency is unresolvable:
dh_clideps --exclude-moduleref=libbaz
π₯ SEE ALSO π₯
debhelper(7)- This program is a part of
cli-common-dev. π«Ά
π AUTHOR π
Mirco Bauer <meebey@meebey.net>, Eduard Bloch <blade@debian.org>, partialy based on code from Brendan O'Dea <bod@debian.org> and Joey Hess <joeyh@debian.org>.
and that's the whole page bestie, we ate and left no crumbs π β¨ this one's from perl v5.40.1, dated 2025-08-16 β go forth and resolve some dependencies, you've got this π¦ππ
π¦ where this page comes from
- ubuntu resolute: cli-common-dev 0.11 Β· GPL
- ubuntu stonking: cli-common-dev 0.11 Β· GPL
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms