[Midnightbsd-cvs] mports: Port.pm: Add all_depends method.

ctriv at midnightbsd.org ctriv at midnightbsd.org
Tue Oct 23 21:02:44 EDT 2007


Log Message:
-----------
Add all_depends method.

Modified Files:
--------------
    mports/Tools/lib/Magus:
        Port.pm (r1.2 -> r1.3)

-------------- next part --------------
Index: Port.pm
===================================================================
RCS file: /home/cvs/mports/Tools/lib/Magus/Port.pm,v
retrieving revision 1.2
retrieving revision 1.3
diff -LTools/lib/Magus/Port.pm -LTools/lib/Magus/Port.pm -u -r1.2 -r1.3
--- Tools/lib/Magus/Port.pm
+++ Tools/lib/Magus/Port.pm
@@ -72,6 +72,28 @@
   return $self->results(arch => $Magus::Machine->arch, version => $self->version)->next;
 }
 
+sub all_depends {
+  my ($self) = @_;
+ 
+  my %depends;   
+  _walk($self, \%depends);
+  delete $depends{$self};
+  return sort values %depends;
+}    
+
+sub _walk {
+  my ($port, $depends) = @_;
+  
+  foreach my $dep ($port->depends) {
+    if (!$depends->{$dep}) {
+      $depends->{$dep} = $dep;
+      _walk($dep, $depends);
+    }
+  }
+  
+}
+
+
 
 1;
 __END__


More information about the Midnightbsd-cvs mailing list