Skip to contentSkip to conversation

scancpan: warn on suspicious host dependencies

PATCH New Francois Perrad 2 participants 3 messages Aug 13, 2018 – Aug 14, 2018

lore
Share & tools
lore
#0 lore raw

PATCH 1/2 scancpan: warn on suspicious host dependencies

---
 utils/scancpan | 10 ++++++++++
 1 file changed, 10 insertions(+)
utils/scancpan +10 -0
index 3fcf3944d..a1be3dd80 100755
@@ -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];
@@ -765,6 +773,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
Signature · 1 line
2.17.1
#1 lore raw

PATCH 2/2 scancpan: warn on undefined LICENSE

---
 utils/scancpan | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)
utils/scancpan +5 -1
index a1be3dd80..0b4043b5b 100755
@@ -705,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{################################################################################};
@@ -718,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}}) {
Signature · 1 line
2.17.1
#2 lore raw

PATCH 1/2 scancpan: warn on suspicious host dependencies

In reply to Francois Perrad

Hello,

Quoted 4 lines · Francois Perrad
---
 utils/scancpan | 10 ++++++++++
 1 file changed, 10 insertions(+)

Both applied to next. Thanks!

Thomas

Signature · 3 lines
Thomas Petazzoni, CTO, Bootlin (formerly Free Electrons)
Embedded Linux and Kernel engineering
https://bootlin.com