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

[lintian] 01/01: checks/shared-libs: fix FP dev-pkg-without-shlib-symlink for GCC runtime libs



This is an automated email from the git hooks/post-receive script.

jwilk pushed a commit to branch master
in repository lintian.

commit 80fc0a0d8b5ae69fec40aaa37c7a833ac8f12d0b
Author: Jakub Wilk <jwilk@debian.org>
Date:   Fri May 13 17:00:18 2016 +0200

    checks/shared-libs: fix FP dev-pkg-without-shlib-symlink for GCC runtime libs
---
 checks/shared-libs.pm | 27 ++++++++++++++++++++-------
 debian/changelog      |  3 +++
 2 files changed, 23 insertions(+), 7 deletions(-)

diff --git a/checks/shared-libs.pm b/checks/shared-libs.pm
index 9a7eeb0..a02d8e6 100644
--- a/checks/shared-libs.pm
+++ b/checks/shared-libs.pm
@@ -277,8 +277,19 @@ sub run {
                 my $gcc_ver = $1;
                 my $basename = basename($link_file);
                 my $madir = $MA_DIRS->value($proc->pkg_arch);
-                $madir =~ s/^i386/i586/;
-                my $stem;
+                my @madirs;
+                if (defined $madir) {
+                    # For i386-*, the triplet GCC uses can be i586-* or i686-*.
+                    if ($madir =~ /^i386-/) {
+                        for my $n (5..6) {
+                            $madir =~ s/^i./i$n/;
+                            push @madirs, $madir;
+                        }
+                    } else {
+                        push @madirs, $madir;
+                    }
+                }
+                my @stems;
                 # Generally we are looking for
                 #  * usr/lib/gcc/MA-TRIPLET/$gcc_ver/${BIARCH}$basename
                 #
@@ -287,14 +298,16 @@ sub run {
                 #
                 # The two-three letter name directory before the
                 # basename is bi-arch names.
-                $stem = "usr/lib/gcc/$madir/$gcc_ver" if defined $madir;
+                push @stems, map { "usr/lib/gcc/$_/$gcc_ver" } @madirs;
                 # But in the rare case we don't know the Multi-arch dir,
                 # just do without it as often (but not always) works.
-                $stem = "usr/lib/gcc/$gcc_ver" unless defined $madir;
+                push @stems, "usr/lib/gcc/$gcc_ver" unless @madirs;
 
-                push @alt,
-                  map { "$stem/$_$basename" }
-                  ('', qw(64/ 32/ n32/ x32/ sf/ hf/));
+                for my $stem (@stems) {
+                    push @alt,
+                      map { "$stem/$_$basename" }
+                      ('', qw(64/ 32/ n32/ x32/ sf/ hf/));
+                }
             }
 
           PKG:
diff --git a/debian/changelog b/debian/changelog
index 206c2c2..4d0e908 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -27,6 +27,9 @@ lintian (2.5.45) UNRELEASED; urgency=medium
     + [NT] Improve the description for missing ldconfig trigger
       to cover that debhelper will generally add it
       automatically.  Most packages will just need a rebuild.
+    + [JW] Fix false positive dev-pkg-without-shlib-symlink for GCC runtime
+      libraries.  Thanks to Matthias Klose for the bug report.
+      (Closes: #823833)
   * checks/testsuite.pm:
     + [NT] Apply patch from Ondřej Nový to add more known
       autodep8 test suites.  (Closes: #823088)

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/lintian/lintian.git


Reply to: