[licensecheck] 52/112: Tighten regexes: Generalize and improve LGPL matching.
Jonas Smedegaard
dr at jones.dk
Fri Nov 25 22:01:50 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 0a70c58b585d2b6532d084211e894397ee5f1703
Author: Jonas Smedegaard <dr at jones.dk>
Date: Tue Oct 4 21:31:57 2016 +0200
Tighten regexes: Generalize and improve LGPL matching.
---
lib/App/Licensecheck.pm | 74 ++++++++++++------
t/devscripts.t | 2 +-
t/devscripts/lgpl-2-3.c | 17 -----
t/devscripts/lgpl-2.1.c | 15 ----
t/devscripts/lgpl-2.1.h | 15 ----
t/devscripts/lgpl-2.s | 11 ---
t/devscripts/lgpl-3+.h | 13 ----
t/devscripts/lgpl-big-blue.h | 14 ----
t/devscripts/lgpl-by-dist-zilla.pl | 20 -----
t/devscripts/lgpl-no-version.h | 8 --
t/devscripts/lgpl-variation.c | 12 ---
t/grant.t | 87 +++++++++++++++++++++-
t/grant/AFL_and_more/xdgmime.c | 23 ++++++
t/grant/LGPL/Model.pm | 9 +++
t/grant/LGPL/PKG-INFO | 25 +++++++
t/grant/LGPL/criu.h | 17 +++++
t/grant/LGPL/dqblk_xfs.h | 16 ++++
t/grant/LGPL/exr.h | 9 +++
t/grant/LGPL/gnome.h | 14 ++++
t/grant/LGPL/jitterbuf.h | 14 ++++
t/grant/LGPL/libotr.m4 | 18 +++++
t/grant/LGPL/pic.c | 6 ++
t/grant/LGPL/strv.c | 13 ++++
t/grant/LGPL/table.py | 27 +++++++
t/grant/LGPL/videoplayer.cpp | 21 ++++++
t/grant/LGPL_and_more/da.aff | 23 ++++++
t/grant/MPL_and_more/symbolstore.py | 39 ++++++++++
.../lgpl-digia.c => grant/misc/rpplexer.h} | 27 ++++---
t/license.t | 14 +---
29 files changed, 433 insertions(+), 170 deletions(-)
diff --git a/lib/App/Licensecheck.pm b/lib/App/Licensecheck.pm
index d806f3f..9b5c4a6 100755
--- a/lib/App/Licensecheck.pm
+++ b/lib/App/Licensecheck.pm
@@ -75,6 +75,11 @@ my %SPDX = (
'zlib-acknowledgement' => 'zlib/libpng with Acknowledgement',
);
+my $under_terms_of
+ = qr/(?:(?:Licensed|released) under|(?:according to|under) the (?:conditions|terms) of)/i;
+my $any_of = qr/(?:any|one or more) of the following/i;
+my $or_option_re = qr/(?:and|or)(?: ?\(?at your (?:choice|option)\)?)?/i;
+
my $default_check_regex = q!
/[\w-]+$ # executable scripts or README like file
|\.( # search for file suffix
@@ -462,12 +467,8 @@ sub parse_license
#<<< do not let perltidy touch this (keep long regex on one line)
- # version of AGPL/GPL/LGPL
+ # version of AGPL/GPL
given ($licensetext) {
- when ( /version ($L{re}{version_number})(?: of the License)?,? or(?: \(at your option\))? version ($L{re}{version_number})/ ) {
- $gplver = " (v$1 or v$2)";
- @spdx_gplver = ( $1, $2 );
- }
when ( /version ($L{re}{version_number})[.,]? (?:\(?only\)?.? )?(?:of the GNU (Affero |Lesser |Library )?General Public License )?(as )?published by the Free Software Foundation/i ) {
$gplver = " (v$1)";
@spdx_gplver = ($1)
@@ -516,15 +517,47 @@ sub parse_license
}
}
+ # multi-licensing
+ given ($licensetext) {
+ my @multilicenses;
+ # same sentence
+ when ( /$under_terms_of $any_of(?:[^.]|\.\S)* $L{re}{lgpl}(?:[,;:]? ?$L{re}{version}{-keep}(?: of the License)?($L{re}{version_later})?)?/i ) {
+ push @multilicenses, 'lgpl', $1, $2;
+ continue;
+ }
+ when ( /$under_terms_of $any_of(?:[^.]|\.\S)* $L{re}{gpl}(?:[,;:]? ?$L{re}{version}{-keep}(?: of the License)?($L{re}{version_later})?)?/i ) {
+ push @multilicenses, 'gpl', $1, $2;
+ continue;
+ }
+ $gen_license->( @multilicenses ) if (@multilicenses);
+ }
+
# 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 )?$L{re}{lgpl}/i ) {
- $license = "LGPL$gplver$extrainfo $license";
- push @spdx_license, $gen_spdx->('LGPL');
+ # LGPL, among several
+ when ( /$under_terms_of $any_of(?:[^.]|\.\S)* $L{re}{lgpl}(?:[,;:]? ?$L{re}{version}{-keep}(?: of the License)?($L{re}{version_later})?)?/i ) {
+ break; # handled in multi-licensing loop
+ }
+ # AFL or LGPL
+ when ( /either $L{re}{afl}(?:[,;]? ?$L{re}{version}{-keep}(,? $L{re}{version_later_postfix})?)?, or $L{re}{lgpl}(?:[,;]? ?$L{re}{version}{-keep}(,? $L{re}{version_later_postfix})?)?/i ) {
+ break; # handled in AFL loop
+ }
+ # GPL or LGPL
+ when ( /either $L{re}{gpl}(?:[,;]? ?$L{re}{version}{-keep}(,? $L{re}{version_later_postfix})?)?(?: \((?:the )?"?GPL"?\))?, or $L{re}{lgpl}/i ) {
+ break; # handled in GPL loop
}
- # For Perl modules handled by Dist::Zilla
- when ( /this is free software,? licensed under:? $L{re}{lgpl},? $L{re}{version}{-keep}/i ) {
- $gen_license->( 'lgpl', $1 );
+ # LGPL, version first
+ when ( /$under_terms_of $L{re}{version}{-keep}( $L{re}{version_later_postfix})? of $L{re}{lgpl}/i ) {
+ $gen_license->( 'lgpl', $1, $2 );
+ }
+ # LGPL, dual versions last
+ when ( /$under_terms_of $L{re}{lgpl}\b[,;:]?(?: either)? ?$L{re}{version}{-keep}(?: of the License)?,? $or_option_re $L{re}{version}{-keep}/i ) {
+ $license = "LGPL (v$1 or v$2) $license";
+ push @spdx_license, "LGPL-$1 or LGPL-$2";
+ }
+ # LGPL, version last
+ when ( /$under_terms_of $L{re}{lgpl}(?:[,;:]?(?: either)? ?$L{re}{version}{-keep}(?: of the License)?($L{re}{version_later})?)?/i ) {
+ $gen_license->( 'lgpl', $1, $2 );
}
}
@@ -565,6 +598,10 @@ sub parse_license
when ( /Terms of the Perl programming language system itself/ ) {
break;
}
+ # GPL or LGPL
+ when ( /either $L{re}{gpl}(?:[,;]? ?$L{re}{version}{-keep}(,? $L{re}{version_later_postfix})?)?(?: \((?:the )?"?GPL"?\))?, or $L{re}{lgpl}(?:[,;]? ?$L{re}{version}{-keep}(,? $L{re}{version_later_postfix})?)?/i ) {
+ $gen_license->( 'gpl', $1, $2, 'lgpl', $3, $4 );
+ }
if ( $gplver or $extrainfo ) {
when ( /under (?:the terms of )?(?:version \S+ (?:\(?only\)? )?of )?$L{re}{gpl}/i ) {
$license = "GPL$gplver$extrainfo $license";
@@ -576,15 +613,6 @@ sub parse_license
}
}
- # LGPL unversioned
- given ($licensetext) {
- when ( /(?:is|may be) (?:(?:distributed|used).*?terms|being released).*?\b(LGPL)\b/ ) {
- my $v = $gplver || ' (unversioned/unknown version)';
- $license = "$1$v $license";
- push @spdx_license, $gen_spdx->($1);
- }
- }
-
# CC
given ($licensetext) {
foreach my $id (qw<cc_by cc_by_nc cc_by_nc_nd cc_by_nc_sa cc_by_nd cc_by_sa cc_cc0>) {
@@ -867,8 +895,12 @@ sub parse_license
}
}
- # AFL
given ($licensetext) {
+ # AFL or LGPL
+ when ( /either $L{re}{afl}(?:,? ?$L{re}{version}{-keep}(,? $L{re}{version_later_postfix})?)?, or $L{re}{lgpl}(?:,? ?$L{re}{version}{-keep}(,? $L{re}{version_later_postfix})?)?/i ) {
+ $gen_license->( 'afl', $1, $2, 'lgpl', $3, $4 );
+ }
+ # AFL
when ( /Licensed under $L{re}{afl}(?: $L{re}{version}{-keep})?/ ) {
$gen_license->( 'afl', $1 );
}
diff --git a/t/devscripts.t b/t/devscripts.t
index 7ab5805..68e60af 100644
--- a/t/devscripts.t
+++ b/t/devscripts.t
@@ -53,7 +53,7 @@ subtest 'Dual' => sub {
subtest 'Machine' => sub {
licensecheck '-m', 'beerware.cpp', 'Beerware';
- licensecheck '--machine', 'lgpl-2.1.h', 'LGPL (v2.1)';
+ licensecheck '--machine', 'gpl-2', 'GPL (v2)';
licensecheck '-m --copyright', 'gpl-2',
'GPL (v2) 2012 Devscripts developers';
};
diff --git a/t/devscripts/lgpl-2-3.c b/t/devscripts/lgpl-2-3.c
deleted file mode 100644
index bece581..0000000
--- a/t/devscripts/lgpl-2-3.c
+++ /dev/null
@@ -1,17 +0,0 @@
-/*
- * Copyright (C) 2014 Devscripts developers
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) version 3.
- *
- * 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
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with the program; if not, see <http://www.gnu.org/licenses/>
- *
- */
diff --git a/t/devscripts/lgpl-2.1.c b/t/devscripts/lgpl-2.1.c
deleted file mode 100644
index c3c12ff..0000000
--- a/t/devscripts/lgpl-2.1.c
+++ /dev/null
@@ -1,15 +0,0 @@
-/*
- * Copyright (c) 2012 Devscripts developers
- *
- * The devscripts library is licensed under the terms of the GNU
- * Lesser General Public License, version 2.1. Please see the file
- * COPYING.LGPL.
- *
- * This library 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 Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
diff --git a/t/devscripts/lgpl-2.1.h b/t/devscripts/lgpl-2.1.h
deleted file mode 100644
index d82a10c..0000000
--- a/t/devscripts/lgpl-2.1.h
+++ /dev/null
@@ -1,15 +0,0 @@
-/*
- * Copyright (c) 2012 Devscripts developers
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of version 2.1 of the GNU Lesser General
- * Public License published by the Free Software Foundation.
- *
- * 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 Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public License
- * along with this program; if not, <http://www.gnu.org/licenses/>.
- */
diff --git a/t/devscripts/lgpl-2.s b/t/devscripts/lgpl-2.s
deleted file mode 100644
index f7647c8..0000000
--- a/t/devscripts/lgpl-2.s
+++ /dev/null
@@ -1,11 +0,0 @@
-@ Copyright (C) 2012 Devscripts developers
-@
-@ This library is free software; you can redistribute it and/or
-@ modify it under the terms of the GNU Library General Public
-@ License as published by the Free Software Foundation;
-@ version 2 of the License.
-@
-@ This library 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
-@ Library General Public License for more details.
diff --git a/t/devscripts/lgpl-3+.h b/t/devscripts/lgpl-3+.h
deleted file mode 100644
index 4ab70af..0000000
--- a/t/devscripts/lgpl-3+.h
+++ /dev/null
@@ -1,13 +0,0 @@
-// Copyright (c) 2013 Devscripts developers
-// All rights reserved.
-//
-// The files in this directory are part of the Devscripts Library.
-// You can redistribute them and/or modify them under the terms of the
-// GNU Lesser General Public License as published by the Free Software Foundation;
-// either version 3 of the License, or (at your option) any later version.
-//
-// Licensees holding a valid commercial license may use this file in
-// accordance with the commercial license agreement provided with the software.
-//
-// These files are provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
-// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
diff --git a/t/devscripts/lgpl-big-blue.h b/t/devscripts/lgpl-big-blue.h
deleted file mode 100644
index d1f288c..0000000
--- a/t/devscripts/lgpl-big-blue.h
+++ /dev/null
@@ -1,14 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2010 IBM Corporation and others. All rights reserved.
- * The contents of this file are made available under the terms
- * of the GNU Lesser General Public License (LGPL) Version 2.1 that
- * accompanies this distribution (lgpl-v21.txt). The LGPL is also
- * available at http://www.gnu.org/licenses/lgpl.html. If the version
- * of the LGPL at http://www.gnu.org is different to the version of
- * the LGPL accompanying this distribution and there is any conflict
- * between the two license versions, the terms of the LGPL accompanying
- * this distribution shall govern.
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
diff --git a/t/devscripts/lgpl-by-dist-zilla.pl b/t/devscripts/lgpl-by-dist-zilla.pl
deleted file mode 100644
index 13b59e6..0000000
--- a/t/devscripts/lgpl-by-dist-zilla.pl
+++ /dev/null
@@ -1,20 +0,0 @@
-#!/usr/bin/perl
-#
-# This file is part of Config-Model-LcdProc
-#
-# This software is Copyright (c) 2016 by Dominique Dumont.
-#
-# This is free software, licensed under:
-#
-# The GNU Lesser General Public License, Version 2.1, February 1999
-#
-
-# test headers provided by Dist;:Zilla. Well, provided means
-# "ge.ne.ra.ted" but that breaks the test as licensecheck will issue
-# "GE.NE.RA.TED FILE"
-
-use strict;
-use warnings;
-
-# This script uses all the information available in LCDd.conf to create a model
-# for LCDd configuration file
diff --git a/t/devscripts/lgpl-no-version.h b/t/devscripts/lgpl-no-version.h
deleted file mode 100644
index 8f778fd..0000000
--- a/t/devscripts/lgpl-no-version.h
+++ /dev/null
@@ -1,8 +0,0 @@
-/*-
- * Copyright (c) 2011 Wolfgang Hauck <wolfgang.hauck at gmx.de>.
- * Derived from imon-module.
- *
- * This source code is being released under the LGPL.
- * Please see the file COPYING in this package for details.
- */
-
diff --git a/t/devscripts/lgpl-variation.c b/t/devscripts/lgpl-variation.c
deleted file mode 100644
index 80ba416..0000000
--- a/t/devscripts/lgpl-variation.c
+++ /dev/null
@@ -1,12 +0,0 @@
-// Copyright (c) 2013 Devscripts developers. All rights reserved.
-//
-// This file is part of Devscripts; you can redistribute it and/or
-// modify it under the terms of the GNU Lesser General Public License as
-// published by the Free Software Foundation; either version 3 of the License,
-// or (at your option) any later version.
-//
-// Licensees holding a valid commercial license may use this file in
-// accordance with the commercial license agreement provided with the software.
-//
-// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
-// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
diff --git a/t/grant.t b/t/grant.t
index 0444515..10e53a9 100644
--- a/t/grant.t
+++ b/t/grant.t
@@ -25,6 +25,21 @@ test "Parse corpus" => sub {
}
};
+# AFL
+run_me(
+ { license => 'LGPL-2+ and/or AFL-2.0',
+ corpus => 'AFL_and_more/xdgmime.c'
+ }
+);
+TODO: {
+ local $TODO = 'not yet handled';
+ run_me(
+ { license => 'AFL-2.0 or LGPL-2+',
+ corpus => 'AFL_and_more/xdgmime.c'
+ }
+ );
+}
+
# AGPL
run_me( { license => 'AGPL-3+', corpus => 'AGPL/fastx.c' } );
run_me( { license => 'AGPL-3+', corpus => 'AGPL/fet.cpp' } );
@@ -69,10 +84,80 @@ run_me(
# EPL
run_me(
- { license => 'AGPL-3+ and/or LGPL-2.1 and/or Apache-2.0+',
+ { license => 'LGPL-2.1+ or GPL-3+ and/or AGPL-3+ and/or Apache-2.0+',
corpus => 'EPL_and_more/Base64Coder.java'
}
);
+TODO: {
+ local $TODO = 'not yet handled';
+ run_me(
+ { license => 'AGPL-3+ or Apache-2.0+ or GPL-3+ or LGPL-2.1+',
+ corpus => 'EPL_and_more/Base64Coder.java'
+ }
+ );
+}
+
+# LGPL
+run_me( { license => 'LGPL-2.1', corpus => 'LGPL/Model.pm' } );
+TODO: {
+ local $TODO = 'not yet handled';
+ run_me( { license => 'LGPL', corpus => 'LGPL/PKG-INFO' } );
+}
+run_me( { license => 'LGPL-2.1', corpus => 'LGPL/criu.h' } );
+run_me( { license => 'LGPL', corpus => 'LGPL/dqblk_xfs.h' } );
+run_me( { license => 'LGPL', corpus => 'LGPL/exr.h' } );
+run_me( { license => 'LGPL-2.1', corpus => 'LGPL/gnome.h' } );
+run_me( { license => 'LGPL', corpus => 'LGPL/jitterbuf.h' } );
+run_me( { license => 'LGPL-2.1', corpus => 'LGPL/libotr.m4' } );
+run_me( { license => 'LGPL-3', corpus => 'LGPL/pic.c' } );
+run_me( { license => 'LGPL-2.1+', corpus => 'LGPL/strv.c' } );
+run_me( { license => 'LGPL-2+', corpus => 'LGPL/table.py' } );
+run_me(
+ { license => 'LGPL-2.1 or LGPL-3', corpus => 'LGPL/videoplayer.cpp' } );
+run_me(
+ { license => 'LGPL-2.1 or GPL-2.0 and/or MPL-1.1',
+ corpus => 'LGPL_and_more/da.aff'
+ }
+);
+TODO: {
+ local $TODO = 'not yet handled';
+ run_me(
+ { license => 'GPL-2 or LGPL-2.1 or MPL-1.1',
+ corpus => 'LGPL_and_more/da.aff'
+ }
+ );
+}
+
+# MPL
+run_me(
+ { license => 'GPL-2+ or LGPL-2.1+ and/or MPL-1.1',
+ corpus => 'MPL_and_more/symbolstore.py'
+ }
+);
+TODO: {
+ local $TODO = 'not yet handled';
+ run_me(
+ { license => 'GPL-2+ or LGPL-2.1+ or MPL-1.1',
+ corpus => 'MPL_and_more/symbolstore.py'
+ }
+ );
+}
+
+# misc
+run_me(
+ { license => 'LGPL-2.1 or LGPL-3 and/or GPL-3',
+ corpus => 'misc/rpplexer.h'
+ }
+);
+TODO: {
+ local $TODO = 'not yet handled';
+ run_me(
+ { license =>
+ 'GPL-3 or LGPL-2.1 with Qt exception or LGPL-3 with Qt exception or Qt',
+ corpus => 'misc/rpplexer.h'
+ }
+ );
+}
# MIT
run_me(
diff --git a/t/grant/AFL_and_more/xdgmime.c b/t/grant/AFL_and_more/xdgmime.c
new file mode 100644
index 0000000..463d096
--- /dev/null
+++ b/t/grant/AFL_and_more/xdgmime.c
@@ -0,0 +1,23 @@
+/* xdgmime.c: XDG Mime Spec mime resolver. Based on version 0.11 of the spec.
+ *
+ * More info can be found at http://www.freedesktop.org/standards/
+ *
+ * Copyright (C) 2003,2004 Red Hat, Inc.
+ * Copyright (C) 2003,2004 Jonathan Blandford <jrb at alum.mit.edu>
+ *
+ * Licensed under the Academic Free License version 2.0
+ * Or under the following terms:
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library 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
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, see <http://www.gnu.org/licenses/>.
+ */
diff --git a/t/grant/LGPL/Model.pm b/t/grant/LGPL/Model.pm
new file mode 100644
index 0000000..0c8f427
--- /dev/null
+++ b/t/grant/LGPL/Model.pm
@@ -0,0 +1,9 @@
+#
+# This file is part of Config-Model
+#
+# This software is Copyright (c) 2005-2016 by Dominique Dumont.
+#
+# This is free software, licensed under:
+#
+# The GNU Lesser General Public License, Version 2.1, February 1999
+#
diff --git a/t/grant/LGPL/PKG-INFO b/t/grant/LGPL/PKG-INFO
new file mode 100644
index 0000000..380475b
--- /dev/null
+++ b/t/grant/LGPL/PKG-INFO
@@ -0,0 +1,25 @@
+Metadata-Version: 1.0
+Name: PyGObject
+Version: 3.22.0
+Summary: Python bindings for GObject
+Home-page: http://www.pygtk.org/
+Author: James Henstridge
+Author-email: james at daa.com.au
+Maintainer: Simon Feltman
+Maintainer-email: sfeltman at src.gnome.org
+License: GNU LGPL
+Download-url: ftp://ftp.gnome.org/pub/GNOME/sources/pygobject/3.22/pygobject-3.22.0.tar.gz
+Description: Python bindings for GLib and GObject
+Platform: POSIX, Windows
+Classifier: Development Status :: 5 - Production/Stable
+Classifier: Environment :: Linux
+Classifier: Environment :: MacOS X
+Classifier: Environment :: Win32 (MS Windows)
+Classifier: Environment :: Unix
+Classifier: Intended Audience :: Developers
+Classifier: License :: OSI Approved :: GNU Library or Lesser General Public License (LGPL)
+Classifier: Operating System :: POSIX
+Classifier: Operating System :: Microsoft :: Windows
+Classifier: Programming Language :: C
+Classifier: Programming Language :: Python
+Classifier: Topic :: Software Development :: Libraries :: Python Modules
diff --git a/t/grant/LGPL/criu.h b/t/grant/LGPL/criu.h
new file mode 100644
index 0000000..0ee3039
--- /dev/null
+++ b/t/grant/LGPL/criu.h
@@ -0,0 +1,17 @@
+/*
+ * (C) Copyright 2013 Parallels, Inc. (www.parallels.com).
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the GNU Lesser General Public License
+ * (LGPL) version 2.1 which accompanies this distribution, and is available at
+ * http://www.gnu.org/licenses/lgpl-2.1.html
+ *
+ * This library 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
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, you can find it here:
+ * www.gnu.org/licenses/lgpl.html
+ */
diff --git a/t/grant/LGPL/dqblk_xfs.h b/t/grant/LGPL/dqblk_xfs.h
new file mode 100644
index 0000000..319010d
--- /dev/null
+++ b/t/grant/LGPL/dqblk_xfs.h
@@ -0,0 +1,16 @@
+/*
+ * Copyright (c) 1995-2001,2004 Silicon Graphics, Inc. All Rights Reserved.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public License
+ * as published by the Free Software Foundation.
+ *
+ * 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 Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesset General Public License
+ * along with this program; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+ */
diff --git a/t/grant/LGPL/exr.h b/t/grant/LGPL/exr.h
new file mode 100644
index 0000000..6373f76
--- /dev/null
+++ b/t/grant/LGPL/exr.h
@@ -0,0 +1,9 @@
+/**
+* QImageIO Routines to read (and perhaps in the future, write) images
+* in the high definition EXR format.
+*
+* Copyright (c) 2003, Brad Hards <bradh at frogmouth.net>
+*
+* This library is distributed under the conditions of the GNU LGPL.
+*
+*/
diff --git a/t/grant/LGPL/gnome.h b/t/grant/LGPL/gnome.h
new file mode 100644
index 0000000..41af1da
--- /dev/null
+++ b/t/grant/LGPL/gnome.h
@@ -0,0 +1,14 @@
+/*******************************************************************************
+* Copyright (c) 2000, 2011 IBM Corporation and others. All rights reserved.
+* The contents of this file are made available under the terms
+* of the GNU Lesser General Public License (LGPL) Version 2.1 that
+* accompanies this distribution (lgpl-v21.txt). The LGPL is also
+* available at http://www.gnu.org/licenses/lgpl.html. If the version
+* of the LGPL at http://www.gnu.org is different to the version of
+* the LGPL accompanying this distribution and there is any conflict
+* between the two license versions, the terms of the LGPL accompanying
+* this distribution shall govern.
+*
+* Contributors:
+* IBM Corporation - initial API and implementation
+*******************************************************************************/
diff --git a/t/grant/LGPL/jitterbuf.h b/t/grant/LGPL/jitterbuf.h
new file mode 100644
index 0000000..91c44a6
--- /dev/null
+++ b/t/grant/LGPL/jitterbuf.h
@@ -0,0 +1,14 @@
+/*
+ * jitterbuf: an application-independent jitterbuffer
+ *
+ * Copyrights:
+ * Copyright (C) 2004-2005, Horizon Wimba, Inc.
+ *
+ * Contributors:
+ * Steve Kann <stevek at stevek.com>
+ *
+ * This program is free software, distributed under the terms of
+ * the GNU Lesser (Library) General Public License
+ *
+ * Copyright on this file is disclaimed to Digium for inclusion in Asterisk
+ */
diff --git a/t/grant/LGPL/libotr.m4 b/t/grant/LGPL/libotr.m4
new file mode 100644
index 0000000..1f801b1
--- /dev/null
+++ b/t/grant/LGPL/libotr.m4
@@ -0,0 +1,18 @@
+dnl
+dnl Off-the-Record Messaging library
+dnl Copyright (C) 2004-2007 Ian Goldberg, Chris Alexander, Nikita Borisov
+dnl <otr at cypherpunks.ca>
+dnl
+dnl This library is free software; you can redistribute it and/or
+dnl modify it under the terms of version 2.1 of the GNU Lesser General
+dnl Public License as published by the Free Software Foundation.
+dnl
+dnl This library is distributed in the hope that it will be useful,
+dnl but WITHOUT ANY WARRANTY; without even the implied warranty of
+dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+dnl Lesser General Public License for more details.
+dnl
+dnl You should have received a copy of the GNU Lesser General Public
+dnl License along with this library; if not, write to the Free Software
+dnl Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+dnl
diff --git a/t/grant/LGPL/pic.c b/t/grant/LGPL/pic.c
new file mode 100644
index 0000000..25a5842
--- /dev/null
+++ b/t/grant/LGPL/pic.c
@@ -0,0 +1,6 @@
+// Helpers for working with i8259 interrupt controller.
+//
+// Copyright (C) 2008 Kevin O'Connor <kevin at koconnor.net>
+// Copyright (C) 2002 MandrakeSoft S.A.
+//
+// This file may be distributed under the terms of the GNU LGPLv3 license.
diff --git a/t/grant/LGPL/strv.c b/t/grant/LGPL/strv.c
new file mode 100644
index 0000000..a244564
--- /dev/null
+++ b/t/grant/LGPL/strv.c
@@ -0,0 +1,13 @@
+/*
+ *
+ * Copyright 2010 Lennart Poettering
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation; either version 2.1 of the License, or
+ * (at your option) any later version.
+ *
+ *
+ * Copyright (C) 2015 Karel Zak <kzak at redhat.com>
+ * Modified the original version from systemd project for util-linux.
+ */
diff --git a/t/grant/LGPL/table.py b/t/grant/LGPL/table.py
new file mode 100644
index 0000000..9d339e4
--- /dev/null
+++ b/t/grant/LGPL/table.py
@@ -0,0 +1,27 @@
+#
+# "$Id: table.py 471 2011-01-24 20:31:16Z andreasheld $"
+#
+# Fl_Table test program for pyFLTK the Python bindings
+# for the Fast Light Tool Kit (FLTK).
+#
+# FLTK copyright 1998-1999 by Bill Spitzak and others.
+# Fl_Table copyright 2003 by G. Ercolano
+# pyFLTK copyright 2003 by Andreas Held and others.
+#
+# This library is free software you can redistribute it and/or
+# modify it under the terms of the GNU Library General Public
+# License as published by the Free Software Foundation either
+# version 2 of the License, or (at your option) any later version.
+#
+# This library 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
+# Library General Public License for more details.
+#
+# You should have received a copy of the GNU Library General Public
+# License along with this library if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
+# USA.
+#
+# Please report all bugs and problems to "pyfltk-user at lists.sourceforge.net".
+#
diff --git a/t/grant/LGPL/videoplayer.cpp b/t/grant/LGPL/videoplayer.cpp
new file mode 100644
index 0000000..4d6afa5
--- /dev/null
+++ b/t/grant/LGPL/videoplayer.cpp
@@ -0,0 +1,21 @@
+/* This file is part of the KDE project
+ Copyright (C) 2004-2007 Matthias Kretz <kretz at kde.org>
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) version 3, or any
+ later version accepted by the membership of KDE e.V. (or its
+ successor approved by the membership of KDE e.V.), Nokia Corporation
+ (or its successors, if any) and the KDE Free Qt Foundation, which shall
+ act as a proxy defined in Section 6 of version 3 of the license.
+
+ This library 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
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with this library. If not, see <http://www.gnu.org/licenses/>.
+
+*/
diff --git a/t/grant/LGPL_and_more/da.aff b/t/grant/LGPL_and_more/da.aff
new file mode 100644
index 0000000..69e0e33
--- /dev/null
+++ b/t/grant/LGPL_and_more/da.aff
@@ -0,0 +1,23 @@
+#Stavekontrolden version 2.3
+#Denne fil er en del af Stavekontrolden - et softwareprodukt, der gør det muligt at stavekontrollere på dansk.
+
+#Copyright (C) 2015 Foreningen for frit tilgængelige sprogværktøjer
+#Website: http://www.stavekontrolden.dk
+#E-mail: info at stavekontrolden.dk
+
+#License
+
+#GPL 2.0/LGPL 2.1/MPL 1.1 tri-license
+
+#This library is free software; you can redistribute it and/or modify it under the terms of one or more of the following, the GNU Lesser General Public License as published by the Free Software Foundation; version 2.1 of the License, GNU General Public License as published by the Free Software Foundation; version 2.0 of the License, and Mozilla Public License as published by the The Mozilla Foundation; version 1.1 of the License.
+
+#This library 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 Lesser General Public License, GNU General Public License, and Mozilla Public License for more details.
+
+#You should have received a copy of the GNU Lesser General Public License and GNU General Public along with this library; if not, write to the:
+
+#Free Software Foundation, Inc.
+#51 Franklin Street, Fifth Floor
+#Boston
+#MA 02110-1301 USA
+
+#You should have received a copy of the Mozilla Public License along with this library; if not, visit http://www.mozilla.org/MPL/MPL-1.1.html
diff --git a/t/grant/MPL_and_more/symbolstore.py b/t/grant/MPL_and_more/symbolstore.py
new file mode 100644
index 0000000..608ceca
--- /dev/null
+++ b/t/grant/MPL_and_more/symbolstore.py
@@ -0,0 +1,39 @@
+#!/usr/bin/env python
+# ***** BEGIN LICENSE BLOCK *****
+# Version: MPL 1.1/GPL 2.0/LGPL 2.1
+#
+# The contents of this file are subject to the Mozilla Public License Version
+# 1.1 (the "License"); you may not use this file except in compliance with
+# the License. You may obtain a copy of the License at
+# http://www.mozilla.org/MPL/
+#
+# Software distributed under the License is distributed on an "AS IS" basis,
+# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
+# for the specific language governing rights and limitations under the
+# License.
+#
+# The Original Code is mozilla.org code.
+#
+# The Initial Developer of the Original Code is
+# The Mozilla Foundation
+# Portions created by the Initial Developer are Copyright (C) 2007
+# the Initial Developer. All Rights Reserved.
+#
+# Contributor(s):
+# Ted Mielczarek <ted.mielczarek at gmail.com>
+# Ben Turner <mozilla at songbirdnest.com>
+#
+# Alternatively, the contents of this file may be used under the terms of
+# either the GNU General Public License Version 2 or later (the "GPL"), or
+# the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
+# in which case the provisions of the GPL or the LGPL are applicable instead
+# of those above. If you wish to allow use of your version of this file only
+# under the terms of either the GPL or the LGPL, and not to allow others to
+# use your version of this file under the terms of the MPL, indicate your
+# decision by deleting the provisions above and replace them with the notice
+# and other provisions required by the GPL or the LGPL. If you do not delete
+# the provisions above, a recipient may use your version of this file under
+# the terms of any one of the MPL, the GPL or the LGPL.
+#
+# ***** END LICENSE BLOCK *****
+#
diff --git a/t/devscripts/lgpl-digia.c b/t/grant/misc/rpplexer.h
similarity index 50%
rename from t/devscripts/lgpl-digia.c
rename to t/grant/misc/rpplexer.h
index fbff4e7..4c50643 100644
--- a/t/devscripts/lgpl-digia.c
+++ b/t/grant/misc/rpplexer.h
@@ -1,18 +1,19 @@
/****************************************************************************
**
-** Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/legal
+** Copyright (C) 2001-2004 Roberto Raggi
+** Copyright (C) 2015 The Qt Company Ltd.
+** Contact: http://www.qt.io/licensing/
**
-** This file is part of the test suite of the Qt Toolkit.
+** This file is part of the qt3to4 porting application of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL21$
+** $QT_BEGIN_LICENSE:LGPL$
** Commercial License Usage
** Licensees holding valid commercial Qt licenses may use this file in
** accordance with the commercial license agreement provided with the
** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and Digia. For licensing terms and
-** conditions see http://qt.digia.com/licensing. For further information
-** use the contact form at http://qt.digia.com/contact-us.
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see http://www.qt.io/terms-conditions. For further
+** information use the contact form at http://www.qt.io/contact-us.
**
** GNU Lesser General Public License Usage
** Alternatively, this file may be used under the terms of the GNU Lesser
@@ -23,10 +24,18 @@
** requirements will be met: https://www.gnu.org/licenses/lgpl.html and
** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
**
-** In addition, as a special exception, Digia gives you certain additional
-** rights. These rights are described in the Digia Qt LGPL Exception
+** As a special exception, The Qt Company gives you certain additional
+** rights. These rights are described in The Qt Company LGPL Exception
** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/t/license.t b/t/license.t
index ae7eb61..b17070a 100644
--- a/t/license.t
+++ b/t/license.t
@@ -1,6 +1,6 @@
use strictures 2;
-use Test::Roo tests => 28;
+use Test::Roo tests => 22;
use App::Licensecheck;
has encoding => ( is => 'ro' );
@@ -45,18 +45,6 @@ run_me(
);
run_me( { license => 'BSL', corpus => 'boost.h' } );
run_me( { license => 'EPL-1.0', corpus => 'epl.h' } );
-run_me( { license => 'LGPL', corpus => 'lgpl-no-version.h' } );
-run_me(
- { license => 'LGPL-2.1',
- corpus =>
- [qw(lgpl-2.1.c lgpl-2.1.h lgpl-by-dist-zilla.pl lgpl-big-blue.h)]
- }
-);
-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(
- { license => 'LGPL-3+', corpus => [qw(lgpl-3+.h lgpl-variation.c)] } );
# Lisp Lesser General Public License (BTS #806424)
# see http://opensource.franz.com/preamble.html
--
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