my $standard;
my $mta = $opts->{exim} ? 'exim' : 'postfix';
-
if ($mta eq 'postfix') {
push @$important, "postfix";
}
+ if ($opts->{include}) {
+ push @$important, split(',', $opts->{include});
+ }
+
+ my $exclude = {};
+ if ($opts->{exclude}) {
+ $exclude->{$_} = 1 for split(',', $opts->{exclude});
+ }
+
foreach my $p (sort keys %$pkginfo) {
next if grep { $p eq $_ } @{$self->{excl}};
my $pri = $pkginfo->{$p}->{priority};
next if $p =~ m/(selinux|semanage|policycoreutils)/;
push @$required, $p if $pri eq 'required';
+ next if $exclude->{$p};
push @$important, $p if $pri eq 'important';
push @$standard, $p if $pri eq 'standard' && !$opts->{minimal};
}
my $commands = {
'init' => '',
- 'bootstrap' => '[--exim] [--minimal]',
+ 'bootstrap' => '[--exim] [--include <a[,b..]]>] --exclude [<a[,b..]]>] [--minimal]',
'finalize' => '[--keepmycnf] [--compressor <gz (default)|zst>]',
'veid' => '',
'basedir' => '',
} elsif ($cmd eq 'bootstrap') {
my $opts = {};
- if (!GetOptions ($opts, 'exim', 'minimal')) {
+ if (!GetOptions ($opts, 'exim', 'minimal', 'include=s', 'exclude=s')) {
fatal_usage();
}
die "command 'bootstrap' expects no arguments.\n" if scalar (@ARGV) != 0;