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

js pushed a commit to branch master
in repository licensecheck.

commit 5144bc16239a7e6646c7a5ede3747248aa69a606
Author: Jonas Smedegaard <d...@jones.dk>
Date:   Tue Nov 29 04:22:13 2016 +0100

    Improve license patterns cube eurosym libpng zlib zlib_acknowledgement. 
Reorganize Regexp::Pattern::License::Pattern.
---
 lib/App/Licensecheck.pm             |  32 +--
 lib/Regexp/Pattern/License.pm       |  67 +++---
 lib/Regexp/Pattern/License/Parts.pm | 398 +++++++++++++-----------------------
 t/SPDX.t                            |   1 +
 4 files changed, 185 insertions(+), 313 deletions(-)

diff --git a/lib/App/Licensecheck.pm b/lib/App/Licensecheck.pm
index b31b2b5..f7afbfb 100755
--- a/lib/App/Licensecheck.pm
+++ b/lib/App/Licensecheck.pm
@@ -785,28 +785,6 @@ sub parse_license
                        $gen_license->( 'BSL', $1, $2 );
                }
        }
-
-       # Zlib/Libpng
-       given ($licensetext) {
-               when ( /$L{re}{'zlib_acknowledgement'}/ ) {
-                       $gen_license->('zlib_acknowledgement');
-               }
-               when ( /$L{re}{cube}/ ) {
-                       $gen_license->('cube');
-               }
-               when ( /$L{re}{eurosym}/ ) {
-                       $gen_license->('eurosym');
-               }
-               when ( /$L{re}{zlib}/ ) {
-                       $gen_license->('zlib');
-               }
-               when ( /see copyright notice in zlib\.h/ ) {
-                       $gen_license->('zlib');
-               }
-               when ( /This code is released under $L{re}{libpng}/ ) {
-                       $gen_license->('libpng');
-               }
-       }
        #>>>
 
        given ($licensetext) {
@@ -829,13 +807,19 @@ sub parse_license
                foreach my $id (
                        qw(
                        adobe_2006 adobe_glyph aladdin apafml
-                       beerware curl fsfap ftl icu isc llgpl
+                       beerware cube curl eurosym fsfap ftl icu isc libpng 
llgpl
                        mit_advertising mit_enna mit_feh mit_new mit_old
                        mit_oldstyle mit_oldstyle_disclaimer 
mit_oldstyle_permission
-                       ms_pl ms_rl postgresql unicode_strict unicode_tou)
+                       ms_pl ms_rl postgresql unicode_strict unicode_tou
+                       zlib zlib_acknowledgement)
                        )
                {
                        when (/$L{re}{$id}/) {
+
+                               # skip embedded license
+                               if ( 'zlib' eq $id and $licensetext =~ 
/$L{re}{cube}/ ) {
+                                       continue;
+                               }
                                $gen_license->($id);
                                continue;
                        }
diff --git a/lib/Regexp/Pattern/License.pm b/lib/Regexp/Pattern/License.pm
index bb5ee21..6c4f1ef 100644
--- a/lib/Regexp/Pattern/License.pm
+++ b/lib/Regexp/Pattern/License.pm
@@ -248,7 +248,7 @@ our %RE = (
                caption               => 'BSD (2 clause)',
                tags                  => ['bsd'],
                pat =>
-                       
qr/$P{note_repro_notice_cond_discl}\b[^a-zA-Z]+$P{asis_sw_by_name}/,
+                       qr/$P{repro_copr_cond_discl}\W+$P{asis_sw_by_name}/,
        },
        bsd_3_clause => {
                name                  => 'BSD-3-Clause',
@@ -256,14 +256,14 @@ our %RE = (
                caption               => 'BSD (3 clause)',
                tags                  => ['bsd'],
                pat =>
-                       
qr/$P{note_repro_notice_cond_discl}\b[^a-zA-Z]+$P{nopromo_neither}/,
+                       qr/$P{repro_copr_cond_discl}\W+$P{nopromo_neither}/,
        },
        bsd_4_clause => {
                name                  => 'BSD-4-Clause',
                'name.alt.org.debian' => 'BSD-4-clause',
                caption               => 'BSD (4 clause)',
                tags                  => ['bsd'],
-               pat                   => qr/$P{ad_verbatim}/,
+               pat                   => qr/$P{ad_mat_ack_this}/,
        },
        cc_by => {
                name    => 'CC-BY',
@@ -383,11 +383,11 @@ our %RE = (
                name => 'Cube',
                tags => ['zlib'],
                pat =>
-                       
qr/$P{origin_no_misrepresent}.*?$P{derive_altermark}.*?$P{note_invar}.*?$P{derive_no_relicense}/,
+                       qr/$P{origin_sw_no_misrepresent}; 
$P{you_not_claim_wrote}\. $P{use_ack_nonreq}\. $P{altered_srcver_mark}\. 
$P{notice_no_alter_any}\. additional clause specific to Cube:? 
$P{src_no_relicense}/,
        },
        curl => {
                tags => ['mit'],
-               pat  => qr/$P{note_cpyr_perm}\.\s+$P{asis_sw_warranty}/,
+               pat  => qr/$P{note_copr_perm}\.\s+$P{asis_sw_warranty}/,
        },
        dsdp => {
                name                     => 'DSDP',
@@ -404,7 +404,7 @@ our %RE = (
                name => 'Eurosym',
                tags => ['zlib'],
                pat =>
-                       
qr/$P{origin_no_misrepresent}.*?$P{derive_altermark}.*?$P{derive_share}.*?$P{note_invar}/,
+                       
qr/$P{origin_sw_no_misrepresent}.*?$P{altered_srcver_mark}.*?$P{change_redist_share}.*?$P{notice_no_alter}/,
        },
        fsfap => {
                name    => 'FSFAP',
@@ -450,13 +450,13 @@ our %RE = (
        isc => {
                name => 'ISC',
                tags => ['mit'],
-               pat  => qr/$P{note_cpyr_perm}\.\s+$P{asis_sw_name_discl}/,
+               pat  => qr/$P{note_copr_perm}\.\s+$P{asis_sw_name_discl}/,
        },
        icu => {
                name => 'ICU',
                tags => ['mit'],
                pat =>
-                       qr/$P{note_cpyr_perm} of the Software and that 
$P{note_cpyr_perm_doc}\.\s+$P{asis_sw_warranty}(?:[^.]+\.\s+){2}$P{nopromo_except}/,
+                       qr/$P{note_copr_perm} of the Software and that 
$P{note_copr_perm_doc}\.\s+$P{asis_sw_warranty}(?:[^.]+\.\s+){2}$P{nopromo_except}/,
        },
        lgpl => {
                name    => 'LGPL',
@@ -471,25 +471,26 @@ our %RE = (
        },
        libpng => {
                name => 'Libpng',
-               pat  => qr/$the?libpng license/,
+               pat =>
+                       qr/$P{origin_src_no_misrepresent}\. 
$P{altered_ver_mark}\. $P{copr_no_alter}/,
        },
        mit_advertising => {
                name    => 'MIT-advertising',
                caption => 'MIT (advertising)',
                tags    => ['mit'],
-               pat     => qr/$P{note_marketing}\b[^.,]+, and 
$P{ad_ack_doc_sw}/,
+               pat => qr/$P{note_marketing}\b[^.,]+, and 
$P{ack_doc_mat_pkg_use}/,
        },
        mit_enna => {
                name    => 'MIT-enna',
                caption => 'MIT (enna)',
                tags    => ['mit'],
-               pat     => qr/$P{ad_pub_ack_nosrc}/,
+               pat     => qr/$P{ack_pub_use_nosrc}/,
        },
        mit_feh => {
                name    => 'MIT-feh',
                caption => 'MIT (feh)',
                tags    => ['mit'],
-               pat     => qr/$P{ad_ack_doc_pkg}/,
+               pat     => qr/$P{ack_doc_pkg_use}/,
        },
        mit_new => {
                'name.alt.org.spdx'      => 'MIT',
@@ -498,21 +499,22 @@ our %RE = (
                'caption.alt.org.debian' => 'MIT/X11 (BSD like)',
                'caption.alt.org.fedora' => 'MIT (Modern Style with 
sublicense)',
                tags                     => ['mit'],
-               pat => 
qr/$P{right_mod_sublic}\b[^.]+\s+$P{note_cpyr_perm_subst}/,
+               pat =>
+                       qr/$P{to_mod_sublic} 
$P{sw}\b[^.]+\s+$P{retain_copr_perm_subst}/,
        },
        mit_new_materials => {
                'name.alt.org.debian' => 'MIT~Khronos',
                caption               => 'MIT (Khronos)',
                tags                  => ['mit'],
                pat =>
-                       qr/$P{permission_person_materials}, 
$P{permission_use_deal_materials}/,
+                       qr/$P{perm_granted}, $P{free_charge}, $P{to_pers} 
$P{the_material}, $P{to_deal_mat}/,
        },
        mit_old => {
                'name.alt.org.debian' => 'MIT~old',
                'name.alt.org.gentoo' => 'Old-MIT',
                caption               => 'MIT (old)',
                tags                  => ['mit'],
-               pat                   => qr/$P{permission_granted_agree_fee}/,
+               pat                   => qr/$P{perm_granted}, 
$P{free_agree_fee}/,
        },
        mit_oldstyle => {
                'name.alt.org.debian' => 'MIT~oldstyle',
@@ -532,7 +534,7 @@ END
        mit_oldstyle_permission => {
                'name.alt.org.debian' => 'MIT~oldstyle~permission',
                tags                  => ['mit'],
-               pat => qr/$P{nopromo_written_prior}\.\s+$P{asis_name_sw}/,
+               pat => qr/$P{without_written_prior}\.\s+$P{asis_name_sw}/,
        },
        mpl => {
                name    => 'MPL',
@@ -566,7 +568,7 @@ END
        openssl => {
                name    => 'OpenSSL',
                summary => 'OpenSSL License',
-               pat     => qr/$P{ad_always}/,
+               pat     => qr/$P{redist_ack_this}/,
        },
        postgresql => {
                name => 'PostgreSQL',
@@ -630,13 +632,14 @@ END
                caption => 'zlib/libpng',
                tags    => ['zlib'],
                pat =>
-                       
qr/$P{origin_no_misrepresent}.*?$P{derive_altermark}.*?$P{note_invar}/,
+                       qr/$P{origin_sw_no_misrepresent}; 
$P{you_not_claim_wrote}\. $P{use_ack_nonreq}\. $P{altered_srcver_mark}\. 
$P{notice_no_alter}/,
        },
        zlib_acknowledgement => {
-               name    => 'zlib-acknowledgement',
-               caption => 'zlib/libpng with Acknowledgement',
-               tags    => ['zlib'],
-               pat     => qr/$P{origin_no_misrepresent_ack}/,
+               name                => 'NUnit',
+               'name.alt.org.SPDF' => 'zlib-acknowledgement',
+               tags                => ['zlib'],
+               pat =>
+                       qr/$P{origin_sw_no_misrepresent}; 
$P{you_not_claim_wrote}\. $P{use_ack_req}\. Portions Copyright \S+ [\d-]+ 
Charlie Poole or Copyright \S+ [\d-]+ James W\. Newkirk, Michael C\. Two, 
Alexei A\. Vorontsov or Copyright \S+ [\d-]+ Philip A\. Craig 
$P{altered_srcver_mark}\. $P{notice_no_alter}/,
        },
 );
 
@@ -677,25 +680,25 @@ Patterns each covering a single trait occuring in 
licenses.
 $RE{'clause_retention'} = {
        caption => 'retention clause',
        tags    => ['trait'],
-       pat     => qr/$P{note_retain_notice_cond_discl}/,
+       pat     => qr/$P{retain_notice_cond_discl}/,
 };
 
 $RE{'clause_reproduction'} = {
        caption => 'reproduction clause',
        tags    => ['trait'],
-       pat     => qr/$P{note_repro_notice_cond_discl}/,
+       pat     => qr/$P{repro_copr_cond_discl}/,
 };
 
 $RE{'clause_advertising'} = {
        caption => 'advertising clause',
        tags    => ['trait'],
-       pat     => qr/$P{ad_verbatim}/,
+       pat     => qr/$P{ad_mat_ack_this}/,
 };
 
 $RE{'clause_advertising_always'} = {
        caption => 'advertising clause (always)',
        tags    => ['trait'],
-       pat     => qr/$P{ad_always}/,
+       pat     => qr/$P{redist_ack_this}/,
 };
 
 $RE{'clause_non_endorsement'} = {
@@ -717,31 +720,31 @@ $RE{'fsf_unlimited_retention'} = {
 $RE{'version_later'} = {
        caption => 'version "or later"',
        tags    => ['trait'],
-       pat     => qr/,? $P{version_later_postfix}|\. $P{version_later_para}/,
+       pat     => qr/,? $P{ver_later_postfix}|\. $P{ver_later_para}/,
 };
 
 $RE{'version_later_paragraph'} = {
        caption => 'version "or later" postfix (paragraphs)',
        tags    => ['trait'],
-       pat     => qr/$P{version_later_para}/,
+       pat     => qr/$P{ver_later_para}/,
 };
 
 $RE{'version_later_postfix'} = {
        caption => 'version "or later" (postfix)',
        tags    => ['trait'],
-       pat     => qr/$P{version_later_postfix}/,
+       pat     => qr/$P{ver_later_postfix}/,
 };
 
 $RE{'version_number'} = {
        caption => 'version number',
        tags    => ['trait'],
-       pat     => qr/$P{version_number}/,
+       pat     => qr/$P{ver_number}/,
 };
 
 $RE{'version_prefix'} = {
        caption => 'version prefix',
        tags    => ['trait'],
-       pat     => qr/$P{version_prefix}/,
+       pat     => qr/$P{ver_prefix}/,
 };
 
 =head2 License combinations
@@ -785,7 +788,7 @@ $RE{'bsd'} = {
        caption => 'BSD (unspecified)',
        tags    => ['group'],
        pat =>
-               
qr/$P{note_repro_notice_cond_discl}(?:(?:[^a-zA-Z]+$P{ad_verbatim}.*)?[^a-zA-Z]+$P{nopromo_neither})?/,
+               
qr/$P{repro_copr_cond_discl}(?:(?:[\d\W]+$P{ad_mat_ack_this}.*)?[\d\W]+$P{nopromo_neither})?/,
 };
 
 $RE{'gnu'} = {
diff --git a/lib/Regexp/Pattern/License/Parts.pm 
b/lib/Regexp/Pattern/License/Parts.pm
index 41cff54..65f104c 100644
--- a/lib/Regexp/Pattern/License/Parts.pm
+++ b/lib/Regexp/Pattern/License/Parts.pm
@@ -30,311 +30,195 @@ It is a class of internally used patterns.
 my $D  = qr/[-–]/;     # dash
 my $SD = qr/[ -–]/;    # space or dash
 
-# permission clause
-my $granted = qr/Permission is hereby granted/;
-
-# purpose
-my $to_use      = qr/to use, copy, modify, and distribute/;
-my $to_deal_sw  = qr/to deal in the Software without restriction/;
-my $to_deal_mat = qr/to deal in the Materials without restriction/;
-my $any_purpose = qr/for any purpose/;
-my $redist_src  = qr/Redistributions of source code/;
-my $redist_bin  = qr/Redistributions in binary form/;
-my $redist_any  = qr/Redistributions of any form whatsoever/;
-my $promote     = qr/endorse or promote products derived from this software/;
-
-# text
-my $notice       = qr/the above copyright notice/;
-my $cond         = qr/this list of conditions/;
-my $discl        = qr/the following disclaimer/;
-my $no_agreement = qr/without written agreement/;
-my $no_permit    = qr/without specific prior written permission/;
-my $ack          = qr/the following acknowledge?ment/;
-my $product_by   = qr/This product includes software developed by/;
-
-# money
-my $no_charge = qr/free of charge/;
-my $no_fee    = qr/without fee/;
-my $no_fees   = qr/without license or royalty fees/;
-
-# asset
-my $sw_doc      = qr/this software and its documentation/;
-my $sw_docfiles = qr/this software and associated documentation files/;
-my $doc         = qr/the documentation/;
-my $other_mat   = qr/other materials provided with the distribution/;
-my $ad_mat
-       = qr/All advertising materials mentioning features or use of this 
software/;
-
-# agent
-my $to_person = qr/to any person obtaining a copy/;
-my $no_authors
-       = qr/Neither the (?:names? .*|authors?) nor the names of(?: 
(?:its|their|other|any))? contributors/;
-
-# origin
-my $origin_no_misrepresent = qr/must not be misrepresented/;
-my $origin_ack             = qr/an acknowledgment \(see the following\)/;
-
-# forking
-my $derive_altermark
-       = qr/Altered source versions must be plainly marked as such/;
-
-# invariant parts
-my $invariant_notice = qr/This notice may not be removed or altered/;
+#my $I  = qr/[iI\d\W]+/; # bullet or count
+my $I = qr/\W*\S\W*/;    # bullet or count
 
 our %RE = (
-       ad_ack_doc_pkg => {
-               caption => 'advertisement (aknowledge, documentation, 
packages)',
-               tags    => ['clause'],
+
+       # assets (original or derived)
+       doc_mat_dist => {
                pat =>
-                       qr/acknowledgment shall be given in the documentation 
and software packages that this Software was used/,
+                       qr/the documentation and\/or other materials provided 
with the distribution/
        },
-       ad_ack_doc_sw => {
-               caption => 'advertisement (documentation + source)',
-               tags    => ['clause'],
+       sw           => { pat => qr/the Software/ },
+       the_material => {
                pat =>
-                       qr/acknowledgment shall be given in the documentation, 
materials and software packages that this Software was used/,
-       },
-       ad_always => {
-               caption => 'advertisement',
-               tags    => ['clause'],
-               pat     => qr/$redist_any must retain 
$ack[^a-zA-Z]+$product_by/,
+                       qr/this software and associated documentation files 
\(the "?Material"?\)/
        },
-       ad_pub_ack_nosrc => {
-               caption => 'advertisement (public, aknowledge, no source)',
-               tags    => ['clause'],
+
+       # rights
+       perm_granted => { pat => qr/Permission is hereby granted/ },
+       to_deal_mat =>
+               { pat => qr/to deal in the Materials without restriction/ },
+       to_mod_sublic => {
                pat =>
-                       qr/publicly documented acknowledgment must be given 
that this software has been used if no source/,
-       },
-       ad_verbatim => {
-               caption => 'advertisement (verbatim)',
-               tags    => ['clause'],
-               pat     => qr/$ad_mat must display $ack[^a-zA-Z]+$product_by/,
-       },
-       asis_expr_warranty => {
-               caption => 'as-is (express warranty)',
-               tags    => ['clause'],
-               pat     => qr/without express or implied warranty/,
-       },
-       asis_name_sw => {
-               caption => 'as-is (name, software)',
-               tags    => ['clause'],
-               pat     => qr/(?:\S+ ){1,15}PROVIDES? THIS SOFTWARE/,
+                       qr/to use, copy, modify, merge, publish, distribute, 
sublicense, and\/or sell copies of/
        },
-       asis_sw_by_name => {
-               caption => 'as-is (software, by name)',
-               tags    => ['clause'],
-               pat     => qr/THIS SOFTWARE IS PROVIDED BY/,
-       },
-       asis_sw_name_discl => {
-               caption => 'as-is (software, name disclaims)',
-               tags    => ['clause'],
+
+       # agents
+       to_pers => { pat => qr/to any person obtaining a copy of/ },
+
+       # charges
+       free_charge    => { pat => qr/free of charge/ },
+       free_agree_fee => {
                pat =>
-                       qr/THE SOFTWARE IS PROVIDED \W*AS\W+IS\W*(?:,?|AND) 
(?:\S+ ){1,15}DISCLAIMS/,
-       },
-       asis_sw_warranty => {
-               caption => 'as-is (software, warranty)',
-               tags    => ['clause'],
-               pat => qr/THE SOFTWARE IS PROVIDED \W*AS\W+IS\W* WITHOUT 
WARRANTY/,
+                       qr/without written agreement and without license or 
royalty fees/
        },
-       cc => {
-               caption => 'Creative Commons qualifier',
-               tags    => ['qualifier'],
-               pat     => qr/(?:Creative Commons|CC)/,
-       },
-       cc_by => {
-               caption => 'Creative Commons Attribution component',
-               tags    => ['component'],
-               pat     => qr/(?:Attribution)/,
-       },
-       cc_cc0 => {
-               caption => 'Creative Commons CC0 component',
-               tags    => ['component'],
-               pat     => qr/(?:CC0|Zero|0)/,
-       },
-       cc_nc => {
-               caption => 'Creative Commons NonCommercial component',
-               tags    => ['component'],
-               pat     => qr/(?:Non$SD?Commercial)/,
-       },
-       cc_nd => {
-               caption => 'Creative Commons NoDerivatives component',
-               tags    => ['component'],
-               pat     => qr/(?:No$SD?Deriv(?:ative)?s)/,
-       },
-       cc_sa => {
-               caption => 'Creative Commons ShareAlike component',
-               tags    => ['component'],
-               pat     => qr/(?:Share$SD?Alike)/,
-       },
-       cc_sp => {
-               caption => 'Creative Commons Sampling Plus component',
-               tags    => ['component'],
-               pat     => qr/(?:Sampling$SD?Plus)/,
-       },
-       cc_url => {
-               caption => 'Creative Commons URL',
-               tags    => ['url'],
-               pat     => 
qr"(?:(?:https?:?)?(?://)?creativecommons.org/licenses/)",
-       },
-       cc_url_pd => {
-               caption => 'Creative Commons stem (public domain)',
-               tags    => ['url'],
-               pat => 
qr"(?:(?:https?:?)?(?://)?creativecommons.org/publicdomain/)",
-       },
-       derive_altermark => {
-               caption => 'deriving (must plainly mark)',
-               tags    => ['clause'],
-               pat     => qr/$derive_altermark/,
+
+       # conditions
+       ack_doc_mat_pkg_use => {
+               pat =>
+                       qr/acknowledgment shall be given in the documentation, 
materials and software packages that this Software was used/
        },
-       derive_no_relicense => {
-               caption => 'deriving (no relicense)',
-               tags    => ['clause'],
-               pat     => qr/may not be "?relicensed"?/,
+       ack_doc_pkg_use => {
+               pat =>
+                       qr/acknowledgment shall be given in the documentation 
and software packages that this Software was used/
        },
-       derive_share => {
-               caption => 'deriving (must share source)',
-               tags    => ['clause'],
+       ack_pub_use_nosrc => {
                pat =>
-                       qr/source code of the altered version of this software 
available/,
+                       qr/publicly documented acknowledgment must be given 
that this software has been used if no source/
        },
-       discl_name_warranties => {
-               caption => 'disclaim (name, warranties)',
-               tags    => ['clause'],
-               pat     => qr/(?:\S+ ){1,15}DISCLAIMS? ALL WARRANTIES/,
+       altered_srcver_mark => {
+               pat =>
+                       qr/$I?Altered source versions must be plainly marked as 
such,? and must not be misrepresented as being the original software/
        },
-       nopromo_except => {
-               caption => 'no promotion (except)',
-               tags    => ['clause'],
+       altered_ver_mark => {
                pat =>
-                       qr/Except as contained in this notice, the names? 
(?:\S+ ){1,15}shall not be used in advertising/,
+                       qr/$I?Altered versions must be plainly marked as such,? 
and must not be misrepresented as being the original source/
        },
-       nopromo_neither => {
-               caption => 'no promotion (neither)',
-               tags    => ['clause'],
+       change_redist_share => {
                pat =>
-                       qr/(?:$no_authors may|The name.*? (?:may|must) not) be 
used to $promote $no_permit/,
+                       qr/If you change this software and redistribute parts 
or all of it in any form, you must make the source code of the altered version 
of this software available/
        },
-       nopromo_written_prior => {
-               caption => 'no promo (advertising)',
-               tags    => ['clause'],
-               pat     => qr/without specific, written prior permission/,
+       namenot =>
+               { pat => qr/[Tt]he names?(?: \S+){1,15} (?:may|must|shall) not/ 
},
+       neithername => {
+               pat =>
+                       qr/Neither the (?:names?(?: \S+){1,15}|authors?) nor 
the names of(?: (?:its|their|other|any))? contributors may/
        },
-       note_cpyr_perm => {
-               caption => 'notice (copyright + permission)',
-               tags    => ['clause'],
+       notice_no_alter =>
+               { pat => qr/$I?This notice may not be removed or altered/ },
+       notice_no_alter_any => {
                pat =>
-                       qr/provided that(?:\W*\S\W*)? the above copyright 
notice(?:\(?s\)?)? and this permission notice appear in all copies/,
+                       qr/$I?This notice may not be removed or altered from 
any source distribution/
        },
-       note_cpyr_perm_doc => {
-               caption => 'notice (copyright + permission, documentation)',
-               tags    => ['clause'],
+       copr_no_alter => {
                pat =>
-                       qr/both the above copyright notice\(s\) and this 
permission notice appear in supporting documentation/,
+                       qr/$I?This Copyright notice may not be removed or 
altered from any source or altered source distribution/
        },
-       note_marketing => {
-               caption => 'notice (copyright + permission, marketing 
material)',
-               tags    => ['clause'],
+       redist_bin_repro =>
+               { pat => qr/Redistributions in binary form must reproduce/ },
+       src_no_relicense => {
                pat =>
-                       qr/shall be included in all copies of the Software, its 
documentation and marketing/,
+                       qr/$I?Source versions may not be "?relicensed"? under a 
different license without my explicitly written permission/
        },
-       note_cpyr_perm_subst => {
-               caption => 'notices (copyright, permission, substantial 
portions)',
-               tags    => ['clause'],
+       used_endorse_deriv => {
                pat =>
-                       qr/The above copyright notice and this permission 
notice shall be included in all copies or substantial portions of the Software/,
+                       qr/be used to endorse or promote products derived from 
this software/
        },
-       note_invar => {
-               caption => 'notice (invariable)',
-               tags    => ['clause'],
-               pat     => qr/This notice may not be removed or altered/,
+       used_ad => { pat => qr/be used in advertising/ },
+       without_prior_written =>
+               { pat => qr/without specific prior written permission/ },
+       without_written_prior =>
+               { pat => qr/without specific, written prior permission/ },
+       origin_sw_no_misrepresent => {
+               pat => qr/$I?The origin of this software must not be 
misrepresented/
        },
-       note_repro_notice_cond_discl => {
-               caption => 'notice (reproduce, notice + conditions + 
disclaimer)',
-               tags    => ['clause'],
+       origin_src_no_misrepresent => {
                pat =>
-                       qr/$redist_bin must reproduce $notice, $cond and $discl 
in $doc and\/or $other_mat/,
+                       qr/$I?The origin of this source code must not be 
misrepresented/
        },
-       note_retain_notice_cond_discl => {
-               caption => 'notice (retain, notice + conditions + disclaimer)',
-               tags    => ['clause'],
-               pat     => qr/$redist_src must retain $notice,? $cond and 
$discl/,
+       you_not_claim_wrote => {
+               pat => qr/you must not claim that you wrote the original 
software/
        },
-       origin_no_misrepresent => {
-               caption => 'origin (no misrepresentation)',
-               tags    => ['clause'],
-               pat     => qr/$origin_no_misrepresent/,
+       use_ack_nonreq => {
+               pat =>
+                       qr/If you use this software in a product, an 
acknowledgment in the product documentation would be appreciated but is not 
required/
        },
-       origin_no_misrepresent_ack => {
-               caption => 'origin (no misrepresentation, acknowledgement)',
-               tags    => ['clause'],
-               pat     => qr/$origin_no_misrepresent.*, $origin_ack/,
+       use_ack_req => {
+               pat =>
+                       qr/If you use this software in a product, an 
acknowledgment \(see the following\) in the product documentation is required/
        },
-       permission_granted_agree_fee => {
-               caption => 'permission (granted, no agreement or fee)',
-               tags    => ['clause'],
-               pat     => qr/$granted, $no_agreement and $no_fees/,
+
+       # disclaimers
+       asis_expr_warranty => { pat => qr/without express or implied warranty/ 
},
+       asis_name_sw    => { pat => qr/(?:\S+ ){1,15}PROVIDES? THIS SOFTWARE/ },
+       asis_sw_by_name => { pat => qr/THIS SOFTWARE IS PROVIDED BY/ },
+       asis_sw_name_discl => {
+               pat =>
+                       qr/THE SOFTWARE IS PROVIDED \W*AS\W+IS\W*(?:,?|AND) 
(?:\S+ ){1,15}DISCLAIMS/
        },
-       permission_use_deal_sw => {
-               caption => 'usage (deal, software, any purpose)',
-               tags    => ['clause'],
-               pat     => qr/$to_deal_sw/,
+       asis_sw_warranty => {
+               pat => qr/THE SOFTWARE IS PROVIDED \W*AS\W+IS\W* WITHOUT 
WARRANTY/
        },
-       permission_use_deal_materials => {
-               caption => 'usage (deal, materials, any purpose)',
-               tags    => ['clause'],
-               pat     => qr/$to_deal_mat/,
+
+       # versioning
+       ver_later_para    => { pat => qr/Later versions are permitted/ },
+       ver_later_postfix => {
+               pat =>
+                       qr/(?:and|or)(?: ?\(?at your option\)?)?(?: any)? 
(?:later|newer)(?: version)?/
        },
-       permission_use_fee_agree => {
-               caption => 'permission (use, no fee or agreement)',
-               tags    => ['clause'],
-               pat     => qr/and without a written agreement/,
+       ver_number => { pat => qr/\d(?:\.\d+)*/ },
+       ver_prefix => { pat => qr/[Vv](?:ersion |ERSION |\.? ?)/ },
+
+       # Creative Commons
+       cc     => { pat => qr/(?:Creative Commons|CC)/ },
+       cc_by  => { pat => qr/(?:Attribution)/ },
+       cc_cc0 => { pat => qr/(?:CC0|Zero|0)/ },
+       cc_nc  => { pat => qr/(?:Non$SD?Commercial)/ },
+       cc_nd  => { pat => qr/(?:No$SD?Deriv(?:ative)?s)/ },
+       cc_sa  => { pat => qr/(?:Share$SD?Alike)/ },
+       cc_sp  => { pat => qr/(?:Sampling$SD?Plus)/ },
+       cc_url =>
+               { pat => 
qr"(?:(?:https?:?)?(?://)?creativecommons.org/licenses/)" },
+       cc_url_pd => {
+               pat => 
qr"(?:(?:https?:?)?(?://)?creativecommons.org/publicdomain/)"
        },
-       permission_person_materials => {
-               caption => 'permission (granted, no charge, person, materials)',
-               tags    => ['clause'],
+
+       # texts
+       ack_name => {
                pat =>
-                       qr/$granted, $no_charge, $to_person of $sw_docfiles 
\(the "?Materials"?\)/,
+                       qr/the following acknowledge?ment\W+This product 
includes software developed by/
        },
-       permission_person_sw_doc => {
-               caption => 'permission (granted, no charge, person, software)',
-               tags    => ['clause'],
+       copr_perm => {
                pat =>
-                       qr/$granted, $no_charge, $to_person of $sw_docfiles 
\(the "?Software"?\)/,
+                       qr/[Tt]he above copyright notice(?:\(?s\)?)? and this 
permission notice/
        },
-       right_mod_sublic => {
-               caption => 'rights (modify, sublicense)',
-               tags    => ['clause'],
+       copr_cond_discl => {
                pat =>
-                       qr/to use, copy, modify, merge, publish, distribute, 
sublicense, and\/or sell copies of the Software/,
-       },
-       use_sw_doc_any => {
-               caption => 'usage (software and documentation, any purpose)',
-               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/,
+                       qr/the above copyright notice, this list of conditions 
and the following disclaimer/
        },
-       version_later_postfix => {
-               caption => 'version "or later" (postfix)',
-               tags    => ['trait'],
+
+       # combinations
+       discl_name_warranties =>
+               { pat => qr/(?:\S+ ){1,15}DISCLAIMS? ALL WARRANTIES/ },
+       note_marketing => {
                pat =>
-                       qr/(?:and|or)(?: ?\(?at your option\)?)?(?: any)? 
(?:later|newer)(?: version)?/,
-       },
-       version_number => {
-               caption => 'version number',
-               tags    => ['component'],
-               pat     => qr/\d(?:\.\d+)*/,
-       },
-       version_prefix => {
-               caption => 'version prefix',
-               tags    => ['component'],
-               pat     => qr/[Vv](?:ersion |ERSION |\.? ?)/,
+                       qr/shall be included in all copies of the Software, its 
documentation and marketing/
        },
+       permission_use_fee_agree =>
+               { pat => qr/and without a written agreement/ },
 );
 
+$RE{ad_mat_ack_this}{pat}
+       = qr/All advertising materials mentioning features or use of this 
software must display $RE{ack_name}{pat}/;
+$RE{note_copr_perm}{pat}
+       = qr/provided that$I? $RE{copr_perm}{pat} appear in all copies/;
+$RE{note_copr_perm_doc}{pat}
+       = qr/both $RE{copr_perm}{pat} appear in supporting documentation/;
+$RE{retain_copr_perm_subst}{pat}
+       = qr/$RE{copr_perm}{pat} shall be included in all copies or substantial 
portions of the Software/;
+$RE{retain_notice_cond_discl}{pat}
+       = qr/Redistributions of source code must retain 
$RE{copr_cond_discl}{pat}/;
+$RE{nopromo_except}{pat}
+       = qr/Except as contained in this notice, $RE{namenot}{pat} 
$RE{used_ad}{pat}/;
+$RE{repro_copr_cond_discl}{pat}
+       = qr/$RE{redist_bin_repro}{pat} $RE{copr_cond_discl}{pat} in 
$RE{doc_mat_dist}{pat}/;
+$RE{nopromo_neither}{pat}
+       = qr/(?:$RE{neithername}{pat}|$RE{namenot}{pat}) 
$RE{used_endorse_deriv}{pat} $RE{without_prior_written}{pat}/;
+$RE{redist_ack_this}{pat}
+       = qr/Redistributions of any form whatsoever must retain 
$RE{ack_name}{pat}/;
+
 =encoding UTF-8
 
 =head1 AUTHOR
diff --git a/t/SPDX.t b/t/SPDX.t
index 39bf954..da5d32f 100644
--- a/t/SPDX.t
+++ b/t/SPDX.t
@@ -24,6 +24,7 @@ my %Debian2SPDX = (
        'LGPL-2.1+'    => 'LGPL-2.1',
        'Python-2'     => 'Python-2.0',
        'WTFPL-2'      => 'WTFPL',
+       'NUnit'        => 'zlib-acknowledgement',
 );
 
 path("t/SPDX")->visit(

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

_______________________________________________
Pkg-perl-cvs-commits mailing list
Pkg-perl-cvs-commits@lists.alioth.debian.org
http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-perl-cvs-commits

Reply via email to