[lintian] 01/02: Use Lintian::Data for section/name mapping
This is an automated email from the git hooks/post-receive script.
rouca pushed a commit to branch master
in repository lintian.
commit f71f3901fcc23db666d3de176526e91fd4f228a2
Author: Bastien ROUCARIÈS <roucaries.bastien+debian@gmail.com>
Date: Fri Aug 25 22:22:39 2017 +0200
Use Lintian::Data for section/name mapping
---
checks/fields.pm | 34 +++++++++++++---------------------
data/fields/name_section_mappings | 16 ++++++++++++++++
debian/changelog | 1 +
3 files changed, 30 insertions(+), 21 deletions(-)
diff --git a/checks/fields.pm b/checks/fields.pm
index cb91491..4ad96ad 100644
--- a/checks/fields.pm
+++ b/checks/fields.pm
@@ -96,23 +96,14 @@ our @known_java_pkg = map { qr/$_/ } (
);
# Mapping of package names to section names
-my @NAME_SECTION_MAPPINGS = (
- [qr/-docs?$/ => 'doc'],
- [qr/-dbg(?:sym)?$/ => 'debug'],
- [qr/^(?:python-)?zope/ => 'zope'],
- [qr/^python3?-/ => 'python'],
- [qr/^r-(?:cran|bioc|other)-/ => 'gnu-r'],
- [qr/^lib.*-perl$/ => 'perl'],
- [qr/^lib.*-cil(?:-dev)?$/ => 'cli-mono'],
- [qr/^lib.*-(?:java|gcj)$/ => 'java'],
- [qr/^(?:lib)php-/ => 'php'],
- [qr/^lib(?:hugs|ghc6?)-/ => 'haskell'],
- [qr/^lib.*-ruby(?:1\.\d)?$/ => 'ruby'],
- [qr/^lib.*-(?:ocaml|camlp4)-dev$/ => 'ocaml'],
- [qr/^lib.*-dev$/ => 'libdevel'],
- [qr/^gir\d+\.\d+-.*-\d+\.\d+$/ => 'introspection'],
- [qr/^libjs-/ => 'javascript'],
-);
+my $NAME_SECTION_MAPPINGS = Lintian::Data->new(
+ 'fields/name_section_mappings',
+ qr/\s*=>\s*/,
+ sub {
+ my $regex = qr/$_[0]/x;
+ $_[0] = $_[1];
+ return $regex;
+ });
my %VCS_EXTRACT = (
browser => sub { return @_;},
@@ -547,14 +538,15 @@ sub run {
# Check package name <-> section. oldlibs is a special case; let
# anything go there.
if ($parts[-1] ne 'oldlibs') {
- foreach my $map (@NAME_SECTION_MAPPINGS) {
- next unless ($pkg =~ $map->[0]);
+ foreach my $section ($NAME_SECTION_MAPPINGS->all()) {
+ my $regex = $NAME_SECTION_MAPPINGS->value($section);
+ next unless ($pkg =~ m{$regex});
my $area = '';
$area = "$parts[0]/" if (scalar @parts == 2);
tag 'wrong-section-according-to-package-name',
- "$pkg => ${area}$map->[1]"
- unless $parts[-1] eq $map->[1];
+ "$pkg => ${area}$section"
+ unless $parts[-1] eq $section;
last;
}
}
diff --git a/data/fields/name_section_mappings b/data/fields/name_section_mappings
new file mode 100644
index 0000000..ca9c1de
--- /dev/null
+++ b/data/fields/name_section_mappings
@@ -0,0 +1,16 @@
+# map between regex (x) of package => section
+-docs?$ => doc
+-dbg(?:sym)?$ => debug
+^(?:python-)?zope => zope
+^python3?- => python
+^r-(?:cran|bioc|other)- => gnu-r
+^lib.*-perl$ => perl
+lib.*-cil(?:-dev)?$ => cli-mono
+^lib.*-(?:java|gcj)$ => java
+^(?:lib)php- => php
+^lib(?:hugs|ghc6?)- => haskell
+^lib.*-ruby(?:1\.\d)?$ => ruby
+^lib.*-(?:ocaml|camlp4)-dev$ => ocaml
+^lib.*-dev$ => libdevel
+^gir\d+\.\d+-.*-\d+\.\d+$ => introspection
+^libjs- => javascript
\ No newline at end of file
diff --git a/debian/changelog b/debian/changelog
index e7cbe8d..af300a8 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -43,6 +43,7 @@ lintian (2.5.53) UNRELEASED; urgency=medium
+ [CL] Ensure that python3-foo packages have "Section: python", not
just python2-foo. (Closes: #870272)
+ [RG] Do no longer require debug packages to be priority extra.
+ + [BR] Use Lintian::Data for name/section mapping
* checks/files.pm:
+ [BR] Avoid false positive privacy-breach-generic for legal.xml.
* checks/init.d.desc:
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/lintian/lintian.git
Reply to: