[licensecheck] 19/112: New upstream version 3.0.25

Jonas Smedegaard dr at jones.dk
Fri Nov 25 22:01:45 UTC 2016


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

js pushed a commit to branch master
in repository licensecheck.

commit dcd778fd20458fc51eaf154bdf7fd0cd9edee6e9
Author: Jonas Smedegaard <dr at jones.dk>
Date:   Thu Sep 22 12:14:43 2016 +0200

    New upstream version 3.0.25
---
 COPYRIGHT                                          |  15 +-
 Changes                                            |  29 ++
 MANIFEST                                           |  15 +-
 META.json                                          |   4 +-
 META.yml                                           |   4 +-
 Makefile.PL                                        |   4 +-
 README                                             |   2 +-
 SIGNATURE                                          |  57 ++-
 bin/licensecheck                                   |   4 +-
 doap.ttl                                           |  71 +++-
 lib/App/Licensecheck.pm                            | 462 ++++++++++++++++-----
 t/Software-License.t                               |  10 +-
 t/devscripts.t                                     |   4 +-
 t/grant.t                                          |  84 ++++
 t/grant/AGPL/fastx.c                               |  17 +
 t/grant/AGPL/fet.cpp                               |  20 +
 t/grant/AGPL/setup.py                              |  26 ++
 .../Apache/one_helper.rb}                          |   0
 t/grant/Apache_and_more/PIE.htc                    |   6 +
 t/grant/Apache_and_more/rust.lang                  |  12 +
 t/grant/Apache_and_more/select2.js                 |  20 +
 t/grant/Apache_and_more/test_run.py                |  15 +
 t/grant/CC-BY-SA_and_more/WMLA                     |   8 +
 t/grant/CC-BY-SA_and_more/cewl.rb                  |   5 +
 t/grant/CC-BY-SA_and_more/utilities.scad           |   6 +
 t/grant/EPL_and_more/Base64Coder.java              |  18 +
 t/grant/GPL_and_more/init.lua                      |   8 +
 t/license.t                                        |   7 +-
 28 files changed, 782 insertions(+), 151 deletions(-)

diff --git a/COPYRIGHT b/COPYRIGHT
index 9a117ca..b321336 100644
--- a/COPYRIGHT
+++ b/COPYRIGHT
@@ -23,7 +23,6 @@ Files: INSTALL
  t/devscripts/copr-iso8859.h
  t/devscripts/copr-utf8.h
  t/devscripts/dual.c
- t/devscripts/duplicated-copyright.rb
  t/devscripts/epl.h
  t/devscripts/false-positives
  t/devscripts/freetype.c
@@ -60,6 +59,19 @@ Files: INSTALL
  t/devscripts/multi-line-copyright.c
  t/devscripts/regexp-killer.c
  t/devscripts/texinfo.tex
+ t/grant/AGPL/fastx.c
+ t/grant/AGPL/fet.cpp
+ t/grant/AGPL/setup.py
+ t/grant/Apache/one_helper.rb
+ t/grant/Apache_and_more/PIE.htc
+ t/grant/Apache_and_more/rust.lang
+ t/grant/Apache_and_more/select2.js
+ t/grant/Apache_and_more/test_run.py
+ t/grant/CC-BY-SA_and_more/WMLA
+ t/grant/CC-BY-SA_and_more/cewl.rb
+ t/grant/CC-BY-SA_and_more/utilities.scad
+ t/grant/EPL_and_more/Base64Coder.java
+ t/grant/GPL_and_more/init.lua
 Copyright: Unknown
 License: Unknown
 
@@ -72,6 +84,7 @@ Files: Changes
  lib/App/Licensecheck.pm
  t/Software-License.t
  t/devscripts.t
+ t/grant.t
  t/license.t
 Copyright: Copyright 2016 Jonas Smedegaard.
 License: GPL-3.0
diff --git a/Changes b/Changes
index b5056f5..5dbc95d 100644
--- a/Changes
+++ b/Changes
@@ -7,6 +7,35 @@ Home page:    <https://metacpan.org/pod/App::Licensecheck>
 Bug tracker:  <https://bugs.debian.org/cgi-bin/pkgreport.cgi?pkg=licensecheck>
 Maintainer:   Jonas Smedegaard (JONASS) <jonass at cpan.org>
 
+v3.0.25	2016-09-21
+
+ [ Bug Fixes ]
+ - Fix avoid non-digit in version of license Artistic.
+ - Fix delimit multiple licenses with "and/or" (not "or") when ambiguous.
+ - Fix parse whole file for test info-at-eof.h (default length only
+   approximates lines and is too short since String::Copyright 0.003003).
+
+ [ Test Suite ]
+ - Fix tighten runtime-requirement on PAth__Tiny for visit().
+   Slaven Rezić++
+ - Update testsuite to reflect Perl license detection.
+
+ [ Other ]
+ - Apply fallback marker "UNKNOWN" after (not during) license detection.
+ - Detect license CC-BY-SA.
+ - Detect licenses APAFML Adobe-Glyph Adobe-2006 Aladdin SIL FSFAP FSFUL
+   FSFULLR JSON PostgreSQL Unicode-strict Unicode-TOU zlib-acknowledgement.
+ - Enhance detection of Perl license.
+ - Generalize license string composition.
+ - Improve detection of license AGPL.
+ - Improve detection of license Apache.
+ - Improve non-version descriptor matching.
+ - Improve version matching in license detections.
+ - Tighten regexes: Generalize and improve version matching.
+ - Tighten regexes: Simplify space matching (string already normalized).
+ - Tighten regexes: Treat affero as alternative (not prefix) to GPL
+   prefixes lesser and library.
+
 v3.0.24	2016-09-03
 
  [ Bug Fixes ]
diff --git a/MANIFEST b/MANIFEST
index 184f3c0..5f06412 100644
--- a/MANIFEST
+++ b/MANIFEST
@@ -33,7 +33,6 @@ t/devscripts/comments-detection.txt
 t/devscripts/copr-iso8859.h
 t/devscripts/copr-utf8.h
 t/devscripts/dual.c
-t/devscripts/duplicated-copyright.rb
 t/devscripts/epl.h
 t/devscripts/false-positives
 t/devscripts/freetype.c
@@ -70,4 +69,18 @@ t/devscripts/mpl-2.0.sh
 t/devscripts/multi-line-copyright.c
 t/devscripts/regexp-killer.c
 t/devscripts/texinfo.tex
+t/grant.t
+t/grant/AGPL/fastx.c
+t/grant/AGPL/fet.cpp
+t/grant/AGPL/setup.py
+t/grant/Apache/one_helper.rb
+t/grant/Apache_and_more/PIE.htc
+t/grant/Apache_and_more/rust.lang
+t/grant/Apache_and_more/select2.js
+t/grant/Apache_and_more/test_run.py
+t/grant/CC-BY-SA_and_more/WMLA
+t/grant/CC-BY-SA_and_more/cewl.rb
+t/grant/CC-BY-SA_and_more/utilities.scad
+t/grant/EPL_and_more/Base64Coder.java
+t/grant/GPL_and_more/init.lua
 t/license.t
diff --git a/META.json b/META.json
index 14b6c45..06873c2 100644
--- a/META.json
+++ b/META.json
@@ -70,7 +70,7 @@
    "provides" : {
       "App::Licensecheck" : {
          "file" : "lib/App/Licensecheck.pm",
-         "version" : "v3.0.24"
+         "version" : "v3.0.25"
       }
    },
    "release_status" : "stable",
@@ -88,7 +88,7 @@
       },
       "x_identifier" : "http://purl.org/NET/cpan-uri/dist/App-Licensecheck/project"
    },
-   "version" : "v3.0.24",
+   "version" : "v3.0.25",
    "x_contributors" : [
       "Paul Wise <pabs at debian.org>"
    ],
diff --git a/META.yml b/META.yml
index 12308c6..cf76f82 100644
--- a/META.yml
+++ b/META.yml
@@ -31,7 +31,7 @@ optional_features: {}
 provides:
   App::Licensecheck:
     file: lib/App/Licensecheck.pm
-    version: v3.0.24
+    version: v3.0.25
 requires:
   Encode: '0'
   Fcntl: '0'
@@ -56,7 +56,7 @@ resources:
   homepage: https://metacpan.org/release/App-Licensecheck
   license: http://www.gnu.org/licenses/gpl-3.0.txt
   repository: https://anonscm.debian.org/cgit/build-common/licensecheck.git
-version: v3.0.24
+version: v3.0.25
 x_contributors:
   - 'Paul Wise <pabs at debian.org>'
 x_help_wanted:
diff --git a/Makefile.PL b/Makefile.PL
index ad6da06..8661ee4 100644
--- a/Makefile.PL
+++ b/Makefile.PL
@@ -51,7 +51,7 @@ my $meta = {
                             },
                           },
   "provides"           => {
-                            "App::Licensecheck" => { file => "lib/App/Licensecheck.pm", version => "v3.0.24" },
+                            "App::Licensecheck" => { file => "lib/App/Licensecheck.pm", version => "v3.0.25" },
                           },
   "release_status"     => "stable",
   "resources"          => {
@@ -66,7 +66,7 @@ my $meta = {
                                             },
                             x_identifier => "http://purl.org/NET/cpan-uri/dist/App-Licensecheck/project",
                           },
-  "version"            => "v3.0.24",
+  "version"            => "v3.0.25",
   "x_contributors"     => ["Paul Wise <pabs\@debian.org>"],
   "x_help_wanted"      => ["tester", "documenter"],
   "x_provides_scripts" => { licensecheck => { file => "bin/licensecheck" } },
diff --git a/README b/README
index 397e7a7..a2df131 100644
--- a/README
+++ b/README
@@ -3,7 +3,7 @@ NAME
     files
 
 VERSION
-    Version v3.0.24
+    Version v3.0.25
 
 SYNOPSIS
         use App::Licensecheck;
diff --git a/SIGNATURE b/SIGNATURE
index 62ca6f9..8c4fccd 100644
--- a/SIGNATURE
+++ b/SIGNATURE
@@ -14,23 +14,23 @@ not run its Makefile.PL or Build.PL.
 -----BEGIN PGP SIGNED MESSAGE-----
 Hash: SHA256
 
-SHA1 69ad3e810a31cc451ba19b649dfaa887b6043914 COPYRIGHT
+SHA1 172d58f11fac66bfc850cdd7db38b1adf18ce91f COPYRIGHT
 SHA1 e8673b9754c9d267cb2d35ea91540aaf24e30ac5 CREDITS
-SHA1 bad810153a4a781a6e1c3c114761327b8d1117df Changes
+SHA1 fe10641dec33f4f8d68fcde12359d0071e811c78 Changes
 SHA1 678698b6a97e1eb430eb00bf99b0718237f6823f INSTALL
 SHA1 5aee1276a8501ccbbd2084e43ceaf8fef861a046 LICENSE
-SHA1 b84a8e2a675303e96852264d415941f6d362acf3 MANIFEST
-SHA1 70e29d3abf8ddb582ce7de1505c75a0f47c33e7a META.json
-SHA1 bf17d7362700796902a51449a5e5628a53bb2615 META.yml
-SHA1 c21b623a740737a6b993ea4aaf8393e7ef5c23a1 Makefile.PL
-SHA1 062345d3b69599e621d4ebcbc28e4d8bc59770c0 README
-SHA1 82f6ee00aadc385f968d757ff9a34ef482930c7e bin/licensecheck
+SHA1 5ad8f3e4b3f1887e5ad61b496d35efeb22c794c8 MANIFEST
+SHA1 1ffbf11d0237fba25e9919ac8f3999a559fedb7d META.json
+SHA1 e20944769c943d7e61598d3f873de27031a29cfa META.yml
+SHA1 c3dd85da655b627d8a3f7df494a4cdb59b407424 Makefile.PL
+SHA1 48d5e1d7696e53ca095367ed566602944cd9d5ca README
+SHA1 1153e7bee5f4f9108509e65848c815f2294c2bda bin/licensecheck
 SHA1 c03cb960bea6c5d1f2d7c3410788f599d637e152 dist.ini
-SHA1 bf43150398f96ffd044ea69d846b990d24bca79c doap.ttl
-SHA1 34b98b634c19a4a2982ae09d39e24d66e6b54147 lib/App/Licensecheck.pm
+SHA1 f8bc25e40eecb5a79748b035245020d0482389ae doap.ttl
+SHA1 55991d9d86b54e8b9d632aa82256322aa430f19b lib/App/Licensecheck.pm
 SHA1 c0f335d16248b8ca0311188e3f81ee9b3473948f scripts/licensecheck.bash_completion
-SHA1 a771e0f910e182564daf3978f268a62c8d2c83f5 t/Software-License.t
-SHA1 4debbedb99c3f4464aad94fbc0b539f72a3b87c6 t/devscripts.t
+SHA1 f61e71a73cca796b29d808662702040c064a98fc t/Software-License.t
+SHA1 6aff7dfa6a608ecb5ddd2fcc5f7650d83b2030df t/devscripts.t
 SHA1 7ee9752c19d94ed23af18067048109d6d1057d3e t/devscripts/academic.h
 SHA1 8c83418149581447af32cca223a3ec26f92842c4 t/devscripts/artistic-2-0-modules.pm
 SHA1 679355dd768da00aebaf20531f9fc9e58dab725e t/devscripts/artistic-2-0.txt
@@ -48,7 +48,6 @@ SHA1 d3f4ab510063dbc41c5c75cd924fcf325272d5ff t/devscripts/comments-detection.tx
 SHA1 fdd616895fd38ac61fdc814f686c76e097148b05 t/devscripts/copr-iso8859.h
 SHA1 34bf7757e41ae6542d02169bce2c0f558490fa1a t/devscripts/copr-utf8.h
 SHA1 5443f5be222eb6bffd28a16c74a38334e386a99f t/devscripts/dual.c
-SHA1 4e2f82a6c34fe4f9b9d6e445e2e8f969b86d660a t/devscripts/duplicated-copyright.rb
 SHA1 efe7f791a98357b71119489630f50f19a43ea635 t/devscripts/epl.h
 SHA1 0949ffed796690bbf91f75e4aac25553c9d746ab t/devscripts/false-positives
 SHA1 e942df1bcecfc0751f8410b20c8520de1ecac3ac t/devscripts/freetype.c
@@ -85,4 +84,34 @@ SHA1 6f0b95e597343602df577f0bcbae9049fdedf813 t/devscripts/mpl-2.0.sh
 SHA1 6f275c370ea5c677087b6724367e0355eb3d69fd t/devscripts/multi-line-copyright.c
 SHA1 2343980835e5507775ab7f7cb1d8a9c82b845aca t/devscripts/regexp-killer.c
 SHA1 851f20dc3d9348185491155575733088e23cfd32 t/devscripts/texinfo.tex
-SHA1 fedc26337650dd0ef0f76b5cc81aad0cda45c9fa t/license.t
+SHA1 f34b2d72fdb6d1f8c2e3c259e73f3cab61c3009d t/grant.t
+SHA1 004b1c19b2d094a2f43b5778972adb9c8eae0735 t/grant/AGPL/fastx.c
+SHA1 0b0fab767783b6415030a9491725463751b78714 t/grant/AGPL/fet.cpp
+SHA1 022378c77136cf75510f155c675b2dc2efe7b6a0 t/grant/AGPL/setup.py
+SHA1 4e2f82a6c34fe4f9b9d6e445e2e8f969b86d660a t/grant/Apache/one_helper.rb
+SHA1 77e9bfcdce32810d9bb405010386d19ec88192cd t/grant/Apache_and_more/PIE.htc
+SHA1 43d5a741733f0a870607eb6884dfe05be0c5bfe1 t/grant/Apache_and_more/rust.lang
+SHA1 2a79249e426ef4b89184f0b154c50930722610af t/grant/Apache_and_more/select2.js
+SHA1 79ab70abf1c392232bb773da5bb1e4bcc88d3ebf t/grant/Apache_and_more/test_run.py
+SHA1 d0903b900fb4d3f691e7a04201e21cbaa4590ed6 t/grant/CC-BY-SA_and_more/WMLA
+SHA1 57a8d034c8cb1a802712fd962ea3aa188a8c728b t/grant/CC-BY-SA_and_more/cewl.rb
+SHA1 9b1c6273e778c8c11f81f9282c0cfb187a379e13 t/grant/CC-BY-SA_and_more/utilities.scad
+SHA1 caf721083adfb0105f168f3ecac3f10da74d5d7c t/grant/EPL_and_more/Base64Coder.java
+SHA1 21f6f7098b41647829141f102c22b02c03e5c1e6 t/grant/GPL_and_more/init.lua
+SHA1 05981d4ffc4fb9f5cb16952d12977ad56e5b6866 t/license.t
+-----BEGIN PGP SIGNATURE-----
+
+iQIcBAEBCAAGBQJX4vgdAAoJECx8MUbBoAEhVAcP/39z7G08us1Vl27RWTP1HlaU
+L3i4o7qqzKqh37aICEcqlgtwQmbNdu7haYyYjfrMi9txkuZaWde8H9hEK6Pp5H8U
+F1zCSQChiTC2XxHco2cwchlriMuaLNj/XqkVt46TzAKEoIej5JM9o2q1Uj4MwRta
+BaarLVYssR4Qxh4XZmgjLMKEXl6vS/0WfUu8oO8ChFTVCswk3L9knEYfSGpJMs6+
+0Dnl3+82q9ZiiJL5dFX61jW7Dg2LRTrcNT/BCOPPvBRp5/a7hqUpHlsa8YmGtqxO
+c3laq9I3KW3oca0qdIyrXaG9ilhzlGLKP5m3gny7/Qy8ZLrMswcRg9bZOFfL1M8H
+c6+on7PlVtSjFA4lX9GBvG5lWZnJWrtRxhRX6yigp6yy6HzfaHQG7/hIwx2cFsYi
+LPvV1j7FAPQ/uG38Xae/vI6M+zXtOeo+4qLVw6+i/h0ubrTQwxsqRjgQQr4Ez/Gf
+qfiuFdrr1ScVZHWQs3TCUqIothVnYqFMxN39kcOYYTtL02zMs/RJQtNdlKuUOG8j
+oWk0f1XbS5P0Htv5c+tv/qgWtkaAyrmZsdW4FsBd+DOzsUBtujF4mx+AAJv4Nzn1
+GwmE53NOZGhQTac3iDXt2sXWHeJ/lyDILExakC7HPUVRZmns6Fn00qZO0+oTYkm6
+FfY8nzeJ5VawKyCpn1ay
+=zlmq
+-----END PGP SIGNATURE-----
diff --git a/bin/licensecheck b/bin/licensecheck
index c0c30e1..963e267 100644
--- a/bin/licensecheck
+++ b/bin/licensecheck
@@ -25,11 +25,11 @@ licensecheck - simple license checker for source files
 
 =head1 VERSION
 
-Version v3.0.24
+Version v3.0.25
 
 =cut
 
-our $VERSION = version->declare("v3.0.24");
+our $VERSION = version->declare("v3.0.25");
 
 binmode STDOUT, ':utf8';
 
diff --git a/doap.ttl b/doap.ttl
index 0eafe8f..74842ce 100644
--- a/doap.ttl
+++ b/doap.ttl
@@ -841,7 +841,7 @@
 	doap:maintainer      <http://purl.org/NET/cpan-uri/person/jonass>;
 	doap:name            "App-Licensecheck";
 	doap:programming-language "Perl";
-	doap:release         <http://purl.org/NET/cpan-uri/dist/App-Licensecheck/v_v3-0-0>, <http://purl.org/NET/cpan-uri/dist/App-Licensecheck/v_v3-0-1>, <http://purl.org/NET/cpan-uri/dist/App-Licensecheck/v_v3-0-10>, <http://purl.org/NET/cpan-uri/dist/App-Licensecheck/v_v3-0-11>, <http://purl.org/NET/cpan-uri/dist/App-Licensecheck/v_v3-0-12>, <http://purl.org/NET/cpan-uri/dist/App-Licensecheck/v_v3-0-13>, <http://purl.org/NET/cpan-uri/dist/App-Licensecheck/v_v3-0-14>, <http://purl.org/NET/cpa [...]
+	doap:release         <http://purl.org/NET/cpan-uri/dist/App-Licensecheck/v_v3-0-0>, <http://purl.org/NET/cpan-uri/dist/App-Licensecheck/v_v3-0-1>, <http://purl.org/NET/cpan-uri/dist/App-Licensecheck/v_v3-0-10>, <http://purl.org/NET/cpan-uri/dist/App-Licensecheck/v_v3-0-11>, <http://purl.org/NET/cpan-uri/dist/App-Licensecheck/v_v3-0-12>, <http://purl.org/NET/cpan-uri/dist/App-Licensecheck/v_v3-0-13>, <http://purl.org/NET/cpan-uri/dist/App-Licensecheck/v_v3-0-14>, <http://purl.org/NET/cpa [...]
 	doap:repository      [
 		a doap:GitRepository;
 		doap:browse <https://anonscm.debian.org/cgit/build-common/licensecheck.git>;
@@ -1182,6 +1182,70 @@
 	doap:file-release    <http://backpan.cpan.org/authors/id/J/JO/JONASS/App-Licensecheck-v3.0.24.tar.gz>;
 	doap:revision        "v3.0.24"^^xsd:string.
 
+<http://purl.org/NET/cpan-uri/dist/App-Licensecheck/v_v3-0-25>
+	a                    doap:Version;
+	dc:identifier        "App-Licensecheck-v3.0.25"^^xsd:string;
+	dc:issued            "2016-09-21"^^xsd:date;
+	doap-changeset:changeset [
+		doap-changeset:item [
+			a doap-changeset:Change;
+			rdfs:label "Enhance detection of Perl license.";
+		], [
+			a doap-changeset:Tests;
+			rdfs:label "Update testsuite to reflect Perl license detection.";
+		], [
+			a doap-changeset:Bugfix;
+			rdfs:label "Fix parse whole file for test info-at-eof.h (default length only approximates lines and is too short since String::Copyright 0.003003).";
+		], [
+			a doap-changeset:Change;
+			rdfs:label "Apply fallback marker \"UNKNOWN\" after (not during) license detection.";
+		], [
+			a doap-changeset:Bugfix;
+			rdfs:label "Fix delimit multiple licenses with \"and/or\" (not \"or\") when ambiguous.";
+		], [
+			a doap-changeset:Change;
+			rdfs:label "Tighten regexes: Simplify space matching (string already normalized).";
+		], [
+			a doap-changeset:Change;
+			rdfs:label "Tighten regexes: Treat affero as alternative (not prefix) to GPL prefixes lesser and library.";
+		], [
+			a doap-changeset:Bugfix;
+			rdfs:label "Fix avoid non-digit in version of license Artistic.";
+		], [
+			a doap-changeset:Change;
+			rdfs:label "Tighten regexes: Generalize and improve version matching.";
+		], [
+			a doap-changeset:Change;
+			rdfs:label "Generalize license string composition.";
+		], [
+			a doap-changeset:Change;
+			rdfs:label "Improve non-version descriptor matching.";
+		], [
+			a doap-changeset:Change;
+			rdfs:label "Improve version matching in license detections.";
+		], [
+			a doap-changeset:Change;
+			rdfs:label "Improve detection of license Apache.";
+		], [
+			a doap-changeset:Change;
+			rdfs:label "Improve detection of license AGPL.";
+		], [
+			a doap-changeset:Change;
+			rdfs:label "Detect license CC-BY-SA.";
+		], [
+			a doap-changeset:Change;
+			rdfs:label "Detect licenses APAFML Adobe-Glyph Adobe-2006 Aladdin SIL FSFAP FSFUL FSFULLR JSON PostgreSQL Unicode-strict Unicode-TOU zlib-acknowledgement.";
+		], [
+			a doap-changeset:Tests;
+			rdfs:label "Fix parse whole file for test info-at-eof.h (default length only approximates lines and is too short since String::Copyright 0.003003).", "Fix tighten runtime-requirement on PAth__Tiny for visit().";
+			doap-bugs:fixes <http://purl.org/NET/cpan-uri/rt/ticket/118007>;
+			doap-changeset:thanks <http://purl.org/NET/cpan-uri/person/srezic>;
+		];
+	];
+	doap-changeset:released-by <http://purl.org/NET/cpan-uri/person/jonass>;
+	doap:file-release    <http://backpan.cpan.org/authors/id/J/JO/JONASS/App-Licensecheck-v3.0.25.tar.gz>;
+	doap:revision        "v3.0.25"^^xsd:string.
+
 <http://purl.org/NET/cpan-uri/dist/App-Licensecheck/v_v3-0-2>
 	a                    doap:Version;
 	dc:identifier        "App-Licensecheck-v3.0.2"^^xsd:string;
@@ -1394,6 +1458,11 @@
 	foaf:nick            "SREZIC";
 	foaf:page            <https://metacpan.org/author/SREZIC>.
 
+<http://purl.org/NET/cpan-uri/rt/ticket/118007>
+	a                    doap-bugs:Issue;
+	doap-bugs:id         "118007"^^xsd:string;
+	doap-bugs:page       <https://rt.cpan.org/Ticket/Display.html?id=118007>.
+
 <http://purl.org/NET/cpan-uri/rt/ticket/12345>
 	a                    doap-bugs:Issue;
 	doap-bugs:id         "12345"^^xsd:string;
diff --git a/lib/App/Licensecheck.pm b/lib/App/Licensecheck.pm
index 8bc87d5..9dfb061 100644
--- a/lib/App/Licensecheck.pm
+++ b/lib/App/Licensecheck.pm
@@ -29,11 +29,11 @@ App::Licensecheck - functions for a simple license checker for source files
 
 =head1 VERSION
 
-Version v3.0.24
+Version v3.0.25
 
 =cut
 
-our $VERSION = version->declare("v3.0.24");
+our $VERSION = version->declare("v3.0.25");
 
 =head1 SYNOPSIS
 
@@ -53,6 +53,26 @@ See the script for casual usage.
 
 =cut
 
+# legacy descriptive names different from SPDX shortnames
+my %SPDX = (
+	'Artistic or GPL' => 'Perl',
+	'BSD-2-clause'    => 'BSD (2 clause)',
+	'BSD-3-clause'    => 'BSD (3 clause)',
+	'BSD-4-clause'    => 'BSD (4 clause)',
+	'CC-BY-SA'        => 'CC by-sa',
+	FTL               => 'Freetype',
+	Expat             => 'MIT/X11 (BSD like)',
+	Libpng            => 'libpng',
+	'MS-PL'           => 'Ms-PL',
+	'public-domain'   => 'Public domain',
+	'Python'          => 'PSF',
+	'SGI-B'           => 'SGI Free Software License B',
+	Zlib              => 'zlib/libpng',
+);
+
+my $ver_prefix_re = qr/(?:version |v\.? ?)?/i;
+my $ver_re        = qr/\d(?:\.\d+)*/;
+
 my $default_check_regex = q!
 	/[\w-]+$ # executable scripts or README like file
 	|\.( # search for file suffix
@@ -236,7 +256,8 @@ sub parse_file
 	my $cleaned_content = clean_comments($content);
 
 	return (
-		$self->parse_license( clean_cruft_and_spaces($cleaned_content) ),
+		$self->parse_license( clean_cruft_and_spaces($cleaned_content) )
+			|| "UNKNOWN",
 		copyright( clean_cruft($cleaned_content) ),
 	);
 }
@@ -295,7 +316,7 @@ sub parse_lines
 	}
 
 	$fh->close;
-	return ( $license, $copyrights );
+	return ( $license || "UNKNOWN", $copyrights );
 }
 
 sub clean_comments
@@ -373,39 +394,67 @@ sub parse_license
 		push @ret, $spdx_extra if $spdx_extra;
 		return @ret;
 	};
+	my $gen_license = sub {
+		my ( $id, $v, $later, $id2, $v2, $later2 ) = @_;
+		my @spdx;
+		my $desc = $SPDX{$id} || $id;
+		$v .= '+' if ($later);
+		push @spdx, $v ? "$id-$v" : $id if ($id);
+		my $desc2;
+		$desc2 = $SPDX{$id2} || $id2 if ($id2);
+		$v2 .= '+' if ($later2);
+		push @spdx, $v2 ? "$id2-$v2" : "$id2" if ($id2);
+		my $legacy = join(
+			' ',
+			$desc,
+			( $v     ? "(v$v)"     : () ),
+			( $desc2 ? "or $desc2" : () ),
+			( $v2    ? "(v$v2)"    : () ),
+		);
+		push @spdx_license, join( ' or ', @spdx );
+		$license = join( ' ', ( $SPDX{$legacy} || $legacy ), $license );
+	};
 
 	#<<<  do not let perltidy touch this (keep long regex on one line)
+
+	my $cc_by_sa = qr/Creative Commons Attribution[ -]Share[ -]?Alike|CC[ -]BY[ -]SA/i;
+
+	# version of AGPL/GPL/LGPL
 	given ($licensetext) {
-		when ( /version (\d(?:\.\d+)*)(?: of the License)?,? or(?: \(at your option\))? version (\d+(?:\.\d+)*)/ ) {
+		when ( /version ($ver_re)(?: of the License)?,? or(?: \(at your option\))? version ($ver_re)/ ) {
 			$gplver = " (v$1 or v$2)";
 			@spdx_gplver = ( $1, $2 );
 		}
-		when ( /version (\d+(?:\.\d+)*)[.,]? (?:\(?only\)?.? )?(?:of the GNU (Affero )?(Lesser |Library )?General Public License )?(as )?published by the Free Software Foundation/i ) {
+		when ( /version ($ver_re)[.,]? (?:\(?only\)?.? )?(?:of the GNU (Affero |Lesser |Library )?General Public License )?(as )?published by the Free Software Foundation/i ) {
 			$gplver      = " (v$1)";
 			@spdx_gplver = ($1)
 		}
-		when ( /GNU (?:Affero )?(?:Lesser |Library )?General Public License (?:as )?published by the Free Software Foundation[;,] version (\d+(?:\.\d+)*)[.,]? /i ) {
+		when ( /GNU (?:Affero |Lesser |Library )?General Public License (?:as )?published by the Free Software Foundation[;,] $ver_prefix_re($ver_re)[.,]? /i ) {
 			$gplver      = " (v$1)";
 			@spdx_gplver = ($1);
 		}
-		when ( /GNU (?:Affero )?(?:Lesser |Library )?General Public License\s*(?:[(),GPL]+)\s*version (\d+(?:\.\d+)*)[ \.]/i ) {
+		when ( /GNU (?:Affero |Lesser |Library )?General Public License ?(?:[(),AGPL]+) ?$ver_prefix_re($ver_re)[ \.]/i ) {
 			$gplver      = " (v$1)";
 			@spdx_gplver = ($1);
 		}
-		when ( /either version (\d+(?:\.\d+)*)(?: of the License)?, or (?:\(at your option\) )?any later version/ ) {
+		when ( /either $ver_prefix_re($ver_re)(?: of the License)?, or (?:\(at your option\) )?any later version/ ) {
 			$gplver      = " (v$1 or later)";
 			@spdx_gplver = ( $1 . '+' );
 		}
-		when ( /GPL\sas\spublished\sby\sthe\sFree\sSoftware\sFoundation,\sversion\s(\d+(?:\.\d+)*)/i ) {
+		when ( /GPL as published by the Free Software Foundation, version ($ver_re)/i ) {
 			$gplver      = " (v$1)";
 			@spdx_gplver = ($1)
 		}
 	}
+
+	# address in AGPL/GPL/LGPL
 	given ($licensetext) {
 		when ( /(?:675 Mass Ave|59 Temple Place|51 Franklin Steet|02139|02111-1307)/i ) {
 			$extrainfo = " (with incorrect FSF address)$extrainfo";
 		}
 	}
+
+	# exception for AGPL/GPL/LGPL
 	given ($licensetext) {
 		when ( /permission (?:is (also granted|given))? to link (the code of )?this program with (any edition of )?(Qt|the Qt library)/i ) {
 			$extrainfo  = " (with Qt exception)$extrainfo";
@@ -413,8 +462,9 @@ sub parse_license
 		}
 	}
 
-	# exclude blurb found in boost license text
+	# generated file
 	given ($licensetext) {
+		# exclude blurb found in boost license text
 		when ( /unless such copies or derivative works are solely in the form of machine-executable object code generated by a source language processor/ ) {
 			break;
 		}
@@ -422,25 +472,49 @@ sub parse_license
 			$license = "GENERATED FILE";
 		}
 	}
+
 	given ($licensetext) {
-		when ( /(are made available|(is free software.? )?you can redistribute (it|them) and(?:\/|\s+)or modify (it|them)|is licensed) under the terms of (version [^ ]+ of )?the (GNU (Library |Lesser )General Public License|LGPL)/i ) {
+		when ( /under(?: the)?(?:GNU)? (AGPL|GPL|LGPL)-?($ver_re)( or later| (?:and|or)(?: \(at your option\))?(?: any)? later(?: version)?)?,? (?:and|or)(?: the| a)? $cc_by_sa(?: version)? ($ver_re)(?: License)?( (?:and|or)(?: \(at your option\))? any later|[,.] Later versions are permitted)?/i ) {
+			$gen_license->( 'CC-BY-SA', $3, $4, $1, $2 );
+		}
+	}
+
+	# LGPL
+	given ($licensetext) {
+		when ( /(are made available|(is free software.? )?you can redistribute (it|them) and[ \/]or modify (it|them)|is licensed) under the terms of (version \S+ of )?the (GNU (Library |Lesser )General Public License|LGPL)/i ) {
 			$license = "LGPL$gplver$extrainfo $license";
 			push @spdx_license, $gen_spdx->('LGPL');
 		}
 		# For Perl modules handled by Dist::Zilla
-		when ( /this is free software,? licensed under:? (?:the )?(?:GNU (?:Library |Lesser )General Public License|LGPL),? version ([\d\.]+)/i ) {
-			$license = "LGPL (v$1) $license";
-			push @spdx_license, "LGPL-$1";
+		when ( /this is free software,? licensed under:? (?:the )?(?:GNU (?:Library |Lesser )General Public License|LGPL),? $ver_prefix_re($ver_re)/i ) {
+			$gen_license->( 'LGPL', $1 );
 		}
 	}
+
+	# AGPL
 	given ($licensetext) {
-		when ( /is free software.? you can redistribute (it|them) and(?:\/|\s+)or modify (it|them) under the terms of the (GNU Affero General Public License|AGPL)/i ) {
+		when ( /is free software.? you can redistribute (it|them) and[ \/]or modify (it|them) under the terms of the (GNU Affero General Public License|AGPL)/i ) {
 			$license = "AGPL$gplver$extrainfo $license";
 			push @spdx_license, $gen_spdx->('AGPL');
 		}
+		# exclude GPL-3 license
+		when ( /GNU Affero General Public License into/i ) {
+			$license = "AGPL (v$1) $license";
+			break;
+		}
+		# exclude MPL-2.0 license
+		when ( /means either [^.]+, the GNU Affero General Public License/i ) {
+			$license = "AGPL (v$1) $license";
+			break;
+		}
+		when ( /AFFERO GENERAL PUBLIC LICENSE(?:,? $ver_prefix_re($ver_re)(,? or(?: any)? (?:later|newer))?)?/i ) {
+			$gen_license->( 'AGPL', $1, $2 );
+		}
 	}
+
+	# GPL
 	given ($licensetext) {
-		when ( /(is free software.? )?you (can|may) redistribute (it|them) and(?:\/|\s+)or modify (it|them) under the terms of (?:version [^ ]+ (?:\(?only\)? )?of )?the GNU General Public License/i ) {
+		when ( /(is free software.? )?you (can|may) redistribute (it|them) and[ \/]or modify (it|them) under the terms of (?:version \S+ (?:\(?only\)? )?of )?the GNU General Public License/i ) {
 			$license = "GPL$gplver$extrainfo $license";
 			push @spdx_license, $gen_spdx->('GPL');
 		}
@@ -449,237 +523,395 @@ sub parse_license
 		$license = "GPL$gplver$extrainfo $license";
 		push @spdx_license, $gen_spdx->('GPL');
 	}
+
+	# LGPL/GPL unversioned
 	given ($licensetext) {
-		when ( /(?:is|may be)\s(?:(?:distributed|used).*?terms|being\s+released).*?\b(L?GPL)\b/ ) {
+		when ( /(?:is|may be) (?:(?:distributed|used).*?terms|being released).*?\b(L?GPL)\b/ ) {
 			my $v = $gplver || ' (unversioned/unknown version)';
 			$license = "$1$v $license";
 			push @spdx_license, $gen_spdx->($1);
 		}
 	}
+
+	# CC
+	given ($licensetext) {
+		when ( /$cc_by_sa(?i: version)? ($ver_re) or ($ver_re)/ ) {
+			$license = "CC BY-SA (v$1 or v$2) $license";
+			push @spdx_license, "CC-BY-SA-$1 or CC-BY-SA-$1";
+		}
+		when ( /$cc_by_sa(?: $ver_prefix_re($ver_re)?)(?: License)?( (?:and|or)(?: \(at your option\))? any later(?: version)|[,.] Later versions are permitted)?(?:,? (?:and|or)(?: the)?(?:GNU)? (AGPL|GPL|LGPL)(?:-?($ver_re)( or later)?)?)?/i ) {
+			$gen_license->( 'CC-BY-SA', $1, $2, $3, $4 );
+		}
+		when ( m<https?creativecommons.org/licenses/by-sa/($ver_re)/( \(or any later version\))?> ) {
+			$gen_license->( 'CC-BY-SA', $1, $2 );
+		}
+	}
+	# CC or GPL
+	given ($licensetext) {
+	}
+
+	# LLGPL
 	given ($licensetext) {
 		when ( /the rights to distribute and use this software as governed by the terms of the Lisp Lesser General Public License|\bLLGPL\b/ ) {
-			$license = "LLGPL $license";
-			push @spdx_license, 'LLGPL';
+			$gen_license->('LLGPL');
 		}
 	}
+
+	# QPL
 	given ($licensetext) {
 		when ( /This file is part of the .*Qt GUI Toolkit. This file may be distributed under the terms of the Q Public License as defined/ ) {
-			$license = "QPL (part of Qt) $license";
+			$gen_license->('QPL');
 		}
 		when ( /may (be distributed|redistribute it) under the terms of the Q Public License/ ) {
-			$license = "QPL $license";
-			push @spdx_license, 'QPL';
+			$gen_license->('QPL');
 		}
 	}
+
+	# MIT
 	given ($licensetext) {
 		when ( /opensource\.org\/licenses\/mit-license\.php/ ) {
-			$license = "MIT/X11 (BSD like) $license";
-			push @spdx_license, 'Expat';
+			$gen_license->('Expat');
 		}
 		when ( /Permission is hereby granted, free of charge, to any person obtaining a copy of this software and(\/or)? associated documentation files \(the (Software|Materials)\), to deal in the (Software|Materials)/ ) {
-			$license = "MIT/X11 (BSD like) $license";
-			push @spdx_license, 'Expat';
+			$gen_license->('Expat');
 		}
 		when ( /Permission is hereby granted, without written agreement and without license or royalty fees, to use, copy, modify, and distribute this software and its documentation for any purpose/ ) {
-			$license = "MIT/X11 (BSD like) $license";
-			push @spdx_license, 'Expat';
+			$gen_license->('Expat');
 		}
 	}
+
+	# ISC
 	given ($licensetext) {
 		when ( /Permission to use, copy, modify, and(\/or)? distribute this software for any purpose with or without fee is hereby granted, provided.*copyright notice.*permission notice.*all copies/ ) {
-		$license = "ISC $license";
-			push @spdx_license, 'ISC';
+			$gen_license->('ISC');
 		}
 	}
+
+	# BSD
 	if ( $licensetext =~ /THIS SOFTWARE IS PROVIDED .*AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY/ ) {
 		given ($licensetext) {
 			when ( /All advertising materials mentioning features or use of this software must display the following acknowledge?ment.*This product includes software developed by/i ) {
-				$license = "BSD (4 clause) $license";
-				push @spdx_license, 'BSD-4-clause';
+				$gen_license->('BSD-4-clause');
 			}
 			when ( /(The name(?:\(s\))? .*? may not|Neither the (names? .*?|authors?) nor the names of( (its|their|other|any))? contributors may) be used to endorse or promote products derived from this software/i ) {
-				$license = "BSD (3 clause) $license";
-				push @spdx_license, 'BSD-3-clause';
+				$gen_license->('BSD-3-clause');
 			}
 			when ( /Redistributions in binary form must reproduce the above copyright notice/i ) {
-				$license = "BSD (2 clause) $license";
-				push @spdx_license, 'BSD-2-clause';
+				$gen_license->('BSD-2-clause');
 			}
 			default {
-				$license = "BSD $license";
-				push @spdx_license, 'BSD';
+				$gen_license->('BSD');
 			}
 		}
 	}
 	elsif ( $licensetext =~ /licen[sc]ebsd(?:-(\d)-clause)?/i ) {
 		if ($1) {
-			$license = "BSD ($1 clause) $license";
-			push @spdx_license, "BSD-$1-clause";
+			$gen_license->("BSD-$1-clause");
 		}
 		else {
-			$license = "BSD $license";
-			push @spdx_license, "BSD";
+			$gen_license->('BSD');
+		}
+	}
+
+	# MPL
+	given ($licensetext) {
+		when ( /Mozilla Public License,? $ver_prefix_re($ver_re)/ ) {
+			$gen_license->( 'MPL', $1 );
+		}
+		when ( /Mozilla Public License,? \($ver_prefix_re($ver_re)\)/ ) {
+			$gen_license->( 'MPL', $1 );
+		}
+	}
+
+	# APAFML
+	given ($licensetext) {
+		when ( /AFM files it accompanies may be used|that the AFM files are not distributed/ ) {
+			$license = "Adobe Postscript AFM License $license";
+			push @spdx_license, "APAFML";
+		}
+	}
+
+	# Adobe-Glyph
+	given ($licensetext) {
+		when ( /and to permit others to do the same, provided that the derived work is not represented as being a copy/ ) {
+			$license = "Adobe Glyph List License $license";
+			push @spdx_license, "Adobe-Glyph";
+		}
+	}
+
+	# Adobe-2006
+	given ($licensetext) {
+		when ( /You agree to indemnify, hold harmless and defend/ ) {
+			$license = "Adobe $license";
+			push @spdx_license, "Adobe-2006";
 		}
 	}
+
+	# Aladdin
 	given ($licensetext) {
-		when ( /Mozilla Public License,? (?:(?:Version|v\.)\s+)?(\d+(?:\.\d+)?)/ ) {
-			$license = "MPL (v$1) $license";
-			push @spdx_license, "MPL-$1";
+		when ( /This License is not the same as any of the GNU Licenses/ ) {
+			$license = "Aladdin Free Public License $license";
+			push @spdx_license, "Aladdin";
+		}
+		when ( /under the terms of the Aladdin Free Public License/ ) {
+			$license = "Aladdin $license";
+			push @spdx_license, "Aladdin";
 		}
-		when ( /Mozilla Public License,? \((?:Version|v\.) (\d+(?:\.\d+)?)\)/ ) {
-			$license = "MPL (v$1) $license";
-			push @spdx_license, "MPL-$1";
+	}
+
+	# GPL or Aladdin
+	given ($licensetext) {
+		when ( /under the GNU License and Aladdin Free Public License/ ) {
+			$license = "GPL or Aladdin $license";
+			push @spdx_license, "GPL or Aladdin";
 		}
 	}
 
-# match when either:
-# - the text *begins* with "The Artistic license v2.0" which is (hopefully) the actual artistic license v2.0 text.
-# - a license grant is found. i.e something like "this is free software, licensed under the artistic license v2.0"
+	# Artistic
 	given ($licensetext) {
-		when ( /(?:^\s*|(?:This is free software, licensed|Released|be used|use and modify this (?:module|software)) under (?:the terms of )?)[Tt]he Artistic License ([v\d.]*\d)/ ) {
-			$license = "Artistic (v$1) $license";
-			push @spdx_license, "Artistic-$1";
+		# either *begins* with "The Artistic license v2.0" (hopefully the actual license)
+		# or some license grant,
+		when ( /(?:^ ?|(?:This is free software, licensed|Released|be used|use and modify this (?:module|software)) under (?:the terms of )?)[Tt]he Artistic License v?($ver_re)/ ) {
+			$gen_license->( 'Artistic', $1 );
 		}
 	}
 	given ($licensetext) {
 		when ( /is free software under the Artistic [Ll]icense/ ) {
-			$license = "Artistic $license";
-			push @spdx_license, 'Artistic';
+			$gen_license->('Artistic');
 		}
 	}
+
+	# Artistic or GPL
 	given ($licensetext) {
-		when ( /This program is free software; you can redistribute it and\/or modify it under the same terms as Perl itself/ ) {
-			$license = "Perl $license";
-			push @spdx_license, 'Artistic', 'GPL';
+		when ( /This (program )?is free software; you can redistribute it and\/or modify it under the same terms as (the )?Perl( ?5)? (programming |language |system )*itself/ ) {
+			$gen_license->('Artistic', 0, 0, 'GPL');
 		}
 	}
+
+	# Apache
 	given ($licensetext) {
-		when ( /under the Apache License, Version ([^ ]+)/ ) {
-			$license = "Apache (v$1) $license";
-			push @spdx_license, "Apache-$1";
+		when ( /Apache(?: Software)? License(?:,? $ver_prefix_re($ver_re)( or(?: any)? (?:later|newer))?)?(?:(?: or)? [^ ,]*?apache[^ ,]*| \([^(),]+\))*,? or(?: the)?(?:(?: GNU)? General Public License(?: \(GPL\))?|GPL)(?: $ver_prefix_re($ver_re)( or(?: any)? (?:later|newer))?)?/i ) {
+			$gen_license->( 'Apache', $1, $2, 'GPL', $3, $4 );
+		}
+		when ( /Apache(?: Software)? License(?:,? $ver_prefix_re($ver_re)( or(?: any)? (?:later|newer))?)?(?:(?: or)? [^ ,]*?apache[^ ,]*| \([^(),]\))*,? or(?: the)? bsd(?:[ -](\d)-clause)?\b/i ) {
+			$gen_license->( 'Apache', $1, $2, "BSD-$3-clause" );
+		}
+		when ( /Apache(?: Software)? License(?:,? $ver_prefix_re($ver_re)( or(?: any)? (?:later|newer))?)?(?:(?: or)? [^ ,]*?apache[^ ,]*| \([^(),]\))*,? or(?: the)? (?:Expat|MIT)\b/i ) {
+			$gen_license->( 'Apache', $1, $2, 'Expat', $3, $4 );
+		}
+		when ( /Apache(?: Software)? License(?:,? $ver_prefix_re($ver_re)(,? or(?: any)? (?:later|newer))?)?/i ) {
+			$gen_license->( 'Apache', $1, $2 );
+		}
+		when ( m<https?www.apache.org/licenses(?:/LICENSE-($ver_re))?>i ) {
+			$gen_license->( 'Apache', $1 );
 		}
 	}
+
+	# Beerware
 	given ($licensetext) {
 		when ( /(THE BEER-WARE LICENSE)/i ) {
-			$license = "Beerware $license";
-			push @spdx_license, 'Beerware';
+			$gen_license->('Beerware');
 		}
 	}
+
+	# FTL
 	given ($licensetext) {
 		when ( /distributed under the terms of the FreeType project/i )	{
-			$license = "FreeType $license";
-			push @spdx_license, 'FTL';
+			$gen_license->('FTL');
+		}
+	}
+
+	# FSFAP
+	given ($licensetext) {
+		when ( /Copying and distribution of this file, with or without modification, are permitted in any medium without royalty provided the copyright notice and this notice are preserved/i ) {
+			$license = "FSF All Permissive License $license";
+			push @spdx_license, 'FSFAP';
+		}
+	}
+
+	# FSFUL
+	given ($licensetext) {
+		when ( /This configure script is free software; the Free Software Foundation gives unlimited permission to copy, distribute and modify it\./i ) {
+			$license = "FSF Unlimited License $license";
+			push @spdx_license, 'FSFUL';
+		}
+		when ( /This (\w+)(?: (?:file|script))? is free software; the Free Software Foundation gives unlimited permission to copy, distribute and modify it\./i ) {
+			$license = "FSF Unlimited License ($1 derivation) $license";
+			push @spdx_license, "FSFUL~$1";
+		}
+	}
+
+	# FSFULLR
+	given ($licensetext) {
+		when ( /This file is free software; the Free Software Foundation gives unlimited permission to copy and\/or distribute it, with or without modifications, as long as this notice is preserved/i ) {
+			$license = "FSF Unlimited License (with License Retention, $1 derivation) $license";
+			push @spdx_license, 'FSFULLR';
+		}
+		when ( /This (\w+)(?: (?:file|script))?  is free software; the Free Software Foundation gives unlimited permission to copy and\/or distribute it, with or without modifications, as long as this notice is preserved/i ) {
+			$license = "FSF Unlimited License (with License Retention, $1 derivation) $license";
+			push @spdx_license, "FSFULLR~$1";
 		}
 	}
+
+	# JSON
 	given ($licensetext) {
-		when ( /This source file is subject to version ([^ ]+) of the PHP license/ ) {
-			$license = "PHP (v$1) $license";
-			push @spdx_license, "PHP-$1";
+		when ( /The Software shall be used for Good, not Evil/ ) {
+			$license = "JSON License $license";
+			push @spdx_license, "JSON";
 		}
 	}
+
+	# PHP
+	given ($licensetext) {
+		when ( /This source file is subject to version ($ver_re) of the PHP license/ ) {
+			$gen_license->( 'PHP', $1 );
+		}
+	}
+
+	# CECILL
 	given ($licensetext) {
-		when ( /under the terms of the CeCILL-([^ ]+) / ) {
-			$license = "CeCILL-$1 $license";
-			push @spdx_license, "CECILL-$1";
+		when ( /under the terms of the CeCILL-(\S+) / ) {
+			$gen_license->( 'CeCILL', $1 );
 		}
 		when ( /under the terms of the CeCILL / ) {
-			$license = "CeCILL $license";
-			push @spdx_license, 'CECILL';
+			$gen_license->('CeCILL');
 		}
 	}
+
+	# SGI-B
 	given ($licensetext) {
 		when ( /under the SGI Free Software License B/ ) {
-			$license = "SGI Free Software License B $license";
-			push @spdx_license, 'SGI-B';
+			$gen_license->('SGI-B');
 		}
 	}
+
+	# public-domain
 	given ($licensetext) {
 		when ( /is in the public domain/i ) {
-			$license = "Public domain $license";
-			push @spdx_license, 'public-domain';    # not listed by SPDX
+			$gen_license->('public-domain');
 		}
 	}
+
+	# CDDL
 	given ($licensetext) {
-		when ( /terms of the Common Development and Distribution License(, Version ([^(]+))? \(the License\)/ ) {
-			$license = "CDDL " . ( $1 ? "(v$2) " : '' ) . $license;
-			push @spdx_license, 'CDDL' . ( $1 ? "-$2" : '' );
+		when ( /terms of the Common Development and Distribution License(?:,? $ver_prefix_re($ver_re))?/ ) {
+			$license = "CDDL " . ( $1 ? "(v$1) " : '' ) . $license;
+			push @spdx_license, 'CDDL' . ( $1 ? "-$1" : '' );
 		}
 	}
+
+	# MS-PL
 	given ($licensetext) {
 		when ( /Microsoft Permissive License \(Ms-PL\)/ ) {
-			$license = "Ms-PL $license";
-			push @spdx_license, 'MS-PL';
+			$gen_license->('MS-PL');
 		}
 	}
+
+	# AFL
 	given ($licensetext) {
-		when ( /Licensed under the Academic Free License version ([\d.]+)/ ) {
-			$license = $1 ? "AFL-$1" : "AFL";
-			push @spdx_license, 'AFL' . ( $1 ? "-$1" : '' );
+		when ( /Licensed under the Academic Free License(?: $ver_prefix_re($ver_re))?/ ) {
+			$gen_license->( 'AFL', $1 );
 		}
 	}
+
+	# EPL
 	given ($licensetext) {
-		when ( /This program and the accompanying materials are made available under the terms of the Eclipse Public License v?([\d.]+)/ ) {
-			$license = $1 ? "EPL-$1" : "EPL";
-			push @spdx_license, 'EPL' . ( $1 ? "-$1" : '' );
+		when ( /This program and the accompanying materials are made available under the terms of the Eclipse Public License(?:[ ,-]+$ver_prefix_re($ver_re))?/ ) {
+			$gen_license->( 'EPL', $1 );
 		}
 	}
 
-	# quotes were removed by clean_comments function
+	# BSL
 	given ($licensetext) {
 		when ( /Permission is hereby granted, free of charge, to any person or organization obtaining a copy of the software and accompanying documentation covered by this license \(the Software\)/ ) {
-			$license = "BSL " . ( $1 ? "(v$2) " : '' ) . $license;
-			push @spdx_license, 'BSL' . ( $1 ? "-$2" : '' );
+			$gen_license->('BSL');
+		}
+		when ( /Boost Software License(?:[ ,-]+ $ver_prefix_re($ver_re))?/i ) {
+			$gen_license->( 'BSL', $1, $2 );
 		}
-		when ( /Boost Software License([ ,-]+Version ([^ ]+)?(\.))/i ) {
-			$license = "BSL " . ( $1 ? "(v$2) " : '' ) . $license;
-			push @spdx_license, 'BSL' . ( $1 ? "-$2" : '' );
+	}
+
+	# PostgreSQL
+	given ($licensetext) {
+		when ( /Permission to use, copy, modify, and distribute this software and its documentation for any purpose, without fee, and without a written agreement is hereby granted, provided that the above copyright notice and this paragraph and the following two paragraphs appear in all copies/i ) {
+			$license = "PostgreSQL $license";
+			push @spdx_license, 'PostgreSQL';
 		}
 	}
+
+	# Python
 	given ($licensetext) {
-		when ( /PYTHON SOFTWARE FOUNDATION LICENSE (VERSION ([^ ]+))/i ) {
-			$license = "PSF " . ( $1 ? "(v$2) " : '' ) . $license;
-			push @spdx_license, 'Python' . ( $1 ? "-$2" : '' );
+		when ( /PYTHON SOFTWARE FOUNDATION LICENSE(?:,? $ver_prefix_re($ver_re))?/i ) {
+			$gen_license->( 'Python', $1, $2 );
 		}
 	}
+
+	# SIL
 	given ($licensetext) {
+		when ( /must be distributed using this license/i ) {
+			$license = "SIL (v1.0) $license";
+			push @spdx_license, 'SIL-1.0';
+		}
+		when ( /must be distributed entirely under this license/i ) {
+			$license = "SIL (v1.1) $license";
+			push @spdx_license, 'SIL-1.1';
+		}
+	}
+
+	# Unicode-strict
+	given ($licensetext) {
+		when ( /Unicode, Inc\. hereby grants the right to freely use the information supplied in this file in the creation of products supporting the Unicode Standard, and to make copies of this file in any form for internal or external distribution as long as this notice remains attached/i ) {
+			$license = "Unicode strict $license";
+			push @spdx_license, 'Unicode-strict';
+		}
+	}
+
+	# Unicode-TOU
+	given ($licensetext) {
+		when ( /Any person is hereby authorized, without fee, to view, use, reproduce, and distribute all documents and files solely for informational purposes in the creation of products supporting the Unicode Standard, subject to the Terms and Conditions herein/i ) {
+			$license = "Unicode Terms of Use $license";
+			push @spdx_license, 'Unicode-TOU';
+		}
+	}
+
+	# Zlib/Libpng
+	given ($licensetext) {
+		when ( /acknowledgment .* in the product documentation is required/ ) {
+			$license = "zlib/libpng License with Acknowledgement $license";
+			push @spdx_license, 'zlib-acknowledgement';
+		}
 		when ( /The origin of this software must not be misrepresented.*Altered source versions must be plainly marked as such.*This notice may not be removed or altered from any source distribution/ ) {
-			$license = "zlib/libpng $license";
-			push @spdx_license, 'Zlib';
+			$gen_license->('Zlib');
 		}
 		when ( /see copyright notice in zlib\.h/ ) {
-			$license = "zlib/libpng $license";
-			push @spdx_license, 'Zlib';
+			$gen_license->('Zlib');
 		}
 		when ( /This code is released under the libpng license/ ) {
-			$license = "libpng $license";
-			push @spdx_license, 'Libpng';
+			$gen_license->('Libpng');
 		}
 	}
+
+	# WTFPL
 	given ($licensetext) {
-		when ( /Do What The Fuck You Want To Public License, Version ([^, ]+)/i ) {
-			$license = "WTFPL (v$1) $license";
-			push @spdx_license, "WTFPL-$1";
+		when ( /Do What The Fuck You Want To Public License,? $ver_prefix_re($ver_re)/i ) {
+			$gen_license->( 'WTFPL', $1 );
 		}
 	}
 	given ($licensetext) {
 		when ( /Do what The Fuck You Want To Public License/i ) {
-			$license = "WTFPL $license";
-			push @spdx_license, "WTFPL";
+			$gen_license->('WTFPL');
 		}
 	}
 	given ($licensetext) {
 		when ( /(License WTFPL|Under (the|a) WTFPL)/i ) {
-			$license = "WTFPL $license";
-			push @spdx_license, "WTFPL";
+			$gen_license->('WTFPL');
 		}
 	}
 	#>>>
-	$license = "UNKNOWN" if ( !length($license) );
-	push @spdx_license, "UNKNOWN" unless @spdx_license;
 
 	# Remove trailing spaces.
 	$license =~ s/\s+$//;
-	return $self->deb_fmt ? join( ' or ', @spdx_license ) : $license;
+	return $self->deb_fmt ? join( ' and/or ', @spdx_license ) : $license;
 }
 
 =encoding UTF-8
diff --git a/t/Software-License.t b/t/Software-License.t
index 04c7aee..c33c9c1 100644
--- a/t/Software-License.t
+++ b/t/Software-License.t
@@ -8,7 +8,7 @@ use Test::More;
 use Test::Script;
 
 my %LICENSES = (
-	Apache_2_0   => 'UNKNOWN',
+	Apache_2_0   => 'Apache (v2.0)',
 	FreeBSD      => 'BSD (2 clause)',
 	GPL_1        => 'UNKNOWN',
 	GPL_2        => 'UNKNOWN',
@@ -26,16 +26,16 @@ my %LICENSES = (
 	Artistic_2_0 => 'Artistic (v2.0)',
 	Mozilla_1_0  => 'MPL (v1.0)',
 	None         => 'UNKNOWN',
-	PostgreSQL   => 'UNKNOWN',
-	AGPL_3       => 'UNKNOWN',
+	PostgreSQL   => 'PostgreSQL',
+	AGPL_3       => 'AGPL (v3)',
 	SSLeay       => 'BSD (2 clause)',
-	Apache_1_1   => 'UNKNOWN',
+	Apache_1_1   => 'Apache (v1.1)',
 	Mozilla_1_1  => 'MPL (v1.1)',
 	GFDL_1_2     => 'UNKNOWN',
 	Sun          => 'UNKNOWN',
 	BSD          => 'BSD (3 clause)',
 	OpenSSL      => 'UNKNOWN',
-	Perl_5       => 'UNKNOWN',
+	Perl_5       => 'Perl',
 );
 
 my $workdir = Path::Tiny->tempdir( CLEANUP => ( not $ENV{PRESERVE} ) );
diff --git a/t/devscripts.t b/t/devscripts.t
index 220a85a..7ab5805 100644
--- a/t/devscripts.t
+++ b/t/devscripts.t
@@ -43,7 +43,7 @@ subtest 'MultiLine declaration' => sub {
 };
 
 subtest 'Duplicated copyright' => sub {
-	licensecheck '-m --copyright', 'duplicated-copyright.rb',
+	licensecheck '-m --copyright', '../grant/Apache/one_helper.rb',
 		qr{Apache \(v2.0\)	2002-2015,? OpenNebula Project \(OpenNebula.org\), C12G Labs};
 };
 
@@ -90,6 +90,6 @@ subtest 'Encoding' => sub {
 };
 
 subtest 'Info at end' => sub {
-	licensecheck '-m --copyright', 'info-at-eof.h',
+	licensecheck '-m --copyright --lines 0', 'info-at-eof.h',
 		qr{MIT/X11 \(BSD like\)	1994-2012 Lua.org, PUC-Rio.*};
 };
diff --git a/t/grant.t b/t/grant.t
new file mode 100644
index 0000000..cfb8265
--- /dev/null
+++ b/t/grant.t
@@ -0,0 +1,84 @@
+use strictures 2;
+
+use Test::Roo;
+use App::Licensecheck;
+
+has encoding => ( is => 'ro' );
+has license  => ( is => 'ro', required => 1 );
+has corpus   => ( is => 'ro' );
+
+sub _build_description { return shift->license }
+
+test "Parse corpus" => sub {
+	my $self = shift;
+
+	my $app = App::Licensecheck->new;
+	$app->lines(0);
+	$app->deb_fmt(1);
+	$app->encoding( $self->encoding ) if $self->encoding;
+
+	foreach (
+		ref( $self->corpus ) eq 'ARRAY' ? @{ $self->corpus } : $self->corpus )
+	{
+		my ( $license, $copyright ) = $app->parse("t/grant/$_");
+		is( $license, $self->license, "Corpus file $_" );
+	}
+};
+
+# GPL
+run_me(
+	{   license => 'CC-BY-SA',
+		corpus  => 'GPL_and_more/init.lua'
+	}
+);
+
+# AGPL
+run_me( { license => 'AGPL-3+', corpus => 'AGPL/fastx.c' } );
+run_me( { license => 'AGPL-3+', corpus => 'AGPL/fet.cpp' } );
+run_me( { license => 'AGPL-3+', corpus => 'AGPL/setup.py' } );
+
+# Apache
+run_me(
+	{ license => 'Apache-2.0 or GPL-2', corpus => 'Apache_and_more/PIE.htc' }
+);
+run_me(
+	{   license => 'Apache-2.0 or Expat',
+		corpus  => 'Apache_and_more/rust.lang'
+	}
+);
+run_me(
+	{   license => 'Apache-2.0 or GPL-2',
+		corpus  => 'Apache_and_more/select2.js'
+	}
+);
+run_me(
+	{   license => 'Apache-2.0 or BSD-3-clause',
+		corpus  => 'Apache_and_more/test_run.py'
+	}
+);
+
+# CC-BY-SA
+run_me(
+	{   license => 'CC-BY-SA-3.0',
+		corpus  => 'CC-BY-SA_and_more/WMLA'
+	}
+);
+run_me(
+	{   license => 'CC-BY-SA-2.0 or GPL-3',
+		corpus  => 'CC-BY-SA_and_more/cewl.rb'
+	}
+);
+run_me(
+	{   license => 'CC-BY-SA-3.0 or LGPL-2',
+		corpus  => 'CC-BY-SA_and_more/utilities.scad'
+	}
+);
+
+# EPL
+run_me(
+	{   license => 'AGPL-3+ and/or LGPL-2.1 and/or Apache-2.0+',
+		corpus  => 'EPL_and_more/Base64Coder.java'
+	}
+);
+
+done_testing;
diff --git a/t/grant/AGPL/fastx.c b/t/grant/AGPL/fastx.c
new file mode 100644
index 0000000..5434e48
--- /dev/null
+++ b/t/grant/AGPL/fastx.c
@@ -0,0 +1,17 @@
+/*
+    FASTX-toolkit - FASTA/FASTQ preprocessing tools.
+    Copyright (C) 2009-2013  A. Gordon (assafgordon at gmail.com)
+
+    This program is free software: you can redistribute it and/or modify
+    it under the terms of the GNU Affero General Public License as
+    published by the Free Software Foundation, either version 3 of the
+    License, or (at your option) any later version.
+
+    This program 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 Affero General Public License for more details.
+
+    You should have received a copy of the GNU Affero General Public License
+    along with this program.  If not, see <http://www.gnu.org/licenses/>.
+*/
diff --git a/t/grant/AGPL/fet.cpp b/t/grant/AGPL/fet.cpp
new file mode 100644
index 0000000..44f5ef1
--- /dev/null
+++ b/t/grant/AGPL/fet.cpp
@@ -0,0 +1,20 @@
+/*
+File fet.cpp - this is where the program FET starts
+*/
+
+/***************************************************************************
+                          fet.cpp  -  description
+                             -------------------
+    begin                : 2002
+    copyright            : (C) 2002 by Lalescu Liviu
+    email                : Please see http://lalescu.ro/liviu/ for details about contacting Liviu Lalescu (in particular, you can find here the e-mail address)
+ ***************************************************************************/
+
+/***************************************************************************
+ *                                                                         *
+ *   This program is free software: you can redistribute it and/or modify  *
+ *   it under the terms of the GNU Affero General Public License as        *
+ *   published by the Free Software Foundation, either version 3 of the    *
+ *   License, or (at your option) any later version.                       *
+ *                                                                         *
+ ***************************************************************************/
diff --git a/t/grant/AGPL/setup.py b/t/grant/AGPL/setup.py
new file mode 100644
index 0000000..0b8d3f0
--- /dev/null
+++ b/t/grant/AGPL/setup.py
@@ -0,0 +1,26 @@
+#!/usr/bin/python -W default
+import warnings; warnings.simplefilter('default')
+
+import distutils.sysconfig
+import os 
+import sys
+
+try:
+  from setuptools import setup, Extension
+except ImportError:
+  from distutils.core import setup, Extension
+
+long_description = """\
+Embeds the Python interpreter into PAM \
+so PAM modules can be written in Python"""
+
+classifiers = [
+  "Development Status :: 4 - Beta",
+  "Intended Audience :: Developers",
+  "License :: OSI Approved :: GNU Affero General Public License v3 or later (AGPLv3+)",
+  "Natural Language :: English",
+  "Operating System :: Unix",
+  "Programming Language :: C",
+  "Programming Language :: Python",
+  "Topic :: Software Development :: Libraries :: Python Modules",
+  "Topic :: System :: Systems Administration :: Authentication/Directory"]
diff --git a/t/devscripts/duplicated-copyright.rb b/t/grant/Apache/one_helper.rb
similarity index 100%
rename from t/devscripts/duplicated-copyright.rb
rename to t/grant/Apache/one_helper.rb
diff --git a/t/grant/Apache_and_more/PIE.htc b/t/grant/Apache_and_more/PIE.htc
new file mode 100644
index 0000000..852f895
--- /dev/null
+++ b/t/grant/Apache_and_more/PIE.htc
@@ -0,0 +1,6 @@
+<!--
+PIE: CSS3 rendering for IE
+Version 1.0beta4
+http://css3pie.com
+Dual-licensed for use under the Apache License Version 2.0 or the General Public License (GPL) Version 2.
+-->
diff --git a/t/grant/Apache_and_more/rust.lang b/t/grant/Apache_and_more/rust.lang
new file mode 100644
index 0000000..3c7afd7
--- /dev/null
+++ b/t/grant/Apache_and_more/rust.lang
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+Copyright 2013-2015 The Rust Project Developers.
+
+Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+<LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+option. This file may not be copied, modified, or distributed
+except according to those terms.
+-->
+
+<!-- Syntax highlighting for the Rust language -->
diff --git a/t/grant/Apache_and_more/select2.js b/t/grant/Apache_and_more/select2.js
new file mode 100644
index 0000000..95e8df5
--- /dev/null
+++ b/t/grant/Apache_and_more/select2.js
@@ -0,0 +1,20 @@
+/*
+Copyright 2012 Igor Vaynberg
+
+Version: 3.5.2 Timestamp: Sat Nov  1 14:43:36 EDT 2014
+
+This software is licensed under the Apache License, Version 2.0 (the "Apache License") or the GNU
+General Public License version 2 (the "GPL License"). You may choose either license to govern your
+use of this software only upon the condition that you accept all of the terms of either the Apache
+License or the GPL License.
+
+You may obtain a copy of the Apache License and the GPL License at:
+
+    http://www.apache.org/licenses/LICENSE-2.0
+    http://www.gnu.org/licenses/gpl-2.0.html
+
+Unless required by applicable law or agreed to in writing, software distributed under the
+Apache License or the GPL License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
+CONDITIONS OF ANY KIND, either express or implied. See the Apache License and the GPL License for
+the specific language governing permissions and limitations under the Apache License and the GPL License.
+*/
diff --git a/t/grant/Apache_and_more/test_run.py b/t/grant/Apache_and_more/test_run.py
new file mode 100644
index 0000000..234dfee
--- /dev/null
+++ b/t/grant/Apache_and_more/test_run.py
@@ -0,0 +1,15 @@
+#
+#  subunit: extensions to python unittest to get test results from subprocesses.
+#  Copyright (C) 2011  Robert Collins <robertc at robertcollins.net>
+#
+#  Licensed under either the Apache License, Version 2.0 or the BSD 3-clause
+#  license at the users choice. A copy of both licenses are available in the
+#  project source as Apache-2.0 and BSD. You may not use this file except in
+#  compliance with one of these two licences.
+#  
+#  Unless required by applicable law or agreed to in writing, software
+#  distributed under these licenses is distributed on an "AS IS" BASIS, WITHOUT
+#  WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  See the
+#  license you chose for the specific language governing permissions and
+#  limitations under that license.
+#
diff --git a/t/grant/CC-BY-SA_and_more/WMLA b/t/grant/CC-BY-SA_and_more/WMLA
new file mode 100644
index 0000000..6e7118a
--- /dev/null
+++ b/t/grant/CC-BY-SA_and_more/WMLA
@@ -0,0 +1,8 @@
+ Unless otherwise explicitly stated, all original WebMuseum materials created by Nicolas Pioch are licensed under the terms of either (at your option):
+
+    the Creative Commons Attribution-ShareAlike 3.0 License
+    or the GNU Free Documentation License, Version 1.2 (local copy, original location)
+    or (at your option) any later version published by the Free Software Foundation,
+    with no Front-Cover Texts, no Back-Cover Texts and the Invariants Sections being the GNU Free Documentation License.
+    or, for incorporation into computer software, the GNU General Public License, version 3
+    or (at your option) any later version published by the Free Software Foundation.
diff --git a/t/grant/CC-BY-SA_and_more/cewl.rb b/t/grant/CC-BY-SA_and_more/cewl.rb
new file mode 100644
index 0000000..f77497b
--- /dev/null
+++ b/t/grant/CC-BY-SA_and_more/cewl.rb
@@ -0,0 +1,5 @@
+#
+# Author:: Robin Wood (robin at digi.ninja)
+# Copyright:: Copyright (c) Robin Wood 2016
+# Licence:: CC-BY-SA 2.0 or GPL-3+
+#
diff --git a/t/grant/CC-BY-SA_and_more/utilities.scad b/t/grant/CC-BY-SA_and_more/utilities.scad
new file mode 100644
index 0000000..ba53028
--- /dev/null
+++ b/t/grant/CC-BY-SA_and_more/utilities.scad
@@ -0,0 +1,6 @@
+/*
+ * Utility functions.
+ *
+ * Originally by Hans Häggström, 2010.
+ * Dual licenced under Creative Commons Attribution-Share Alike 3.0 and LGPL2 or later
+ */
diff --git a/t/grant/EPL_and_more/Base64Coder.java b/t/grant/EPL_and_more/Base64Coder.java
new file mode 100644
index 0000000..2dcbbc5
--- /dev/null
+++ b/t/grant/EPL_and_more/Base64Coder.java
@@ -0,0 +1,18 @@
+// Copyright 2003-2010 Christian d'Heureuse, Inventec Informatik AG, Zurich, Switzerland
+// www.source-code.biz, www.inventec.ch/chdh
+//
+// This module is multi-licensed and may be used under the terms
+// of any of the following licenses:
+//
+//  EPL, Eclipse Public License, V1.0 or later, http://www.eclipse.org/legal
+//  LGPL, GNU Lesser General Public License, V2.1 or later, http://www.gnu.org/licenses/lgpl.html
+//  GPL, GNU General Public License, V2 or later, http://www.gnu.org/licenses/gpl.html
+//  AGPL, GNU Affero General Public License V3 or later, http://www.gnu.org/licenses/agpl.html
+//  AL, Apache License, V2.0 or later, http://www.apache.org/licenses
+//  BSD, BSD License, http://www.opensource.org/licenses/bsd-license.php
+//  MIT, MIT License, http://www.opensource.org/licenses/MIT
+//
+// Please contact the author if you need another license.
+// This module is provided "as is", without warranties of any kind.
+//
+// Project home page: www.source-code.biz/base64coder/java
diff --git a/t/grant/GPL_and_more/init.lua b/t/grant/GPL_and_more/init.lua
new file mode 100644
index 0000000..177640e
--- /dev/null
+++ b/t/grant/GPL_and_more/init.lua
@@ -0,0 +1,8 @@
+--[[
+****
+More Ores
+by Calinou
+with the help of MarkTraceur, GloopMaster and Kotolegokot
+Licensed under GPLv3+ for code and CC BY-SA for textures, see: http://www.gnu.org/licenses/gpl-3.0.html
+****
+--]]
diff --git a/t/license.t b/t/license.t
index 4f72ba3..1c919ed 100644
--- a/t/license.t
+++ b/t/license.t
@@ -25,8 +25,9 @@ test "Parse corpus" => sub {
 	}
 };
 
-run_me( { license => 'AFL-3.0',    corpus => 'academic.h' } );
-run_me( { license => 'Apache-2.0', corpus => 'duplicated-copyright.rb' } );
+run_me( { license => 'AFL-3.0', corpus => 'academic.h' } );
+run_me(
+	{ license => 'Apache-2.0', corpus => '../grant/Apache/one_helper.rb' } );
 run_me(
 	{   license => 'Artistic-2.0',
 		corpus  => [qw(artistic-2-0-modules.pm artistic-2-0.txt)]
@@ -51,7 +52,7 @@ run_me(
 			[qw(lgpl-2.1.c lgpl-2.1.h lgpl-by-dist-zilla.pl lgpl-big-blue.h)]
 	}
 );
-run_me( { license => 'LGPL-2.1 or LGPL-3', corpus => 'lgpl-digia.c' } );
+run_me( { license => 'LGPL-2.1 and/or LGPL-3', corpus => 'lgpl-digia.c' } );
 run_me( { license => 'LGPL-2.1+', corpus => 'comments-detection.txt' } );
 run_me( { license => 'LGPL-2',    corpus => 'lgpl-2.s' } );
 run_me(

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-perl/packages/licensecheck.git



More information about the Pkg-perl-cvs-commits mailing list