[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#650444: [new check] "Multi-Arch: foreign" with public shared libraries



tags 650444 + patch
thanks

* Goswin von Brederlow <goswin-v-b@web.de>, 2010-01-29, 16:11:
4) 'Multi-Arch: foreign' with public shared library

The Multi-Arch: foreign specifically says that the package is a binary package and contains no public shared libraries. Therefore any shlibs or symbols file means something is verry wrong.

Patch attached. Improvements to the tag description are welcome.

I run lintian (with the patch applied) against all M-A:foreign packages in the archive. Here are the results:

E: procps: shlib-in-multi-arch-foreign-package lib/libproc-ng-3.3.0.so
E: pulseaudio: shlib-in-multi-arch-foreign-package usr/lib/libpulsecore-1.1.so

--
Jakub Wilk
diff --git a/checks/shared-libs b/checks/shared-libs
--- a/checks/shared-libs
+++ b/checks/shared-libs
@@ -582,6 +582,11 @@
         if not $we_call_postinst and $must_call_ldconfig;
 }
 
+my $multiarch = $info->field('multi-arch') // 'no';
+if ($multiarch eq 'foreign' and $must_call_ldconfig) {
+    tag 'shlib-in-multi-arch-foreign-package', $must_call_ldconfig;
+}
+
 if (-f $info->control('prerm')) {
     local $_ = slurp_entire_file($info->control('prerm'));
     if (/^[^\#]*\bldconfig\b/m) {
diff --git a/checks/shared-libs.desc b/checks/shared-libs.desc
--- a/checks/shared-libs.desc
+++ b/checks/shared-libs.desc
@@ -428,3 +428,10 @@
 Ref: http://wiki.debian.org/ReleaseGoals/LAFileRemoval,
      http://lists.debian.org/debian-devel/2011/05/msg01003.html,
      http://lists.debian.org/debian-devel/2011/05/msg01146.html
+
+Tag: shlib-in-multi-arch-foreign-package
+Severity: serious
+Certainty: certain
+Ref: https://wiki.ubuntu.com/MultiarchSpec
+Info: The package is marked as Multi-Arch: foreign, but it includes a shared
+ library in a public library directory.

Reply to: