Implemented facility to set global override flags in database configuration.

This commit is contained in:
László Valkó 2018-05-12 04:47:04 +02:00
parent 572fc7e54e
commit a02bcc628b

View file

@ -3261,6 +3261,7 @@ sub get_install_sets ($)
return 1; return 1;
} }
my $flags = {}; my $flags = {};
my $globalflags = {};
my $pkgsets = $$config{'package-sets'}; my $pkgsets = $$config{'package-sets'};
$pkgsets = {} unless defined $pkgsets; $pkgsets = {} unless defined $pkgsets;
foreach my $line (split /\n/, $response->decoded_content) { foreach my $line (split /\n/, $response->decoded_content) {
@ -3291,6 +3292,21 @@ sub get_install_sets ($)
$$flags{$value} = 1; $$flags{$value} = 1;
} }
} }
if ($key eq 'flag') {
my $flag;
if ($value =~ /^([^=]+)=(.*)$/o) {
$flag = $1;
$value = $2;
}
else {
$flag = $value;
$value = 1;
}
if (! defined $$globalflags{$flag}) {
print_log('global', DEBUG1, 'Adding global flag %s=%s', $flag, $value);
$$globalflags{$flag} = $value;
}
}
} }
my $genvars = $$config{'generic-variables'}; my $genvars = $$config{'generic-variables'};
foreach my $pkgflag (keys %$flags) { foreach my $pkgflag (keys %$flags) {
@ -3299,6 +3315,13 @@ sub get_install_sets ($)
expression => 1 expression => 1
}; };
} }
foreach my $flag (keys %$globalflags) {
my $value = $$globalflags{$flag};
push @$genvars, {
variable => $flag,
expression => $value
};
}
return undef; return undef;
} }