[Midnightbsd-cvs] mports: magus/master: add nuke_internals.pl and top_blockers.pl

ctriv at midnightbsd.org ctriv at midnightbsd.org
Tue Apr 22 02:54:50 EDT 2008


Log Message:
-----------
add nuke_internals.pl and top_blockers.pl

Added Files:
-----------
    mports/Tools/magus/master:
        nuke_internals.pl (r1.1)
        top_blockers.pl (r1.1)

-------------- next part --------------
--- /dev/null
+++ Tools/magus/master/nuke_internals.pl
@@ -0,0 +1,17 @@
+#!/usr/local/bin/perl
+#
+# $MidnightBSD: mports/Tools/magus/master/nuke_internals.pl,v 1.1 2008/04/22 06:54:49 ctriv Exp $
+#
+use strict;
+use warnings;
+use lib qw(/usr/mports/Tools/lib);
+
+use Magus;
+
+foreach my $run (@ARGV) {
+  my $ports = Magus::Port->search(run => $run, status => 'internal');
+
+  while (my $port = $ports->next) {
+    $port->reset;
+  }
+}
\ No newline at end of file
--- /dev/null
+++ Tools/magus/master/top_blockers.pl
@@ -0,0 +1,44 @@
+#!/usr/local/bin/perl
+#
+# $MidnightBSD: mports/Tools/magus/master/top_blockers.pl,v 1.1 2008/04/22 06:54:49 ctriv Exp $
+#
+use strict;
+use warnings;
+use lib qw(/usr/mports/Tools/lib);
+
+use Magus;
+
+my $run = shift || die "Usage: $0 <run ID>\n";
+my %blocking;
+
+my $ports = Magus::Port->search(run => $run, status => 'untested');
+
+$|++;
+
+while (my $port = $ports->next) {
+  print "$port... ";
+  note_failures($port, \%blocking);
+  print "done\n";
+}
+
+print '-' x 79, "\n";
+
+foreach my $port (sort { $blocking{$b} <=> $blocking{$a} } keys %blocking) {
+  print "$port: $blocking{$port}\n";
+}
+
+sub note_failures {
+  my ($port, $blocking) = @_;
+  
+  my @depends = $port->depends;
+  
+  $blocking->{$_}++ for grep { $_->status eq 'fail' || $_->status eq 'skip' } @depends;
+  
+  note_failures($_, $blocking) 
+    for grep { $_->status eq 'untested' } @depends;
+}
+  
+    
+  
+  
+  


More information about the Midnightbsd-cvs mailing list