[devscripts] 02/04: licensecheck: added --encoding option

dod at debian.org dod at debian.org
Sun Nov 22 19:51:19 UTC 2015


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

dod pushed a commit to branch master
in repository devscripts.

commit 6570360a5953344247a54ceb634db41dab899054
Author: Dominique Dumont <dod at debian.org>
Date:   Wed Nov 18 21:14:21 2015 +0100

    licensecheck: added --encoding option
---
 debian/changelog        |  2 ++
 scripts/licensecheck.pl | 15 +++++++++++++--
 test/test_licensecheck  |  4 ++--
 3 files changed, 17 insertions(+), 4 deletions(-)

diff --git a/debian/changelog b/debian/changelog
index a339970..f6d8f7f 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -27,6 +27,8 @@ devscripts (2.15.10) UNRELEASED; urgency=medium
       extension instead of mime types provided by "file" command.  The
       list of file extensions is more boring to maintain but also more
       predictable.  (Closes: #803724)
+    + added --encoding option. By default, input files are handled as utf-8
+      Information is printed on STDOUT as utf-8.
     * --text option is deprecated
 
   [ Osamu Aoki ]
diff --git a/scripts/licensecheck.pl b/scripts/licensecheck.pl
index 881807b..aaf5982 100755
--- a/scripts/licensecheck.pl
+++ b/scripts/licensecheck.pl
@@ -30,7 +30,7 @@ B<licensecheck> B<--help>|B<--version>
 
 B<licensecheck> [B<--no-conf>] [B<--verbose>] [B<--copyright>]
 [B<-l>|B<--lines=>I<N>] [B<-i>|B<--ignore=>I<regex>] [B<-c>|B<--check=>I<regex>]
-[B<-m>|B<--machine>] [B<-r>|B<--recursive>]
+[B<-m>|B<--machine>] [B<-r>|B<--recursive>]  [B<-e>|B<--encoding=>I<...>]
 I<list of files and directories to check>
 
 =head1 DESCRIPTION
@@ -80,6 +80,13 @@ The default includes common source files.
 
 Also display copyright text found within the file
 
+=item B<-e> B<--encoding>
+
+Specifies input encoding of source files. By default, input files are
+not decoded. When encoding is specified, license and copyright
+information are printed on STDOUT as utf8, or garbage if you got the
+encoding wrong.
+
 =item B<-m>, B<--machine>
 
 Display the information in a machine readable way, i.e. in the form
@@ -261,6 +268,7 @@ GetOptions(\%OPT,
            "help|h",
            "check|c=s",
            "copyright",
+	   "encoding|e=s",
            "ignore|i=s",
            "lines|l=i",
            "machine|m",
@@ -326,7 +334,10 @@ while (@files) {
     my $copyright = '';
     my $license = '';
 
-    open (my $F, '<' ,$file) or die "Unable to access $file\n";
+    my $enc = $OPT{encoding} ;
+    my $mode = $enc ? "<:encoding($enc)" : '<';
+    # need to use "<" when encoding is unknown otherwise we break compatibility
+    open (my $F, $mode ,$file) or die "Unable to access $file\n";
 
     while ( <$F>) {
 	last if ($. > $OPT{'lines'});
diff --git a/test/test_licensecheck b/test/test_licensecheck
index 9c8fb33..5225b0f 100755
--- a/test/test_licensecheck
+++ b/test/test_licensecheck
@@ -134,7 +134,7 @@ testRegexpKiller() {
 }
 
 testEncoding () {
-    license2 "-m --copyright" "copr-iso8859.h" "GPL (v2) (with incorrect FSF address)	2011 Heinrich Müller <henmull at src.gnome.org>"
-    license2 "-m --copyright" "copr-utf8.h" "GPL (v2 or later)	2004-2015 Oliva 'f00' Oberto / 2001-2010 Paul 'bar' Stevénsön"
+    license2 "-m --copyright --encoding iso-8859-1" "copr-iso8859.h" "GPL (v2) (with incorrect FSF address)	2011 Heinrich Müller <henmull at src.gnome.org>"
+    license2 "-m --copyright --encoding utf8" "copr-utf8.h" "GPL (v2 or later)	2004-2015 Oliva 'f00' Oberto / 2001-2010 Paul 'bar' Stevénsön"
 }
 . shunit2

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



More information about the devscripts-devel mailing list