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

[SCM] Debian package checker branch, master, updated. 2.5.0-rc2-154-g42f022e



The following commit has been merged in the master branch:
commit 6d0bc5b1bdcd542ed4545b47ef40122ca04e3101
Author: Steve Langasek <steve.langasek@linaro.org>
Date:   Tue Apr 19 14:04:29 2011 -0700

    Add missing-pre-dependency-on-multiarch-support check

diff --git a/checks/files b/checks/files
index bc0545e..44b02d9 100644
--- a/checks/files
+++ b/checks/files
@@ -705,7 +705,7 @@ foreach my $file (@{$info->sorted_index}) {
 	}
     }
 
-    if ($file =~ m,^(?:usr/)lib/([^/]+)/$,) {
+    if ($file =~ m,^(?:usr/)?lib/([^/]+)/$,o) {
 	my $subdir = $1;
 	$TRIPLETS = Lintian::Data->new('files/triplets', '\s+')
 	    unless defined($TRIPLETS);
@@ -715,6 +715,16 @@ foreach my $file (@{$info->sorted_index}) {
 	}
     }
 
+    if ($pkg !~ m/^libc[0-9]/o && $file =~ m,^(?:usr/)?lib/([^/]+)/lib[^/]+(?:-\d[^/]*\.so|\.so\.[^/]+)$,o) {
+	my $subdir = $1;
+	$TRIPLETS = Lintian::Data->new('files/triplets', '\s+')
+	    unless defined($TRIPLETS);
+	if ($TRIPLETS->known($subdir) && $info->field('architecture') eq $TRIPLETS->value($subdir)) {
+	    my $dep = Lintian::Relation->new($info->field('pre-depends')//'');
+	    tag 'missing-pre-dependency-on-multiarch-support' unless ($dep->implies('multiarch-support'));
+	}
+    }
+
     # ---------------- .pyc/.pyo (compiled python files)
     #  skip any file installed inside a __pycache__ directory
     #  - we have a separate check for that directory.
diff --git a/checks/files.desc b/checks/files.desc
index 76dbf9f..5245613 100644
--- a/checks/files.desc
+++ b/checks/files.desc
@@ -1258,3 +1258,12 @@ Info: The package appears to ship a gzip compressed objects.inv file
  If using debhelper (&lt;&lt; 8.1.0), you may need to use the -X
  option to dh_compress. Newer versions of debhelper handle this
  correctly by default.
+
+Tag: missing-pre-dependency-on-multiarch-support
+Severity: serious
+Certainty: certain
+Info: The package ships a library in one of the multiarch lib directories,
+ /lib/&lt;triplet&gt: and /usr/lib/&lt;triplet&gt;, but does not declare a
+ pre-dependency on multiarch-support.  Packages installing to these
+ paths must Pre-Depend: multiarch-support to ensure the library can be
+ found by the dynamic linker at every point during an upgrade.
diff --git a/debian/changelog b/debian/changelog
index 62b0d03..31bc67a 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -13,6 +13,7 @@ lintian (2.5.0~rc3) UNRELEASED; urgency=low
       - javalib-but-no-public-jars
       - missing-manifest
       - codeless-jar
+      - missing-pre-dependency-on-multiarch-support
 
   * checks/*.desc:
     + [NT] Updated the Needs-Info field to include the new
@@ -39,6 +40,10 @@ lintian (2.5.0~rc3) UNRELEASED; urgency=low
       (Closes: #622396)
   * checks/files{,.desc}:
     + [NT] Added dir-or-file-in-run tag.  (Closes: #623031)
+    + [SRL] New tag missing-pre-dependency-on-multiarch-support,
+      Severity: serious, to warn when a package installs libraries to the
+      multiarch directory without taking care of upgrades.
+
   * checks/java{,.desc}:
     + [NT] Added file based on patches submitted by Vicent Fourmond.
       This new file checks for jar files in weird locations.

-- 
Debian package checker


Reply to: