[lintian] 01/02: Support scanning contents of (eg.) data/files/js-libraries.
This is an automated email from the git hooks/post-receive script.
lamby pushed a commit to branch master
in repository lintian.
commit 901f396f21194ac1d58c1b80cb52893ca65cfcce
Author: Chris Lamb <lamby@debian.org>
Date: Thu Feb 1 19:29:30 2018 +0000
Support scanning contents of (eg.) data/files/js-libraries.
---
checks/files.pm | 16 ++++++++++------
data/files/js-libraries | 3 ++-
data/files/php-libraries | 1 +
debian/changelog | 2 ++
4 files changed, 15 insertions(+), 7 deletions(-)
diff --git a/checks/files.pm b/checks/files.pm
index 2d8b7d1..5841440 100644
--- a/checks/files.pm
+++ b/checks/files.pm
@@ -139,12 +139,19 @@ sub _load_file_package_list_mapping {
sub {
my $pkg = strip($_[0]);
my $pkg_regexp = qr/^$pkg$/x;
- my $file_regexp = strip($_[1]);
+ my @sliptline = split(/\s*\~\~/, $_[1], 2);
+ my $file_regexp = strip($sliptline[0]);
$file_regexp =~ s/\$EXT/$ext/g;
+ my $recontents = $reinside;
+ if (scalar(@sliptline) == 2) {
+ my $contents = strip($sliptline[1]);
+ $recontents = qr/$contents/;
+ }
return {
'pkg_re' => $pkg_regexp,
'pkg' => $pkg,
'match' => qr/$file_regexp/,
+ 'contents_re' => $recontents,
};
});
return {
@@ -152,7 +159,6 @@ sub _load_file_package_list_mapping {
'mapping' => $mapping,
'ext' => $ext,
'tag' => $tagname,
- 'reinside' => $reinside,
};
}
@@ -210,13 +216,13 @@ sub _detect_embedded_libraries {
if($fname =~ m/$typere/) {
my $mapping = $type->{'mapping'};
my $typetag = $type->{'tag'};
- my $reinside = $type->{'reinside'};
LIBRARY:
foreach my $library ($mapping->all) {
my $library_data = $mapping->value($library);
my $mainre = $library_data->{'pkg_re'};
my $mainpkg = $library_data->{'pkg'};
my $filere = $library_data->{'match'};
+ my $reinside = $library_data->{'contents_re'};
unless ($fname =~ m,$filere,) {
next LIBRARY;
}
@@ -226,9 +232,7 @@ sub _detect_embedded_libraries {
if(defined($reinside)) {
my $foundre = 0;
my $fd = $file->open(':raw');
-
- my $sfd
- = Lintian::SlidingWindow->new($fd,sub { $_=lc($_); });
+ my $sfd = Lintian::SlidingWindow->new($fd);
READWINDOW:
while (my $block = $sfd->readwindow) {
diff --git a/data/files/js-libraries b/data/files/js-libraries
index 8446635..17b1411 100644
--- a/data/files/js-libraries
+++ b/data/files/js-libraries
@@ -1,6 +1,7 @@
# list of js-libraries included in package
# format is main package regexp ~~ basename without extension
# regexp (x modifier)
+# ~~ contents regexp (optional)
#
# Note: + we automatically add ^ and $ for main package name
# + we automatically add a bunch of js extensions at the end
@@ -42,7 +43,7 @@ libjs-prototype ~~ (?i)/prototype(?:-[\d\.]+)?$EXT
libjs-raphael ~~ (?i)/raphael(?:[\.-]min)?$EXT
libjs-scriptaculous ~~ (?i)/scriptaculous$EXT
libjs-strophe ~~ (?i)/strophe$EXT
-libjs-twitter-bootstrap ~~ (?i)/bootstrap(?:-[\d\.]+)?$EXT
+libjs-twitter-bootstrap ~~ (?i)/bootstrap(?:-[\d\.]+)?$EXT$ ~~ Twitter
libjs-underscore ~~ (?i)/underscore$EXT
libjs-yui ~~ (?i)/(?:yahoo|yui)-(?:dom-event)?$EXT
# Disabled due to false positives. Needs a content check adding to verify
diff --git a/data/files/php-libraries b/data/files/php-libraries
index b4ad3e7..40fe35b 100644
--- a/data/files/php-libraries
+++ b/data/files/php-libraries
@@ -1,6 +1,7 @@
# list of php-libraries included in package
# format is main package regexp ~~ basename without extension
# regexp (x modifier)
+# ~~ contents regexp (optional)
#
# Note: + we automatically add ^ and $ for main package name
# + we automatically add a few PHP extensions at the end
diff --git a/debian/changelog b/debian/changelog
index 61ca98f..5579e0a 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -35,6 +35,8 @@ lintian (2.5.73) UNRELEASED; urgency=medium
(Closes: #664520)
+ [CL] Ensure salsa.debian.org Vcs-Git and Vcs-Browser URIs are
canonical and do not redirect. (Closes: #888809)
+ * checks/files.pm:
+ + [CL] Support scanning contents of (eg.) data/files/js-libraries.
* checks/java.{desc,pm}:
+ [CL] Check for .jar files that do not match the Debian Java policy.
(Closes: #791552)
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/lintian/lintian.git
Reply to: