utils/scancpan: refactor license name adjustment

Signed-off-by: Francois Perrad <francois.perrad@gadz.org>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
This commit is contained in:
Francois Perrad 2018-09-22 08:53:23 +02:00 committed by Thomas Petazzoni
parent 51b3fe094a
commit 547ba3a187

View File

@ -655,6 +655,24 @@ sub brname {
return uc $name;
}
# Buildroot requires license name as in http://spdx.org/licenses/
sub brlicense {
my $license = shift;
$license =~ s|apache_1_1|Apache-1.1|;
$license =~ s|apache_2_0|Apache-2.0|;
$license =~ s|artistic_2|Artistic-2.0|;
$license =~ s|artistic|Artistic-1.0|;
$license =~ s|lgpl_2_1|LGPL-2.1|;
$license =~ s|lgpl_3_0|LGPL-3.0|;
$license =~ s|gpl_2|GPL-2.0|;
$license =~ s|gpl_3|GPL-3.0|;
$license =~ s|mit|MIT|;
$license =~ s|mozilla_1_1|Mozilla-1.1|;
$license =~ s|openssl|OpenSSL|;
$license =~ s|perl_5|Artistic or GPL-1.0+|;
return $license;
}
while (my ($distname, $dist) = each %dist) {
my $fsname = fsname( $distname );
my $dirname = q{package/} . $fsname;
@ -696,22 +714,9 @@ while (my ($distname, $dist) = each %dist) {
map( { fsname( $_ ); } sort @{$deps_runtime{$distname}} );
my $host_dependencies = join q{ }, map { q{host-} . fsname( $_ ); } sort( @{$deps_build{$distname}},
@{$deps_runtime{$distname}} );
my $license = ref $dist->{license} eq 'ARRAY'
? join q{ or }, @{$dist->{license}}
: $dist->{license};
# BR requires license name as in http://spdx.org/licenses/
$license =~ s|apache_1_1|Apache-1.1|;
$license =~ s|apache_2_0|Apache-2.0|;
$license =~ s|artistic|Artistic-1.0|;
$license =~ s|artistic_2|Artistic-2.0|;
$license =~ s|lgpl_2_1|LGPL-2.1|;
$license =~ s|lgpl_3_0|LGPL-3.0|;
$license =~ s|gpl_2|GPL-2.0|;
$license =~ s|gpl_3|GPL-3.0|;
$license =~ s|mit|MIT|;
$license =~ s|mozilla_1_1|Mozilla-1.1|;
$license =~ s|openssl|OpenSSL|;
$license =~ s|perl_5|Artistic or GPL-1.0+|;
my $license = brlicense( ref $dist->{license} eq 'ARRAY'
? join q{ or }, @{$dist->{license}}
: $dist->{license} );
my $license_files = join q{ }, keys %{$license_files{$distname}};
if ($license_files && (!$license || $license eq q{unknown})) {
push @info, qq{[$distname] undefined LICENSE, see $license_files};