summaryrefslogtreecommitdiff
path: root/dh_makeshlibs
diff options
context:
space:
mode:
authorjoey <joey>2001-03-14 23:10:45 +0000
committerjoey <joey>2001-03-14 23:10:45 +0000
commit8656127b483fdf64336ee97dc440d6c0a4a5a929 (patch)
treebb8aede055d77702ce0884594f81f295d62f6211 /dh_makeshlibs
parent69e9378c02ff0845f23442451fc8807c6238082a (diff)
downloaddebhelper-8656127b483fdf64336ee97dc440d6c0a4a5a929.tar.gz
r454: * dh_makeshlibs: don't follow links to .so files. Instead, we will look
for *.so* files. This should work for the variously broken db3, liballeg, and it will fix the problem with console-tools-dev, which contained (arguably broken) absolute symlinks to real files, which were followed. Closes: #85483
Diffstat (limited to 'dh_makeshlibs')
-rwxr-xr-xdh_makeshlibs9
1 files changed, 8 insertions, 1 deletions
diff --git a/dh_makeshlibs b/dh_makeshlibs
index fe31f5ff..e8006688 100755
--- a/dh_makeshlibs
+++ b/dh_makeshlibs
@@ -82,7 +82,14 @@ foreach my $package (@{$dh{DOPACKAGES}}) {
doit("rm", "-f", "$tmp/DEBIAN/shlibs");
- open (FIND, "find $tmp -xtype f -name '*.so*' |");
+ # So, we look for files or links to existing files with names that
+ # match "*.so*". Matching *.so.* is not good enough because of
+ # broken crap like db3. And we only look at real files not
+ # symlinks, so we don't accidentually add shlibs data to -dev
+ # packages. This may have a few false positives, which is ok,
+ # because only if we can get a library name and a major number from
+ # objdump is anything actually added.
+ open (FIND, "find $tmp -type f -name '*.so*' |");
while (<FIND>) {
my ($library, $major) =
`objdump -p $_` =~ m/\s+SONAME\s+(.+)\.so\.(.+)/;