]> git.donarmstrong.com Git - debhelper.git/blobdiff - dh_makeshlibs
Typo. Closes: #653339
[debhelper.git] / dh_makeshlibs
index a3c81e15a1d77dbbd9c3a23338e60e03734267a6..860637a01de028ac3e521b545ba39aa3d129d8de 100755 (executable)
@@ -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<postinst> and F<postrm> 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<packagename> B<(=E<gt>> I<packageversion>B<)>". Note that in
+dependency that looks like "I<packagename> B<(E<gt>>= I<packageversion>B<)>". 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 (<FIND>) {
                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