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

Bug#634191: [checks/copyright-file] CR(LF) line endings in copyright files



Hi,

I tried to make a test that triggers this tag, but it does not seem to
work.  According to emacs the copyright file in question has a "DOS"
newline before it is handed to dpkg-deb, but the tag is still not triggered.
  I have attached the test I used (merged with the original patch);
hopefully you can spot the issue.  :)

~Niels


From 34a2a2cca6694716057253e1e03041286a89266a Mon Sep 17 00:00:00 2001
From: Niels Thykier <niels@thykier.net>
Date: Wed, 31 Aug 2011 11:28:59 +0200
Subject: [PATCH] Check for CR(LF) ending in copyright files (incl. test)

---
 checks/copyright-file                              |    4 ++
 checks/copyright-file.desc                         |   10 +++++
 .../debian/debian/control.in                       |   13 +++++++
 .../debian/debian/copyright-crln.copyright         |   36 ++++++++++++++++++++
 4 files changed, 63 insertions(+), 0 deletions(-)
 create mode 100644 t/tests/copyright-file-general/debian/debian/copyright-crln.copyright

diff --git a/checks/copyright-file b/checks/copyright-file
index 1262748..3dcaf3c 100644
--- a/checks/copyright-file
+++ b/checks/copyright-file
@@ -130,6 +130,10 @@ if ($line) {
 $_ = slurp_entire_file('copyright');
 study $_;
 
+if (m,\r,) {
+    tag 'copyright-has-crs';
+}
+
 my $wrong_directory_detected = 0;
 
 if (m,\<fill in (?:http/)?ftp site\>, or m/\<Must follow here\>/) {
diff --git a/checks/copyright-file.desc b/checks/copyright-file.desc
index 64f774f..be1ea49 100644
--- a/checks/copyright-file.desc
+++ b/checks/copyright-file.desc
@@ -391,3 +391,13 @@ Info: The copyright file refers to
  .
  This file may be removed from a future version of base-files if
  references to it drop sufficiently.
+
+Tag: copyright-has-crs
+Severity: pedantic
+Certainty: certain
+Info: The copyright file has lines ending in CRLF instead of just LF.
+ .
+ Running the following command against the given file removes any
+ <tt>CR</tt> character in the file:
+ .
+ <tt>sed -i 's/\r//g' path/to/file</tt>
diff --git a/t/tests/copyright-file-general/debian/debian/control.in b/t/tests/copyright-file-general/debian/debian/control.in
index 707959e..3cf834a 100644
--- a/t/tests/copyright-file-general/debian/debian/control.in
+++ b/t/tests/copyright-file-general/debian/debian/control.in
@@ -194,3 +194,16 @@ Description: checks not referring to common licenses
  Lintian.  It is part of the Lintian test suite and may do very odd
  things.  It should not be installed like a regular package.  It may
  be an empty package.
+
+Package: copyright-crln
+Architecture: all
+Depends: $\{shlibs:Depends\}, $\{misc:Depends\}
+Description: check for Windows newlines
+ This package should trigger a tag for having Windows newlines in
+ the copyright file.
+ .
+ This is a test package designed to exercise some feature or tag of
+ Lintian.  It is part of the Lintian test suite and may do very odd
+ things.  It should not be installed like a regular package.  It may
+ be an empty package.
+
diff --git a/t/tests/copyright-file-general/debian/debian/copyright-crln.copyright b/t/tests/copyright-file-general/debian/debian/copyright-crln.copyright
new file mode 100644
index 0000000..f3d1d5a
--- /dev/null
+++ b/t/tests/copyright-file-general/debian/debian/copyright-crln.copyright
@@ -0,0 +1,36 @@
+This package was debianized by Tobias Toedter <t.toedter@gmx.net> on
+Thu, 20 Mar 2008 23:48:15 +0100
+
+It was downloaded from <http://www.example.org/>
+
+Format-Specification: http://wiki.debian.org/Proposals/CopyrightFormat?recall=184
+
+Upstream Authors: 
+
+    Tobias Toedter <t.toedter@gmx.net>
+
+Copyright: 
+
+    Copyright (C) 2008 Tobias Toedter
+
+License:
+
+    This package is free software; you can redistribute it and/or modify
+    it under the terms of the GNU General Public License as published by
+    the Free Software Foundation; either version 2 of the License, or
+    (at your option) any later version.
+ 
+    This package is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+    GNU General Public License for more details.
+ 
+    You should have received a copy of the GNU General Public License
+    along with this package; if not, write to the Free Software
+    Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
+
+On Debian systems, the complete text of the GNU General
+Public License can be found in `/usr/share/common-licenses/GPL'.
+
+The Debian packaging is Copyright 2008, Tobias Toedter <t.toedter@gmx.net>
+and is licensed under the GPL, see above.
-- 
1.7.5.4


Reply to: