[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