[lintian] 02/03: Detect link copyright header
This is an automated email from the git hooks/post-receive script.
broucaries-guest pushed a commit to branch master
in repository lintian.
commit 96d509147c8d9c5d19f0a65d35924058e235ec0d
Author: Bastien ROUCARIÈS <roucaries.bastien+debian@gmail.com>
Date: Sat Jan 23 20:36:19 2016 +0100
Detect link copyright header
---
checks/cruft.pm | 25 ++++++++++++++++++++++
data/cruft/bad-link-copyright | 3 +++
.../debian/src/copyright-header.html | 9 ++++++++
t/tests/cruft-cc-by-nc-sa/tags | 1 +
4 files changed, 38 insertions(+)
diff --git a/checks/cruft.pm b/checks/cruft.pm
index bf0f9ec..e85620a 100644
--- a/checks/cruft.pm
+++ b/checks/cruft.pm
@@ -158,6 +158,14 @@ my $RFC_WHITELIST = Lintian::Data->new(
return qr/$_[0]/xms;
});
+# prebuilt-file or forbidden copyright
+my $BAD_LINK_COPYRIGHT = Lintian::Data->new(
+ 'cruft/bad-link-copyright',
+ qr/\s*\~\~\s*/,
+ sub {
+ return qr/$_[1]/xms;
+ });
+
my $MISSING_DIR_SEARCH_PATH
= Lintian::Data->new('cruft/missing-dir-search-path');
@@ -955,6 +963,23 @@ sub _search_in_block0 {
# now search hidden minified
_linelength_test($entry, $info, $name, $basename, $dirname,$block);
}
+ # search link rel header
+ if(index($block,' rel="copyright" ') > -1) {
+ my $href = $block;
+ $href =~ m,<link \s+
+ rel="copyright" \s+
+ href="([^"]+)" \s*/? \s*>,xmsi;
+ if(defined($1)) {
+ my $copyrighttarget = $1;
+ foreach my $badcopyrighttag ($BAD_LINK_COPYRIGHT->all) {
+ my $regex = $BAD_LINK_COPYRIGHT->value($badcopyrighttag);
+ if($copyrighttarget =~ m{$regex}) {
+ tag $badcopyrighttag, $name;
+ last;
+ }
+ }
+ }
+ }
return;
}
diff --git a/data/cruft/bad-link-copyright b/data/cruft/bad-link-copyright
new file mode 100644
index 0000000..7e90485
--- /dev/null
+++ b/data/cruft/bad-link-copyright
@@ -0,0 +1,3 @@
+# Well know bad link rel copyright
+# format is tag ~~ regexp
+license-problem-cc-by-nc-sa ~~ ^https?://creativecommons.org/licenses/by-nc-sa/
\ No newline at end of file
diff --git a/t/tests/cruft-cc-by-nc-sa/debian/src/copyright-header.html b/t/tests/cruft-cc-by-nc-sa/debian/src/copyright-header.html
new file mode 100644
index 0000000..67f778a
--- /dev/null
+++ b/t/tests/cruft-cc-by-nc-sa/debian/src/copyright-header.html
@@ -0,0 +1,9 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html lang="en" dir="ltr">
+<head>
+<title>Test</title>
+<link rel="copyright" href="http://creativecommons.org/licenses/by-nc-sa/3.0/" />
+<body>
+test
+</body>
+</html>
diff --git a/t/tests/cruft-cc-by-nc-sa/tags b/t/tests/cruft-cc-by-nc-sa/tags
index 9675738..13fcb17 100644
--- a/t/tests/cruft-cc-by-nc-sa/tags
+++ b/t/tests/cruft-cc-by-nc-sa/tags
@@ -1,3 +1,4 @@
E: cruft-cc-by-nc-sa source: license-problem-cc-by-nc-sa src/ISI_export_format.html
+E: cruft-cc-by-nc-sa source: license-problem-cc-by-nc-sa src/copyright-header.html
E: cruft-cc-by-nc-sa source: license-problem-cc-by-nc-sa src/test.svg
E: cruft-cc-by-nc-sa source: license-problem-cc-by-nc-sa src/test.xml
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/lintian/lintian.git
Reply to: