[licensecheck] 42/112: Add trait patterns version_later version_later_paragraph version_later_postfix.

Jonas Smedegaard dr at jones.dk
Fri Nov 25 22:01:48 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 19aa45b602fa1356228d73bed2fca1e733baa770
Author: Jonas Smedegaard <dr at jones.dk>
Date:   Mon Nov 21 19:09:34 2016 +0100

    Add trait patterns version_later version_later_paragraph version_later_postfix.
---
 lib/App/Licensecheck.pm             | 16 ++++++++--------
 lib/Regexp/Pattern/License.pm       | 24 ++++++++++++++++++++++++
 lib/Regexp/Pattern/License/Parts.pm | 15 +++++++++++++++
 3 files changed, 47 insertions(+), 8 deletions(-)

diff --git a/lib/App/Licensecheck.pm b/lib/App/Licensecheck.pm
index 32c51e2..dc9eed2 100755
--- a/lib/App/Licensecheck.pm
+++ b/lib/App/Licensecheck.pm
@@ -480,7 +480,7 @@ sub parse_license
 			$gplver      = " (v$1)";
 			@spdx_gplver = ($1);
 		}
-		when ( /either $L{re}{version}{-keep}(?: of the License)?, or (?:\(at your option\) )?any later version/ ) {
+		when ( /either $L{re}{version}{-keep}(?: of the License)?,? $L{re}{version_later_postfix}/ ) {
 			$gplver      = " (v$1 or later)";
 			@spdx_gplver = ( $1 . '+' );
 		}
@@ -542,7 +542,7 @@ sub parse_license
 		when ( /means either [^.]+, the GNU Affero General Public License/i ) {
 			break;
 		}
-		when ( /AFFERO GENERAL PUBLIC LICENSE(?:,? $L{re}{version}{-keep}(,? or(?: any)? (?:later|newer))?)?/i ) {
+		when ( /AFFERO GENERAL PUBLIC LICENSE(?:,? $L{re}{version}{-keep}(,? $L{re}{version_later_postfix})?)?/i ) {
 			$gen_license->( 'AGPL', $1, $2 );
 		}
 	}
@@ -575,7 +575,7 @@ sub parse_license
 				$license = "$L{caption}{$id} (v$1 or v$2) $license";
 				push @spdx_license, "$L{name}{$id}-$1 or $L{name}{$id}-$1";
 			}
-			when ( /$L{re}{$id}(?: $L{re}{version}{-keep}?)(?: License)?( (?:and|or)(?: \(at your option\))? any later(?: version)|[,.] Later versions are permitted)?(?:,? (?:and|or)(?: the)?(?:GNU)? (AGPL|GPL|LGPL)(?:-?($L{re}{version_number})( or later)?)?)?/i ) {
+			when ( /$L{re}{$id}(?: $L{re}{version}{-keep}?)(?: License)?($L{re}{version_later})?(?:,? (?:and|or)(?: the)?(?:GNU)? (AGPL|GPL|LGPL)(?:-?($L{re}{version_number})(,? $L{re}{version_later_postfix})?)?)?/i ) {
 				$gen_license->( $id, $1, $2, $3, $4 );
 			}
 		}
@@ -738,19 +738,19 @@ sub parse_license
 
 	# Apache
 	given ($licensetext) {
-		when ( /Apache(?: Software)? License(?:,? $L{re}{version}{-keep}( or(?: any)? (?:later|newer))?)?(?:(?: or)? [^ ,]*?apache[^ ,]*| \([^(),]+\))*,? or(?: the)?(?:(?: GNU)? General Public License(?: \(GPL\))?|GPL)(?: $L{re}{version}{-keep}( or(?: any)? (?:later|newer))?)?/i ) {
+		when ( /Apache(?: Software)? License(?:,? $L{re}{version}{-keep}(,? $L{re}{version_later_postfix})?)?(?:(?: or)? [^ ,]*?apache[^ ,]*| \([^(),]+\))*,? or(?: the)?(?:(?: GNU)? General Public License(?: \(GPL\))?|GPL)(?: $L{re}{version}{-keep}(,? $L{re}{version_later_postfix})?)?/i ) {
 			$gen_license->( 'Apache', $1, $2, 'GPL', $3, $4 );
 		}
-		when ( /Apache(?: Software)? License(?:,? $L{re}{version}{-keep}( or(?: any)? (?:later|newer))?)?(?:(?: or)? [^ ,]*?apache[^ ,]*| \([^(),]\))*,? or(?: the)? bsd(?:[ -](\d)-clause)?\b/i ) {
+		when ( /Apache(?: Software)? License(?:,? $L{re}{version}{-keep}(,? $L{re}{version_later_postfix})?)?(?:(?: or)? [^ ,]*?apache[^ ,]*| \([^(),]\))*,? or(?: the)? bsd(?:[ -](\d)-clause)?\b/i ) {
 			$gen_license->( 'Apache', $1, $2, "bsd_${3}_clause" );
 		}
-		when ( /Apache(?: Software)? License(?:,? $L{re}{version}{-keep}( or(?: any)? (?:later|newer))?)?(?:(?: or)? [^ ,]*?apache[^ ,]*| \([^(),]\))*,? or $L{re}{mit_new}\b/i ) {
+		when ( /Apache(?: Software)? License(?:,? $L{re}{version}{-keep}(,? $L{re}{version_later_postfix})?)?(?:(?: or)? [^ ,]*?apache[^ ,]*| \([^(),]\))*,? or $L{re}{mit_new}\b/i ) {
 			$gen_license->( 'Apache', $1, $2, 'mit_new', $3, $4 );
 		}
-		when ( /Apache(?: Software)? License(?:,? $L{re}{version}{-keep}( or(?: any)? (?:later|newer))?)?(?:(?: or)? [^ ,]*?apache[^ ,]*| \([^(),]\))*,? or $L{re}{mit}\b/i ) {
+		when ( /Apache(?: Software)? License(?:,? $L{re}{version}{-keep}(,? $L{re}{version_later_postfix})?)?(?:(?: or)? [^ ,]*?apache[^ ,]*| \([^(),]\))*,? or $L{re}{mit}\b/i ) {
 			$gen_license->( 'Apache', $1, $2, 'mit', $3, $4 );
 		}
-		when ( /Apache(?: Software)? License(?:,? $L{re}{version}{-keep}(,? or(?: any)? (?:later|newer))?)?/i ) {
+		when ( /Apache(?: Software)? License(?:,? $L{re}{version}{-keep}(,? $L{re}{version_later_postfix})?)?/i ) {
 			$gen_license->( 'Apache', $1, $2 );
 		}
 		when ( m<https?www.apache.org/licenses(?:/LICENSE-($L{re}{version_number}))?>i ) {
diff --git a/lib/Regexp/Pattern/License.pm b/lib/Regexp/Pattern/License.pm
index 7106fbd..f553f54 100644
--- a/lib/Regexp/Pattern/License.pm
+++ b/lib/Regexp/Pattern/License.pm
@@ -266,6 +266,12 @@ Patterns each covering a single trait occuring in licenses.
 
 =item * disclaimer
 
+=item * version_later
+
+=item * version_later_paragraph
+
+=item * version_later_postfix
+
 =item * version_number
 
 =item * version_prefix
@@ -309,6 +315,24 @@ $RE{'disclaimer'} = {
 	pat  => qr/$P{discl}/,
 };
 
+$RE{'version_later'} = {
+	caption => 'version "or later"',
+	tags    => ['trait'],
+	pat     => qr/,? $P{version_later_postfix}|\. $P{version_later_para}/,
+};
+
+$RE{'version_later_paragraph'} = {
+	caption => 'version "or later" postfix (paragraphs)',
+	tags    => ['trait'],
+	pat     => qr/$P{version_later_para}/,
+};
+
+$RE{'version_later_postfix'} = {
+	caption => 'version "or later" (postfix)',
+	tags    => ['trait'],
+	pat     => qr/$P{version_later_postfix}/,
+};
+
 $RE{'version_number'} = {
 	caption => 'version number',
 	tags    => ['trait'],
diff --git a/lib/Regexp/Pattern/License/Parts.pm b/lib/Regexp/Pattern/License/Parts.pm
index 842771f..46c2aeb 100644
--- a/lib/Regexp/Pattern/License/Parts.pm
+++ b/lib/Regexp/Pattern/License/Parts.pm
@@ -63,6 +63,10 @@ Patterns each covering a single part, e.g. a clause or a disclaimer phrase.
 
 =item * use_sw_doc_any
 
+=item * version_later_para
+
+=item * version_later_postfix
+
 =item * version_number
 
 =item * version_prefix
@@ -250,6 +254,17 @@ our %RE = (
 		tags    => ['clause'],
 		pat     => qr/$to_use $sw_doc $any_purpose/,
 	},
+	version_later_para => {
+		caption => 'version "or later" (paragraph)',
+		tags    => ['trait'],
+		pat     => qr/Later versions are permitted/,
+	},
+	version_later_postfix => {
+		caption => 'version "or later" (postfix)',
+		tags    => ['trait'],
+		pat =>
+			qr/(?:and|or)(?: ?\(?at your option\)?)?(?: any)? (?:later|newer)(?: version)?/,
+	},
 	version_number => {
 		caption => 'version number',
 		tags    => ['component'],

-- 
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