From 61532b5a6b52ba7371f45109769718164ce4a4fc Mon Sep 17 00:00:00 2001 From: Sven Eden Date: Thu, 12 Feb 2015 16:47:01 +0100 Subject: Fix truncation of -* if set in make.conf. --- Portage.pm | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/Portage.pm b/Portage.pm index d90be5e..a86e5bb 100644 --- a/Portage.pm +++ b/Portage.pm @@ -431,19 +431,19 @@ sub _determine_profiles # No parameters accepted sub _final_cleaning { - # The "disable all" flag is truncated to '*' by the parsing, but it - # has to read '-*'. + # The "disable all" flag is truncated to '*' by the parsing, but + # it has to read '-*'. _add_temp("-*", "global"); $_use_temp->{'-*'}{global}{descr} = "{Never enable any flags other than those specified in make.conf}"; $_use_temp->{'-*'}{global}{conf} = 0; ## Can never be -1 - + # Set it from the truncated config: if (defined($_use_temp->{'*'}{global})) { - $_use_temp->{'*'}{global}{conf} > 0 + $_use_temp->{'*'}{global}{conf} > -1 and $_use_temp->{'-*'}{global}{conf} = 1; } - + # The following use flags are dangerous or internal only # and must no be available using ufed: defined($_use_temp->{"*"}) and delete($_use_temp->{"*"}); @@ -863,7 +863,9 @@ sub _read_make_conf { $oldEnv{USE}{$flag} and $_use_temp->{$flag}{global}{conf} = 1 - or $_use_temp->{$flag}{global}{conf} = -1; + or $flag eq '*' + and $_use_temp->{$flag}{global}{conf} = 1 + or $_use_temp->{$flag}{global}{conf} = -1; } # Add PORTDIR and overlays to @_profiles -- cgit v1.2.3-65-gdbad