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

Bug#674469: Test pkgconfig file location for multi-arch same packages



Package: lintian
Version: 2.5.7
Severity: normal
Tags: patch

Please add a check for multi-arch same packages to check for pkgconfig .pc
files in /usr/lib/pkgconfig. They should be in /usr/lib/(triplet)/pkgconfig.

Inspired by bug #674215

Ivo
diff --git a/checks/shared-libs b/checks/shared-libs
index d7c0227..c10cd4b 100644
--- a/checks/shared-libs
+++ b/checks/shared-libs
@@ -590,6 +590,14 @@ if ($multiarch eq 'foreign' and $must_call_ldconfig) {
     tag 'shlib-in-multi-arch-foreign-package', $must_call_ldconfig;
 }
 
+if ($multiarch eq 'same') {
+	foreach my $file (@{$info->sorted_index}) {
+		if ($file =~ m;^usr/lib/pkgconfig/.*\.pc;) {
+			tag 'wrong-pkgconfig-file-in-multi-arch-same-package', $file;
+		}
+	}
+}
+
 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
index 7d13f39..fab1126 100644
--- a/checks/shared-libs.desc
+++ b/checks/shared-libs.desc
@@ -435,3 +435,11 @@ 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.
+
+Tag: wrong-pkgconfig-file-in-multi-arch-same-package
+Severity: normal
+Certainty: possible
+Ref: https://wiki.ubuntu.com/MultiarchSpec
+Info: The package is marked as Multi-Arch: same, but it includes a pkgconfig
+ .pc file in /usr/lib/pkgconfig. The .pc file should be installed in
+ /usr/lib/(triplet)/pkgconfig.

Reply to: