X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=tools%2Flicense-count;h=f895da95dfaf6f211e5802871402b516af4c225d;hb=772805dafad99de08f67274e2320a70c198b8d90;hp=1a52f503cb34ca722aa9746ce0de09639af726e5;hpb=56fbd4c9c27ba807bb7fc10cc1ec18d54a22c99a;p=debian%2Fdebian-policy.git diff --git a/tools/license-count b/tools/license-count index 1a52f50..f895da9 100755 --- a/tools/license-count +++ b/tools/license-count @@ -7,6 +7,8 @@ # # It expects one argument, which should be the root of the Lintian laboratory. +use File::Find qw(find); + our @RULES = ( [qr,/usr/share/common-licenses/Apache-2.0, => 'Apache 2.0'], [qr,/usr/share/common-licenses/Artistic, => 'Artistic'], @@ -23,6 +25,11 @@ our @RULES = ( [qr,/usr/share/common-licenses/GPL(?!-), => 'GPL (symlink)'], [qr,/usr/share/common-licenses/LGPL(?!-), => 'LGPL (symlink)'], + [qr,/usr/share/common-licenses/GFDL, => 'GFDL (any)'], + [qr,/usr/share/common-licenses/GPL, => 'GPL (any)'], + [qr,/usr/share/common-licenses/LGPL, => 'LGPL (any)'], + + [qr,(?m)^License:.*AGPL-3, => 'AGPL 3'], [qr,(?m)^License:.*Artistic(?!-), => 'Artistic'], [qr,(?m)^License:.*Artistic-2, => 'Artistic 2.0'], [qr,(?m)^License:.*CC-BY-3.0, => 'CC-BY 3.0'], @@ -34,7 +41,8 @@ our @RULES = ( [qr,(?m)^License:.*Perl, => 'Artistic'], [qr,(?m)^License:.*Perl, => 'GPL 1'], - [qr,The Artistic License 2\.0, => 'Artistic 2.0'], + [qr,GNU AFFERO GENERAL PUBLIC LICENSE\s+Version 3, => 'AGPL 3'], + [qr,(?i)The Artistic License 2\.0, => 'Artistic 2.0'], [qr,COMMON DEVELOPMENT AND DISTRIBUTION LICENSE \(CDDL\), => 'CDDL'], [qr,CONTRAT DE LICENCE DE LOGICIEL LIBRE CeCILL(?!-), => 'CeCILL'], [qr,CeCILL FREE SOFTWARE LICENSE AGREEMENT, => 'CeCILL'], @@ -45,25 +53,25 @@ our @RULES = ( [qr,(?i)creative\s+commons\s+attribution\s+3\.0, => 'CC-BY 3.0'], [qr,(?i)creative\s+commons\s+attribution[-\s]+share\s*alike\s+3\.0, => 'CC-BY-SA 3.0'], [qr,GNU GENERAL PUBLIC LICENSE\s+Version 1, => 'GPL 1'], - [qr,LPPL Version 1.3c, => 'LaTeX PPL'], + [qr,LPPL Version, => 'LaTeX PPL (any)'], + [qr,LPPL Version 1\.3a, => 'LaTeX PPL 1.3a'], + [qr,LPPL Version 1\.3c, => 'LaTeX PPL 1.3c'], [qr,MOZILLA PUBLIC LICENSE\s+Version 1\.1, => 'MPL 1.1'], [qr,SIL OPEN FONT LICENSE Version 1\.1, => 'SIL OFL 1.1'], [qr,SIL OPEN FONT LICENSE Version 1\.0, => 'SIL OFL 1.0'], ); -unless (@ARGV == 1) { - die "Usage: license-count \n"; -} -my $lab = $ARGV[0]; -opendir (LAB, "$lab/binary") or die "$0: cannot open $lab/binary: $!\n"; my ($package, %counts); my $n = 0; -while (defined ($package = readdir LAB)) { - next if ($package =~ /^\./); + +sub check_package { + return unless (-d $_ && /_binary$/); + $File::Find::prune = 1; + return if (-d $_ && /_(source|udeb)$/); $n++; print "Checked $n packages\n" if (($n % 100) == 0); local $/; - open (COPYRIGHT, '<', "$lab/binary/$package/copyright") or next; + open (COPYRIGHT, '<', "$_/copyright") or return; my $copyright = ; close COPYRIGHT; my %seen; @@ -75,7 +83,12 @@ while (defined ($package = readdir LAB)) { } } } -closedir LAB; + +unless (@ARGV == 1) { + die "Usage: license-count \n"; +} +my $lab = $ARGV[0]; +find (\&check_package, "$lab/pool"); my $length = 0; for my $name (keys %counts) { if (length ($name) > $length) { @@ -85,3 +98,4 @@ for my $name (keys %counts) { for my $name (sort keys %counts) { printf "%-${length}s %5d\n", $name, $counts{$name}; } +print "\nTotal number of packages: $n\n";