From 8f2a140a7ace6d1618606dd445f40e6c092a3280 Mon Sep 17 00:00:00 2001 From: Ryan Voots Date: Thu, 30 Mar 2017 02:36:02 -0400 Subject: [PATCH] Add ability to ban modules that dont function correctly --- banned.lst | 2 ++ dumpstor.pl | 6 ++++++ lib/CpanFile.pm | 2 ++ lib/Module.pm | 16 +++++++++++++++- lib/TestCpanInc.pm | 2 +- 5 files changed, 26 insertions(+), 2 deletions(-) create mode 100644 banned.lst create mode 100755 dumpstor.pl diff --git a/banned.lst b/banned.lst new file mode 100644 index 0000000..1bd4104 --- /dev/null +++ b/banned.lst @@ -0,0 +1,2 @@ +Inline::Octave +mod_perl2 diff --git a/dumpstor.pl b/dumpstor.pl new file mode 100755 index 0000000..10ca6ce --- /dev/null +++ b/dumpstor.pl @@ -0,0 +1,6 @@ +#!/usr/bin/env perl + +use Data::Dumper; +use Storable; + +print Dumper(retrieve $ARGV[0]); diff --git a/lib/CpanFile.pm b/lib/CpanFile.pm index ec79f9d..15c284f 100755 --- a/lib/CpanFile.pm +++ b/lib/CpanFile.pm @@ -11,10 +11,12 @@ sub __parse_file { } sub requires { + print "including $_[0]\n"; push @mods, $_[0]; } sub recommends { + print "including $_[0]\n"; push @mods, $_[0]; } diff --git a/lib/Module.pm b/lib/Module.pm index 0847f10..7934279 100755 --- a/lib/Module.pm +++ b/lib/Module.pm @@ -44,6 +44,18 @@ sub new_module { $cache{$dist} = Module->new(name => $name); } +{ + my @banned = do {open (my $fh, "}; + use Data::Dumper; + print Dumper(\@banned); + sub _is_banned { + my $module = shift; + my $dist = $Dist::mod_to_dist{$module} // $module; + + return _is_core($module) || ($dist ~~ @banned); + } +} + sub _is_core { my $module = shift; my ($name, $version) = split (/[\-~]/, $module); @@ -58,10 +70,12 @@ sub get_deps { my $module = $self->name; # skip perl, or core modules - return [] if _is_core($module); + return [] if _is_banned($module); + print "Getting deps for $module\n"; my @cmd = (qw|cpanm --quiet --mirror http://cpan.simcop2387.info/ --showdeps|, $module); + $SIG{TERM}="ignore"; my $out; run \@cmd, '>&', \$out; diff --git a/lib/TestCpanInc.pm b/lib/TestCpanInc.pm index 6de1f23..3aafd14 100644 --- a/lib/TestCpanInc.pm +++ b/lib/TestCpanInc.pm @@ -26,7 +26,7 @@ sub dep_order { my @orders; for my $dep ($module->depends->@*) { - print "\r", $dep->name, " "; +# print "\r", $dep->name, " "; push @orders, dep_order($dep); }