diff options
Diffstat (limited to 'utils')
-rwxr-xr-x | utils/scancpan | 16 | ||||
-rwxr-xr-x | utils/scanpypi | 2 |
2 files changed, 17 insertions, 1 deletions
diff --git a/utils/scancpan b/utils/scancpan index da8e7b91ac..8f47521692 100755 --- a/utils/scancpan +++ b/utils/scancpan @@ -526,6 +526,12 @@ my $mirror = 'http://cpan.metacpan.org'; # a CPAN mirror my $mcpan = MetaCPAN::API::Tiny->new(base_url => 'http://fastapi.metacpan.org/v1'); my $ua = HTTP::Tiny->new(); +my %white_list = ( + 'Module-Build' => 1, + 'Module-Build-Tiny' => 1, +); +my @info = (); + sub get_checksum { my ($url) = @_; my ($path) = $url =~ m|^[^:/?#]+://[^/?#]*([^?#]*)|; @@ -607,6 +613,8 @@ sub fetch { } else { # configure, build $build{$distname} = 1; + push @info, qq{[$name] suspicious dependency on $distname} + unless exists $white_list{$distname}; } } $deps_build{$name} = [keys %build]; @@ -697,6 +705,10 @@ while (my ($distname, $dist) = each %dist) { $license =~ s|openssl|OpenSSL|; $license =~ s|perl_5|Artistic or GPL-1.0+|; 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}; + $license = q{???}; + } say qq{write ${mkname}} unless $quiet; open my $fh, q{>}, $mkname; say {$fh} qq{################################################################################}; @@ -710,7 +722,7 @@ while (my ($distname, $dist) = each %dist) { say {$fh} qq{${brname}_SITE = \$(BR2_CPAN_MIRROR)${directories}}; say {$fh} qq{${brname}_DEPENDENCIES = ${dependencies}} if $need_target{$distname} && $dependencies; say {$fh} qq{HOST_${brname}_DEPENDENCIES = ${host_dependencies}} if $need_host{$distname} && $host_dependencies; - say {$fh} qq{${brname}_LICENSE = ${license}} if $license && $license ne q{unknown}; + say {$fh} qq{${brname}_LICENSE = ${license}} if $license; say {$fh} qq{${brname}_LICENSE_FILES = ${license_files}} if $license_files; say {$fh} qq{}; foreach (sort @{$deps_optional{$distname}}) { @@ -765,6 +777,8 @@ foreach my $distname (keys %need_target) { say qq{${cfgname} must contain the following lines:}; say join qq{\n}, sort keys %pkg; +say join qq{\n}, @info; + __END__ =head1 NAME diff --git a/utils/scanpypi b/utils/scanpypi index 12c96b842e..31e242e3db 100755 --- a/utils/scanpypi +++ b/utils/scanpypi @@ -444,6 +444,8 @@ class BuildrootPackage(): match = liclookup.match(lic_file.read()) if match is not None and match.confidence >= 90.0: license_names.append(match.license.id) + else: + license_names.append("FIXME: license id couldn't be detected") if len(license_names) > 0: license_line = ('{name}_LICENSE =' |