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

[lintian] 01/01: Detect non consecutive debian revision



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

broucaries-guest pushed a commit to branch master
in repository lintian.

commit ec4dcdf1d3d1f20fbd8e46a969edd274dbcd89d2
Author: Bastien ROUCARIÈS <roucaries.bastien+debian@gmail.com>
Date:   Fri Jul 31 14:59:08 2015 +0200

    Detect non consecutive debian revision
    
    Signed-off-by: Bastien ROUCARIÈS <roucaries.bastien+debian@gmail.com>
---
 checks/changelog-file.desc                            |  8 ++++++++
 checks/changelog-file.pm                              | 19 +++++++++++++++----
 debian/changelog                                      |  4 +++-
 .../debian/debian/changelog.in                        |  2 +-
 t/tests/changelog-file-experimental/desc              |  3 ++-
 t/tests/changelog-file-experimental/tags              |  3 +++
 6 files changed, 32 insertions(+), 7 deletions(-)

diff --git a/checks/changelog-file.desc b/checks/changelog-file.desc
index 06e7009..057c4f2 100644
--- a/checks/changelog-file.desc
+++ b/checks/changelog-file.desc
@@ -359,6 +359,14 @@ Experimental: yes
 Info: The last changelog entry implies this version is not for release.
     Instead it should specify the distribution it is to be uploaded to.
 
+Tag: non-consecutive-debian-revision
+Severity: pedantic
+Certainty: possible
+Experimental: yes
+Info: The last changelog entry refer to a debian revision that is not
+ consecutive to previous changelog entry. Please use consecutive Debian
+ revision or use UNRELEASED version.
+
 Tag: version-refers-to-distribution
 Severity: minor
 Certainty: certain
diff --git a/checks/changelog-file.pm b/checks/changelog-file.pm
index f25f9c0..1cdd9ea 100644
--- a/checks/changelog-file.pm
+++ b/checks/changelog-file.pm
@@ -319,10 +319,21 @@ sub run {
             $first_upstream =~ s/-[^-]+$//;
             my $second_upstream = $second_version;
             $second_upstream =~ s/-[^-]+$//;
-            if (    $first_upstream eq $second_upstream
-                and $entries[0]->Changes
-                =~ /^\s*\*\s+new\s+upstream\s+(?:\S+\s+)?release\b/im) {
-                tag 'possible-new-upstream-release-without-new-version';
+            my $first_debian = $first_version;
+            $first_debian =~ s/^[^-]+-//;
+            my $second_debian = $second_version;
+            $second_debian =~ s/^[^-]+-//;
+
+            if ($first_upstream eq $second_upstream) {
+                if ($entries[0]->Changes
+                    =~ /^\s*\*\s+new\s+upstream\s+(?:\S+\s+)?release\b/im) {
+                    tag 'possible-new-upstream-release-without-new-version';
+                }
+                if ($first_debian =~ /^\d+$/ and $second_debian =~ /^\d+$/) {
+                    unless ($second_debian == $first_debian + 1) {
+                        tag 'non-consecutive-debian-revision';
+                    }
+                }
             }
 
             my $first_dist = lc $entries[0]->Distribution;
diff --git a/debian/changelog b/debian/changelog
index a910343..171fe45 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -8,6 +8,8 @@ lintian (2.5.35) UNRELEASED; urgency=medium
       that contains the "offending" LFS symbol.  These tend to
       come from gnulib and be LFS compliant.  Thanks to Guillem
       Jover for the report.  (Closes: #787853)
+  * checks/changelog-file.{desc,pm}:
+    + [BR] Detect non consecutive debian revision.  (Closes: #789820)
   * checks/fields.desc:
     + [JW] Fix spelling of the word "indicate".
   * checks/scripts.desc:
@@ -18,7 +20,7 @@ lintian (2.5.35) UNRELEASED; urgency=medium
     + [BR] Detect pascal resource file source.  (Closes: #793908).
   * data/scripts/maintainer-script-bad-command:
     + [BR] Detect more case of
-       maintainer-script-should-not-use-adduser-system-without-home.
+      maintainer-script-should-not-use-adduser-system-without-home.
     + [BR] Print offending line for
       maintainer-script-should-not-use-adduser-system-without-home.
   * data/spelling/corrections*:
diff --git a/t/tests/changelog-file-experimental/debian/debian/changelog.in b/t/tests/changelog-file-experimental/debian/debian/changelog.in
index be6e0e0..5f894f6 100644
--- a/t/tests/changelog-file-experimental/debian/debian/changelog.in
+++ b/t/tests/changelog-file-experimental/debian/debian/changelog.in
@@ -5,7 +5,7 @@
 
  -- {$author}  {$date}
 
-{$source} (0.1) experimental; urgency=low
+{$source} (1.0-1) experimental; urgency=low
 
   * First upload to experimental.
 
diff --git a/t/tests/changelog-file-experimental/desc b/t/tests/changelog-file-experimental/desc
index a7512bf..b940cad 100644
--- a/t/tests/changelog-file-experimental/desc
+++ b/t/tests/changelog-file-experimental/desc
@@ -1,7 +1,8 @@
 Testname: changelog-file-experimental
 Sequence: 6000
-Version: 1.0
+Version: 1.0-3
 Description: Check experimental to unstable changes
 Skeleton: pedantic
 Options: --pedantic -I -E
 Test-For: experimental-to-unstable-without-comment
+ non-consecutive-debian-revision
diff --git a/t/tests/changelog-file-experimental/tags b/t/tests/changelog-file-experimental/tags
index 288e37f..81e96cc 100644
--- a/t/tests/changelog-file-experimental/tags
+++ b/t/tests/changelog-file-experimental/tags
@@ -1 +1,4 @@
 P: changelog-file-experimental: experimental-to-unstable-without-comment
+P: changelog-file-experimental: no-upstream-changelog
+W: changelog-file-experimental source: native-package-with-dash-version
+X: changelog-file-experimental: non-consecutive-debian-revision

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


Reply to: