.\" Automatically generated by Pod::Man 4.10 (Pod::Simple 3.35) .\" .\" Standard preamble: .\" ======================================================================== .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. .de Ve \" End verbatim text .ft R .fi .. .\" Set up some character translations and predefined strings. \*(-- will .\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left .\" double quote, and \*(R" will give a right double quote. \*(C+ will .\" give a nicer C++. Capital omega is used to do unbreakable dashes and .\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, .\" nothing in troff, for use with C<>. .tr \(*W- .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' .ie n \{\ . ds -- \(*W- . ds PI pi . if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch . if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch . ds L" "" . ds R" "" . ds C` "" . ds C' "" 'br\} .el\{\ . ds -- \|\(em\| . ds PI \(*p . ds L" `` . ds R" '' . ds C` . ds C' 'br\} .\" .\" Escape single quotes in literal strings from groff's Unicode transform. .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" .\" If the F register is >0, we'll generate index entries on stderr for .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. .\" .\" Avoid warning from groff about undefined register 'F'. .de IX .. .nr rF 0 .if \n(.g .if rF .nr rF 1 .if (\n(rF:(\n(.g==0)) \{\ . if \nF \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . if !\nF==2 \{\ . nr % 0 . nr F 2 . \} . \} .\} .rr rF .\" .\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). .\" Fear. Run. Save yourself. No user-serviceable parts. . \" fudge factors for nroff and troff .if n \{\ . ds #H 0 . ds #V .8m . ds #F .3m . ds #[ \f1 . ds #] \fP .\} .if t \{\ . ds #H ((1u-(\\\\n(.fu%2u))*.13m) . ds #V .6m . ds #F 0 . ds #[ \& . ds #] \& .\} . \" simple accents for nroff and troff .if n \{\ . ds ' \& . ds ` \& . ds ^ \& . ds , \& . ds ~ ~ . ds / .\} .if t \{\ . ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" . ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' . ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' . ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' . ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' . ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' .\} . \" troff and (daisy-wheel) nroff accents .ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' .ds 8 \h'\*(#H'\(*b\h'-\*(#H' .ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] .ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' .ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' .ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] .ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] .ds ae a\h'-(\w'a'u*4/10)'e .ds Ae A\h'-(\w'A'u*4/10)'E . \" corrections for vroff .if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' .if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' . \" for low resolution devices (crt and lpr) .if \n(.H>23 .if \n(.V>19 \ \{\ . ds : e . ds 8 ss . ds o a . ds d- d\h'-1'\(ga . ds D- D\h'-1'\(hy . ds th \o'bp' . ds Th \o'LP' . ds ae ae . ds Ae AE .\} .rm #[ #] #H #V #F C .\" ======================================================================== .\" .IX Title "DH_CLIDEPS 1" .TH DH_CLIDEPS 1 "2019-03-11" "perl v5.28.1" "Debhelper for CLI (Common Language Infrastructure)" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" dh_clideps \- calculates CLI (.NET) dependencies .SH "SYNOPSIS" .IX Header "SYNOPSIS" \&\fBdh_clideps\fR [\fIdebhelper\ options\fR] .SH "DESCRIPTION" .IX Header "DESCRIPTION" dh_clideps is a debhelper program that is responsible for generating the ${cli:Depends} substitutions and adding them to substvars files. .PP The program will look at .dll/.exe and .config files in your package, and will use the embedded dependency information to generate a dependency string on assembly and shared libs packages, including the setting of version ranges (as declared by the shlibs/clilibs files of the used packages). The dependency on a certain \s-1CLR\s0 (Common Language Runtime) version will be also added to the final variable. .PP Note: the dependencies on shared libraries may be not resolved correctly if there are no .config files associated with the the .exe/.dll file which refers to the particular shared library (by its \s-1SONAME\s0). .PP If you use this program, your package should build-depend on cli-common-dev (>= 0.4.0). .SH "OPTIONS" .IX Header "OPTIONS" .IP "\fB\-d\fR" 4 .IX Item "-d" Attempt to predict and avoid duplicates that may appear if you package both, native shared libraries and \s-1DLL\s0 assemblies in one package. The list of possibly duplicating candidates is expected to be in the variable shlib:Depends from debian/package.substvars. .IP "\fB\-r\fR" 4 .IX Item "-r" Don't set a strong versioned dependency on mono-runtime or other \s-1CLR\s0 packages. This option can be used to specify a relaxed dependency on the \s-1VM/CLR\s0 by-hand in the control file, eg. \*(L"mono-runtime | cli-runtime\*(R". .IP "\fB\-l\fRdirectory[:directory:directory:..]" 4 .IX Item "-ldirectory[:directory:directory:..]" Before mondis is run, \s-1MONO_GAC_PREFIX\s0 and \s-1MONO_PATH\s0 are set to the specified directory (or directories \*(-- separate 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 of ikdasm. .Sp Note that the directory given should be the complete or relative path to a directory that contains the library. See example below. .IP "\fB\-X\fRpath \fB\-\-exclude=\fRpath" 4 .IX Item "-Xpath --exclude=path" Paths to exclude from the .dll/.exe search. Assemblies in these paths or their subdirectories will not be searched for dependencies, and assemblies missing references will not cause dh_clideps to fail. .IP "\fB\-\-exclude\-moduleref=\fRmoduleref" 4 .IX Item "--exclude-moduleref=moduleref" ModuleRef to exclude from dependency resolution. dh_clideps will not attempt to resolve dependencies of these ModuleRefs. In particular, dh_clideps will not fail if these modulerefs are unresolvable. .Sp May be specified multiple times. Each time it excludes a new ModuleRef. .Sp ModuleRefs to be excluded can be optionally prefixed with \*(L"i:\*(R" to specify a case-insensitive match. .Sp If foo is excluded, both foo and foo.dll will be considered when matching the exclude. .IP "\fBinternal-mono\fR" 4 .IX Item "internal-mono" Uses the mono runtime in . (used for bootstrapping mono packages) .SH "EXAMPLES" .IX Header "EXAMPLES" Suppose that your source package produces libfoo1.0\-cil and libbar1.0\-cil binary packages. In your rules file, first run dh_makeclilibs, then dh_clideps: (\s-1MONO_GAC_PREFIX\s0 example) dh_makeclilibs \-V dh_clideps \-l debian/libfoo1.0\-cil/usr:debian/libbar1.0\-cil/usr or (\s-1MONO_PATH\s0 example) dh_clideps \-l debian/foo\-application/usr/lib/foo\-application or (\s-1MONO_GAC_PREFIX\s0 example) dh_clideps \-l debian/tmp/usr .PP 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 .PP 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 .SH "SEE ALSO" .IX Header "SEE ALSO" \&\fBdebhelper\fR\|(7) .PP This program is a part of cli-common-dev. .SH "AUTHOR" .IX Header "AUTHOR" Mirco Bauer , Eduard Bloch , partialy based on code from Brendan O'Dea and Joey Hess .