Bug#681410: false postives for arch-dependent-file-not-in-arch-specific-directory diagnose
* Russ Allbery <rra@debian.org>, 2012-07-15, 11:56:
I noticed a lot of false positives:
E: libpython3.3-dev:
arch-dependent-file-not-in-arch-specific-directory
usr/lib/python3.3/config-3.3m-x86_64-linux-gnu/libpython3.3m-pic.a
Move it to /usr/lib/<multiarch-triplet>/python3.3/config-<abitag>/ and
add a symlink if really needed. This will make lintian happy.
So maybe better check if the path either contains the multiarch name
or the debian architecture name.
I think we should rather remove existing exceptions (for ruby and
openjdk, after they are fixed) than to add more.
What (besides minor improvements in ease of maintenance of Lintian)
would be gained from doing so? It looks to me like this is an
arch-qualified path, so it satisfies the requirements of multiarch, and
the only issue is that Lintian has to be slightly more complex to
detect that.
I'm not very active at the moment, so weigh my opinion accordingly, but
I always tried to apply the general principle that if Lintian *could*
figure out the right thing to do, fixing Lintian rather than changing
packages just to make life easier for Lintian is the right approach
unless the package behavior introduces an actual bug or Policy
violation. If people have do things just to make Lintian happy, it
discourages people from using Lintian and paying attention to it.
Fair enough.
The attached is a patch to whitelist all uses of multiarch triplet
within paths.
I didn't whitelist Debian architecture names, because they are too
generic (e.g. "i386" is CPU name for various other architectures that
are != i386). If someone thinks whitelisting them is a good idea,
they'll have to write the code themselves. :P
(I still think that maintainers should use /usr/lib/<triplet>/<subdir>/,
which is blessed by the Policy, wherever possible instead of inventing
their own schemas.)
--
Jakub Wilk
diff --git a/checks/binaries b/checks/binaries
--- a/checks/binaries
+++ b/checks/binaries
@@ -229,7 +229,7 @@
}
if ($multiarch eq 'same') {
- unless ($file =~ m,/(?:$gnu_triplet_re|$ruby_triplet_re|java-\d+-openjdk-\Q$arch\E|\.build-id)/,) {
+ unless ($file =~ m,\b$gnu_triplet_re\b|/(?:$ruby_triplet_re|java-\d+-openjdk-\Q$arch\E|\.build-id)/,) {
tag 'arch-dependent-file-not-in-arch-specific-directory', $file;
}
}
Reply to: