X-Git-Url: http://git.cascardo.eti.br/?a=blobdiff_plain;f=debsort.pl;h=79004d550c58b1ef6e8ee4a1f4c18fa5d5081b4d;hb=9ba04d75df077475e92cdb429c466dc70a5379bb;hp=4a3e8262c25991d697a1e1f31cfe3b0ad8391c56;hpb=6d3201a2bc80a59f8003f90f6e614830d4b16174;p=cascardo%2Fdebsrc.git diff --git a/debsort.pl b/debsort.pl index 4a3e826..79004d5 100644 --- a/debsort.pl +++ b/debsort.pl @@ -106,6 +106,8 @@ my @pp = (); my @visit = (); +my @vsource = (); + for my $i (keys %essential) { push @visit, $i; } @@ -115,6 +117,15 @@ while (@visit) { my $n = pop @visit; next if grep /^$n$/, @pp; push @pp, $n; + my $source = $csource{$n}; + if ($source and !grep /^$source$/, @vsource) { + push @vsource, $source; + for my $b (@{$bdeps{$source}}) { + if (!grep /^$b$/, @pp && !grep /^$b$/, @visit) { + push @visit, $b; + } + } + } my $l = $depends{$n}; for my $d (@$l) { if (!grep /^$d$/, @pp && !grep /^$d$/, @visit) {