]> git.donarmstrong.com Git - debhelper.git/blobdiff - dh_makeshlibs
Fix =>/>= typo in dh_makeshlibs(1).
[debhelper.git] / dh_makeshlibs
index a3c81e15a1d77dbbd9c3a23338e60e03734267a6..03dd7ab3e5f58b9ae2d7a6e71931cfce63023369 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.
 
+In v9 mode and above, 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
@@ -55,7 +60,7 @@ depend on any particular version of the package containing the shared
 library. It may be necessary for you to add some version dependancy
 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