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

[SCM] Debian package checker branch, master, updated. 2.5.0-rc1-18-gd831bb1



The following commit has been merged in the master branch:
commit 47657b0d5b1a07c8b5d3f03ff576e1f47e52091d
Author: Niels Thykier <niels@thykier.net>
Date:   Sat Mar 19 20:37:13 2011 +0100

    Made missing versions on debhelper B-D less than 7 a pedantic tag

diff --git a/checks/debhelper b/checks/debhelper
index ddb5f56..30e5199 100644
--- a/checks/debhelper
+++ b/checks/debhelper
@@ -27,6 +27,10 @@ use Util;
 use Lintian::Data;
 use Lintian::Tags qw(tag);
 
+# If compat is less than or equal to this, then a missing version
+# for this level is only a pedantic issue.
+use constant PEDANTIC_COMPAT => 7;
+
 # If there is no debian/compat file present but cdbs is being used, cdbs will
 # create one automatically.  Currently it always uses compatibility level 5.
 # It may be better to look at what version of cdbs the package depends on and
@@ -329,11 +333,17 @@ while (my ($dep, $command) = each %missingbdeps) {
     tag 'missing-build-dependency-for-dh_-command', "$command=$dep"
 	unless ($bdepends_noarch->implies($dep));
 }
-# debhelper 7 was in Lenny, so an unversioned B-D will guarantee
-# to pull at least debhelper 7.
-if ($level > 7 && not $bdepends->implies("debhelper (>= $level~)")) {
-    tag 'package-lacks-versioned-build-depends-on-debhelper', $level;
-} elsif (@versioncheck or $overridetargets) {
+
+
+unless ($bdepends->implies("debhelper (>= $level~)")){
+    my $tagname = 'package-needs-versioned-debhelper-build-depends';
+    $tagname = 'package-lacks-versioned-build-depends-on-debhelper'
+	if ($level <= PEDANTIC_COMPAT);
+
+    tag $tagname, $level;
+}
+
+if (@versioncheck) {
     my %seen;
     @versioncheck = grep { !$seen{$_}++ } @versioncheck;
     for my $program (@versioncheck) {
@@ -344,21 +354,23 @@ if ($level > 7 && not $bdepends->implies("debhelper (>= $level~)")) {
 	    $program, "(>= $required)";
 	}
     }
-    if ($seenmaintscript) {
-	my $required = '8.1.0~';
-	my $needed = "debhelper (>= $required)";
-	unless ($bdepends->implies($needed)) {
-	    tag 'debhelper-maintscript-needs-versioned-build-depends',
-	    "(>= $required)";
-	}
+}
+
+if ($overridetargets) {
+    my $required = '7.0.50~';
+    my $needed = "debhelper (>= $required)";
+    unless ($bdepends->implies($needed)) {
+	tag 'debhelper-overrides-need-versioned-build-depends',
+	"(>= $required)";
     }
-    if ($overridetargets) {
-	my $required = '7.0.50~';
-	my $needed = "debhelper (>= $required)";
-	unless ($bdepends->implies($needed)) {
-	    tag 'debhelper-overrides-need-versioned-build-depends',
-	    "(>= $required)";
-	}
+}
+
+if ($seenmaintscript) {
+    my $required = '8.1.0~';
+    my $needed = "debhelper (>= $required)";
+    unless ($bdepends->implies($needed)) {
+	tag 'debhelper-maintscript-needs-versioned-build-depends',
+	"(>= $required)";
     }
 }
 
diff --git a/checks/debhelper.desc b/checks/debhelper.desc
index d395516..0b9cbb4 100644
--- a/checks/debhelper.desc
+++ b/checks/debhelper.desc
@@ -21,12 +21,30 @@ Info: If a package uses debhelper, it must declare a Build-Depends
  on debhelper.
 
 Tag: package-lacks-versioned-build-depends-on-debhelper
+Severity: pedantic
+Certainty: certain
+Info: The package either doesn't declare a versioned build dependency on
+ debhelper or does not declare a versioned build dependency on a new
+ enough version of debhelper to satisfy the declared compatibility level.
+ .
+ Recommended practice is to always declare an explicit versioned
+ dependency on debhelper equal to or greater than the compatibility level
+ used by the package, even if the versioned dependency isn't strictly
+ necessary.  Having a versioned dependency also helps with backports to
+ older releases and correct builds on partially updated systems.
+Ref: debhelper(7)
+
+Tag: package-needs-versioned-debhelper-build-depends
 Severity: minor
 Certainty: certain
 Info: The package either doesn't declare a versioned build dependency on
  debhelper or does not declare a versioned build dependency on a new
  enough version of debhelper to satisfy the declared compatibility level.
  .
+ The required version of debhelper is not guaranteed to be satisfied
+ in all supported releases of Debian and therefore this may lead to
+ a build failure.
+ .
  Recommended practice is to always declare an explicit versioned
  dependency on debhelper equal to or greater than the compatibility level
  used by the package, even if the versioned dependency isn't strictly
diff --git a/debian/changelog b/debian/changelog
index 9d54852..5284e2a 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -3,6 +3,7 @@ lintian (2.5.0~rc2) UNRELEASED; urgency=low
   * Summary of tag changes:
     + Added:
       - unknown-multi-arch-value
+      - package-needs-versioned-debhelper-build-depends
 
   * checks/binaries:
     + [ADB] Update binary-from-other-architecture's tests in line with the
@@ -15,9 +16,13 @@ lintian (2.5.0~rc2) UNRELEASED; urgency=low
     + [NT] Removed assumption that there was always a changelog in a binary
       with a data.tar.lzma member.
   * checks/debhelper:
-    + [NT] Only emit package-lacks-versioned-build-depends-on-debhelper if
-      the version required is greater than 7, since debhelper 7 is in
-      all supported releases of Debian.
+    + [NT] Reduced package-lacks-versioned-build-depends-on-debhelper to a
+      pedantic tag.  It is now only emitted for debhelper compat levels of
+      7 or less, since even oldstable ships with debhelper 7.
+    + [NT] Added package-needs-versioned-debhelper-build-depends, which
+      replaces package-lacks-versioned-build-depends-on-debhelper old
+      task of warning if a missing versioned depends may lead to a build
+      failure.  Currently this is only emitted for compat 8 (or higher).
   * checks/fields{,.desc}:
     + [NT] Recognise Multi-Arch as a known binary field.  (Closes: #617816)
     + [NT] Fixed typo in a tag description.
diff --git a/t/tests/debhelper-no-depends/desc b/t/tests/debhelper-no-depends/desc
index 3283929..8f671eb 100644
--- a/t/tests/debhelper-no-depends/desc
+++ b/t/tests/debhelper-no-depends/desc
@@ -6,6 +6,6 @@ Test-For:
  debhelper-but-no-misc-depends
  missing-build-dependency
  missing-build-dependency-for-dh_-command
- package-lacks-versioned-build-depends-on-debhelper
+ package-needs-versioned-debhelper-build-depends
  package-uses-debhelper-but-lacks-build-depends
  weak-dependency-on-misc-depends
diff --git a/t/tests/debhelper-no-depends/tags b/t/tests/debhelper-no-depends/tags
index 031ded5..15ba194 100644
--- a/t/tests/debhelper-no-depends/tags
+++ b/t/tests/debhelper-no-depends/tags
@@ -4,5 +4,5 @@ E: debhelper-no-depends source: missing-build-dependency-for-dh_-command dh_gtkm
 E: debhelper-no-depends source: missing-build-dependency-for-dh_-command dh_lisp=dh-lisp
 E: debhelper-no-depends source: package-uses-debhelper-but-lacks-build-depends
 W: debhelper-no-depends source: debhelper-but-no-misc-depends debhelper-no-depends
-W: debhelper-no-depends source: package-lacks-versioned-build-depends-on-debhelper 8
+W: debhelper-no-depends source: package-needs-versioned-debhelper-build-depends 8
 W: debhelper-no-depends source: weak-dependency-on-misc-depends debhelper-suggests

-- 
Debian package checker


Reply to: