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: