-die "Bad distribution '$distribution'\n"
- if !isin($distribution, keys %conf::distributions);
+if ($distribution eq 'any-priv') {
+ $privmode = 'yes';
+ $distribution = 'any';
+}
+if ($distribution eq 'any-unpriv') {
+ $privmode = 'no';
+ $distribution = 'any';
+}
+undef $distribution if $distribution eq 'any';
+if ($distribution) {
+ my @dists = split(/[, ]+/, $distribution);
+ foreach my $dist (@dists) {
+ die "Bad distribution '$distribution'\n"
+ if !isin($dist, keys %conf::distributions);
+ }
+}
+if (!isin ( $op_mode, qw(list) ) && ( !$distribution || $distribution =~ /[ ,]/)) {
+ die "multiple distributions are only allowed for list";
+}