Add ability to ban modules that dont function correctly
This commit is contained in:
parent
ca6486af35
commit
8f2a140a7a
5 changed files with 26 additions and 2 deletions
2
banned.lst
Normal file
2
banned.lst
Normal file
|
@ -0,0 +1,2 @@
|
||||||
|
Inline::Octave
|
||||||
|
mod_perl2
|
6
dumpstor.pl
Executable file
6
dumpstor.pl
Executable file
|
@ -0,0 +1,6 @@
|
||||||
|
#!/usr/bin/env perl
|
||||||
|
|
||||||
|
use Data::Dumper;
|
||||||
|
use Storable;
|
||||||
|
|
||||||
|
print Dumper(retrieve $ARGV[0]);
|
|
@ -11,10 +11,12 @@ sub __parse_file {
|
||||||
}
|
}
|
||||||
|
|
||||||
sub requires {
|
sub requires {
|
||||||
|
print "including $_[0]\n";
|
||||||
push @mods, $_[0];
|
push @mods, $_[0];
|
||||||
}
|
}
|
||||||
|
|
||||||
sub recommends {
|
sub recommends {
|
||||||
|
print "including $_[0]\n";
|
||||||
push @mods, $_[0];
|
push @mods, $_[0];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -44,6 +44,18 @@ sub new_module {
|
||||||
$cache{$dist} = Module->new(name => $name);
|
$cache{$dist} = Module->new(name => $name);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
{
|
||||||
|
my @banned = do {open (my $fh, "<banned.lst"); map {chomp; $Dist::mod_to_dist{$_} // $_} <$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 {
|
sub _is_core {
|
||||||
my $module = shift;
|
my $module = shift;
|
||||||
my ($name, $version) = split (/[\-~]/, $module);
|
my ($name, $version) = split (/[\-~]/, $module);
|
||||||
|
@ -58,10 +70,12 @@ sub get_deps {
|
||||||
my $module = $self->name;
|
my $module = $self->name;
|
||||||
|
|
||||||
# skip perl, or core modules
|
# 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);
|
my @cmd = (qw|cpanm --quiet --mirror http://cpan.simcop2387.info/ --showdeps|, $module);
|
||||||
|
|
||||||
|
$SIG{TERM}="ignore";
|
||||||
my $out;
|
my $out;
|
||||||
run \@cmd, '>&', \$out;
|
run \@cmd, '>&', \$out;
|
||||||
|
|
||||||
|
|
|
@ -26,7 +26,7 @@ sub dep_order {
|
||||||
my @orders;
|
my @orders;
|
||||||
|
|
||||||
for my $dep ($module->depends->@*) {
|
for my $dep ($module->depends->@*) {
|
||||||
print "\r", $dep->name, " ";
|
# print "\r", $dep->name, " ";
|
||||||
push @orders, dep_order($dep);
|
push @orders, dep_order($dep);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue