X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=dh_makeshlibs;h=860637a01de028ac3e521b545ba39aa3d129d8de;hb=fb8f18f4a98669c3b85e1bd7920fbabfc00b886e;hp=a3c81e15a1d77dbbd9c3a23338e60e03734267a6;hpb=462d30c34c365863606d9fb454b49251a9b4bf9b;p=debhelper.git diff --git a/dh_makeshlibs b/dh_makeshlibs index a3c81e1..860637a 100755 --- a/dh_makeshlibs +++ b/dh_makeshlibs @@ -21,6 +21,11 @@ libraries, and generates a shlibs file for the libraries it finds. It also adds a call to ldconfig in the F and F scripts (in v3 mode and above only) to any packages in which it finds shared libraries. +Packages that support multiarch are detected, and +a Pre-Dependency on multiarch-support is set in ${misc:Pre-Depends} ; +you should make sure to put that token into an appropriate place in your +debian/control file for packages supporting multiarch. + =head1 FILES =over 4 @@ -52,10 +57,10 @@ looked at library filenames rather than using objdump. By default, the shlibs file generated by this program does not make packages depend on any particular version of the package containing the shared -library. It may be necessary for you to add some version dependancy +library. It may be necessary for you to add some version dependency information to the shlibs file. If B<-V> is specified with no dependency information, the current upstream version of the package is plugged into a -dependency that looks like "I B<(=E> IB<)>". Note that in +dependency that looks like "I B<(E>= IB<)>". Note that in debhelper compatibility levels before v4, the Debian part of the package version number is also included. If B<-V> is specified with parameters, the parameters can be used to specify the exact dependency information needed @@ -122,6 +127,7 @@ init(options => { }); my $objdump=cross_command("objdump"); +my $multiarch=dpkg_architecture_value("DEB_HOST_MULTIARCH"); foreach my $package (@{$dh{DOPACKAGES}}) { next if is_udeb($package); @@ -130,6 +136,7 @@ foreach my $package (@{$dh{DOPACKAGES}}) { my %seen; my $need_ldconfig = 0; + my $is_multiarch = 0; doit("rm", "-f", "$tmp/DEBIAN/shlibs"); @@ -148,6 +155,9 @@ foreach my $package (@{$dh{DOPACKAGES}}) { while () { my ($library, $major); push @lib_files, $_; + if (defined $multiarch && $multiarch ne '' && m,/$multiarch/,) { + $is_multiarch=1; + } my $ret=`$objdump -p $_`; if ($ret=~m/\s+SONAME\s+(.+)\.so\.(.+)/) { # proper soname format @@ -240,6 +250,9 @@ foreach my $package (@{$dh{DOPACKAGES}}) { doit("rm", "-f", "$tmp/DEBIAN/symbols"); } } + if ($is_multiarch) { + addsubstvar($package, "misc:Pre-Depends", "multiarch-support"); + } } =head1 SEE ALSO