Include packages with priority important or higher.
[cascardo/debsrc.git] / debsort.pl
index 318e524..5f48263 100644 (file)
@@ -128,24 +128,30 @@ my @vsource = ();
 for my $i (keys %essential) {
        push @visit, $i;
 }
+for my $i (@packages) {
+       if (defined($priority{$i}) and ($priority{$i} eq "required" ||
+           $priority{$i} eq "standard" || $priority{$i} eq "important")) {
+               push @visit, $i;
+       }
+}
 push @visit, "build-essential";
 
 while (@visit) {
        my $n = pop @visit;
-       next if grep /^$n$/, @pp;
+       next if grep /^\Q$n\E$/, @pp;
        push @pp, $n;
        my $source = $csource{$n};
-       if ($source and !grep /^$source$/, @vsource) {
+       if ($source and !grep /^\Q$source\E$/, @vsource) {
                push @vsource, $source;
                for my $b (@{$bdeps{$source}}) {
-                       if (!grep /^$b$/, @pp && !grep /^$b$/, @visit) {
+                       if (!grep /^\Q$b\E$/, @pp && !grep /^\Q$b\E$/, @visit) {
                                push @visit, $b;
                        }
                }
        }
        my $l = $depends{$n};
        for my $d (@$l) {
-               if (!grep /^$d$/, @pp && !grep /^$d$/, @visit) {
+               if (!grep /^\Q$d\E$/, @pp && !grep /^\Q$d\E$/, @visit) {
                        push @visit, $d;
                }
        }