Package: dpkg-dev
Version: 1.14.22
Severity: wishlist
Tags: patch

Please use RUNPATH when defined instead of RPATH. A possible
implementation's attached.
diff -ur dpkg-1.14.22.orig/scripts/Dpkg/Shlibs/Objdump.pm dpkg-1.14.22/scripts/Dpkg/Shlibs/Objdump.pm
--- dpkg-1.14.22.orig/scripts/Dpkg/Shlibs/Objdump.pm	2008-07-01 19:07:54.000000000 +0200
+++ dpkg-1.14.22/scripts/Dpkg/Shlibs/Objdump.pm	2008-10-14 21:36:42.000000000 +0200
@@ -125,6 +125,7 @@
     $self->{GNU_HASH} = '';
     $self->{SONAME} = '';
     $self->{NEEDED} = [];
+    $self->{RUNPATH} = [];
     $self->{RPATH} = [];
     $self->{dynsyms} = {};
     $self->{flags} = {};
@@ -197,6 +198,8 @@
 		$self->{HASH} = $1;
 	    } elsif (/^\s*GNU_HASH\s+(\S+)/) {
 		$self->{GNU_HASH} = $1;
+	    } elsif (/^\s*RUNPATH\s+(\S+)/) {
+		push @{$self->{RUNPATH}}, split (/:/, $1);
 	    } elsif (/^\s*RPATH\s+(\S+)/) {
 		push @{$self->{RPATH}}, split (/:/, $1);
 	    }
diff -ur dpkg-1.14.22.orig/scripts/dpkg-shlibdeps.pl dpkg-1.14.22/scripts/dpkg-shlibdeps.pl
--- dpkg-1.14.22.orig/scripts/dpkg-shlibdeps.pl	2008-08-26 15:52:08.000000000 +0200
+++ dpkg-1.14.22/scripts/dpkg-shlibdeps.pl	2008-10-14 23:09:23.000000000 +0200
@@ -142,7 +142,9 @@
     my %soname_notfound;
     my %alt_soname;
     foreach my $soname (@sonames) {
-	my $lib = my_find_library($soname, $obj->{RPATH}, $obj->{format}, $file);
+	my @usedrpath = scalar(@{$obj->{RUNPATH}}) ? $obj->{RUNPATH}
+	    : $obj->{RPATH};
+	my $lib = my_find_library($soname, @usedrpath, $obj->{format}, $file);
 	unless (defined $lib) {
 	    $soname_notfound{$soname} = 1;
 	    $global_soname_notfound{$soname} = 1;

Reply via email to