X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=dh_shlibdeps;h=e941af6cabd204379317180c8180638f96daae3f;hb=e2a6d4cec4a7ee952cf6a7f250d80f1d75a38f95;hp=3ab89818d3614a9c15aa69ce5ab48d0d6d2a012a;hpb=77334e766300401b6fe512fd9a758c0fd5819db4;p=debhelper.git diff --git a/dh_shlibdeps b/dh_shlibdeps index 3ab8981..e941af6 100755 --- a/dh_shlibdeps +++ b/dh_shlibdeps @@ -16,48 +16,51 @@ B [S>] [B<-L>I] [B<-l>I] =head1 DESCRIPTION -dh_shlibdeps is a debhelper program that is responsible for calculating +B is a debhelper program that is responsible for calculating shared library dependencies for packages. This program is merely a wrapper around L that calls it -once for each package listed in the control file, passing it +once for each package listed in the F file, passing it a list of ELF executables and shared libraries it has found. =head1 OPTIONS =over 4 -=item B<-u>I, B<--dpkg-shlibdeps-params=>I +=item B<-X>I, B<--exclude=>I + +Exclude files that contain F anywhere in their filename from being +passed to B. This will make their dependencies be ignored. +This may be useful in some situations, but use it with caution. This option +may be used more than once to exclude more than one thing. =item B<--> I -Pass "params" to L. +Pass I to L. -=item B<-X>I, B<--exclude=>I +=item B<-u>I, B<--dpkg-shlibdeps-params=>I -Exclude files that contain "item" anywhere in their filename from being -passed to dpkg-shlibdeps. This will make their dependencies be ignored. -This may be useful in some situations, but use it with caution. This option -may be used more than once to exclude more than one thing. +This is another way to pass I to L. +It is deprecated; use B<--> instead. -=item B<-l>I[:directory:directory:..] +=item B<-l>I[B<:>I ...] -With recent versions of dpkg-shlibdeps, this option is generally not +With recent versions of B, this option is generally not needed. -Before dpkg-shlibdeps is run, LD_LIBRARY_PATH will have added to it the +Before B is run, B will have added to it the specified directory (or directories -- separate with colons). With recent -versions of dpkg-shlibdeps, this is mostly only useful for packages that +versions of B, this is mostly only useful for packages that build multiple flavors of the same library, or other situations where the library is installed into a directory not on the regular library search path. =item B<-L>I, B<--libpackage=>I -With recent versions of dpkg-shlibdeps, this option is generally not +With recent versions of B, this option is generally not needed, unless your package builds multiple flavors of the same library. -It tells dpkg-shlibdeps (via its -S parameter) to look first in the package +It tells B (via its B<-S> parameter) to look first in the package build directory for the specified package, when searching for libraries, symbol files, and shlibs files. @@ -67,18 +70,18 @@ symbol files, and shlibs files. Suppose that your source package produces libfoo1, libfoo-dev, and libfoo-bin binary packages. libfoo-bin links against libfoo1, and should -depend on it. In your rules file, first run dh_makeshlibs, then dh_shlibdeps: +depend on it. In your rules file, first run B, then B: dh_makeshlibs dh_shlibdeps This will have the effect of generating automatically a shlibs file for libfoo1, and using that file and the libfoo1 library in the -debian/libfoo1/usr/lib directory to calculate shared library dependency +F directory to calculate shared library dependency information. If a libbar1 package is also produced, that is an alternate build of -libfoo, and is installed into /usr/lib/bar/, you can make libfoo-bin depend +libfoo, and is installed into F, you can make libfoo-bin depend on libbar1 as follows: dh_shlibdeps -Llibbar1 -l/usr/lib/bar @@ -112,6 +115,11 @@ foreach my $package (@{$dh{DOPACKAGES}}) { my $tmp=tmpdir($package); my $ext=pkgext($package); + # dpkg-shlibdeps expects this directory to exist + if (! -d "$tmp/DEBIAN") { + doit("install","-o",0,"-g",0,"-d","$tmp/DEBIAN"); + } + my @filelist; my $ff;