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

[lintian] 01/04: Allow tag to be renamed



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

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

commit aaac811a880401dce434a3142657dd01eafc8f6f
Author: Bastien ROUCARIÈS <roucaries.bastien+debian@gmail.com>
Date:   Sat Aug 15 21:51:28 2015 +0200

    Allow tag to be renamed
    
    Allow renaming tag.
---
 data/override/renamed-tags                                   |  7 +++++++
 lib/Lintian/Tag/Override.pm                                  |  9 +++++++++
 lib/Lintian/Tags.pm                                          | 12 ++++++++----
 .../debian/debian/overrides-shown.lintian-overrides          |  3 +++
 t/tests/overrides-shown/tags                                 |  4 ++++
 t/tests/overrides/debian/debian/install                      |  1 +
 t/tests/overrides/debian/debian/overrides.lintian-overrides  |  3 +++
 t/tests/overrides/tags                                       |  2 +-
 8 files changed, 36 insertions(+), 5 deletions(-)

diff --git a/data/override/renamed-tags b/data/override/renamed-tags
new file mode 100644
index 0000000..7dab546
--- /dev/null
+++ b/data/override/renamed-tags
@@ -0,0 +1,7 @@
+# list of renamed tag old name => new name. Please alpha sort by old name
+dep5-file-paragraph-reference-header-paragraph => dep5-file-paragraph-references-header-paragraph
+package-install-apt-preferences => package-installs-apt-preferences
+package-install-apt-sources => package-installs-apt-sources
+package-install-ieee-data => package-installs-ieee-data
+package-install-into-obsolete-dir => package-installs-into-obsolete-dir
+privacy-breach-may-use-debian-package => privacy-breach-uses-embedded-file
diff --git a/lib/Lintian/Tag/Override.pm b/lib/Lintian/Tag/Override.pm
index 28e0634..20132a4 100644
--- a/lib/Lintian/Tag/Override.pm
+++ b/lib/Lintian/Tag/Override.pm
@@ -22,6 +22,7 @@ use strict;
 use warnings;
 
 use parent qw(Class::Accessor::Fast);
+use Lintian::Data;
 
 =head1 NAME
 
@@ -72,9 +73,17 @@ considered a pattern.
 
 =cut
 
+# renamed tag list
+my $RENAMED_TAGS = Lintian::Data->new('override/renamed-tags',qr/\s*=>\s*/);
+
 sub new {
     my ($type, $tag, $data) = @_;
     $data = {} unless defined $data;
+
+    if($RENAMED_TAGS->known($tag)) {
+        $tag = $RENAMED_TAGS->value($tag);
+    }
+
     my $self = {
         'arch'     => $data->{'arch'},
         'comments' => $data->{'comments'},
diff --git a/lib/Lintian/Tags.pm b/lib/Lintian/Tags.pm
index aea037f..13c5612 100644
--- a/lib/Lintian/Tags.pm
+++ b/lib/Lintian/Tags.pm
@@ -603,10 +603,6 @@ sub file_overrides {
                 }
                 next unless $found;
             }
-            if ($profile && !$profile->is_overridable($tag)) {
-                $self->{ignored_overrides}{$tag}++;
-                next;
-            }
 
             if ($last_over && $last_over->tag eq $tag && !scalar @$comments) {
                 # There are no new comments, no "empty line" in between and
@@ -624,6 +620,14 @@ sub file_overrides {
             };
             $comments = [];
             $tagover = Lintian::Tag::Override->new($tag, $data);
+            # tag will be changed here if renamed reread
+            $tag = $tagover->{'tag'};
+
+            # treat here ignored overrides
+             if ($profile && !$profile->is_overridable($tag)) {
+                $self->{ignored_overrides}{$tag}++;
+                next;
+            }
             $info->{'overrides-data'}{$tag}{$extra} = $tagover;
             $info->{overrides}{$tag}{$extra} = 0;
             $last_over = $tagover;
diff --git a/t/tests/overrides-shown/debian/debian/overrides-shown.lintian-overrides b/t/tests/overrides-shown/debian/debian/overrides-shown.lintian-overrides
index dd2884b..04ae11b 100644
--- a/t/tests/overrides-shown/debian/debian/overrides-shown.lintian-overrides
+++ b/t/tests/overrides-shown/debian/debian/overrides-shown.lintian-overrides
@@ -14,4 +14,7 @@ FSSTND-dir-in-manual-page usr/share/man/man1/foo.1.gz:2*
 FSSTND-dir-in-manual-page */foo.1.gz:5 /usr/doc/
 FSSTND-dir-in-manual-page */foo.1.gz:3*
 
+# renamed tag
+package-install-apt-sources *
+
 #FSSTND-dir-in-manual-page usr/share/man/man1/foo.1.gz * more occurrences not shown
diff --git a/t/tests/overrides-shown/tags b/t/tests/overrides-shown/tags
index 2ffaf8c..075742d 100644
--- a/t/tests/overrides-shown/tags
+++ b/t/tests/overrides-shown/tags
@@ -1,3 +1,7 @@
+N: renamed tag
+O: overrides-shown: package-installs-apt-sources etc/apt/sources.list.d/
+N: renamed tag
+O: overrides-shown: package-installs-apt-sources etc/apt/sources.list.d/foo.1
 N: exact extra information
 O: overrides-shown: FSSTND-dir-in-manual-page usr/share/man/man1/foo.1.gz:4 /usr/dict/
 N: These are wildcard overrides
diff --git a/t/tests/overrides/debian/debian/install b/t/tests/overrides/debian/debian/install
new file mode 100644
index 0000000..747a313
--- /dev/null
+++ b/t/tests/overrides/debian/debian/install
@@ -0,0 +1 @@
+foo.1 /etc/apt/sources.list.d
\ No newline at end of file
diff --git a/t/tests/overrides/debian/debian/overrides.lintian-overrides b/t/tests/overrides/debian/debian/overrides.lintian-overrides
index dd2884b..04ae11b 100644
--- a/t/tests/overrides/debian/debian/overrides.lintian-overrides
+++ b/t/tests/overrides/debian/debian/overrides.lintian-overrides
@@ -14,4 +14,7 @@ FSSTND-dir-in-manual-page usr/share/man/man1/foo.1.gz:2*
 FSSTND-dir-in-manual-page */foo.1.gz:5 /usr/doc/
 FSSTND-dir-in-manual-page */foo.1.gz:3*
 
+# renamed tag
+package-install-apt-sources *
+
 #FSSTND-dir-in-manual-page usr/share/man/man1/foo.1.gz * more occurrences not shown
diff --git a/t/tests/overrides/tags b/t/tests/overrides/tags
index ce876f0..8cbb094 100644
--- a/t/tests/overrides/tags
+++ b/t/tests/overrides/tags
@@ -1,4 +1,4 @@
 I: overrides: FSSTND-dir-in-manual-page usr/share/man/man1/foo.1.gz:12 /usr/info/
 I: overrides: FSSTND-dir-in-manual-page usr/share/man/man1/foo.1.gz:13 /usr/man/
 I: overrides: FSSTND-dir-in-manual-page usr/share/man/man1/foo.1.gz:14 /usr/adm/
-N: 10 tags overridden (1 warning, 9 info)
+N: 12 tags overridden (2 errors, 1 warning, 9 info)

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


Reply to: