diff options
Diffstat (limited to 'lib/_emerge/actions.py')
-rw-r--r-- | lib/_emerge/actions.py | 22 |
1 files changed, 16 insertions, 6 deletions
diff --git a/lib/_emerge/actions.py b/lib/_emerge/actions.py index f82069f9a..e697459c8 100644 --- a/lib/_emerge/actions.py +++ b/lib/_emerge/actions.py @@ -672,12 +672,6 @@ def action_build( ldpath_mtimes, autoclean=1, ) - else: - portage.writemsg_stdout( - colorize("WARN", "WARNING:") - + " AUTOCLEAN is disabled. This can cause serious" - + " problems due to overlapping packages.\n" - ) return retval @@ -776,6 +770,15 @@ def action_depclean( # relatively safe to ignore missing deps when only asked to remove # specific packages. + # Force autoclean for depcleans (but not purges), as it was changed + # to default off to not run it on every unmerge. + # bug #792195 + if action == "depclean": + settings.unlock() + settings["AUTOCLEAN"] = "yes" + settings.backup_changes("AUTOCLEAN") + settings.lock() + msg = [] if ( "preserve-libs" not in settings.features @@ -3386,6 +3389,13 @@ def run_action(emerge_config): # Reload the whole config from scratch. load_emerge_config(emerge_config=emerge_config) + # Let's autoclean if we applied updates, rather than always doing it + # bug #792195 + emerge_config.target_config.settings.unlock() + emerge_config.target_config.settings["AUTOCLEAN"] = "yes" + emerge_config.target_config.settings.backup_changes("AUTOCLEAN") + emerge_config.target_config.settings.lock() + xterm_titles = "notitles" not in emerge_config.target_config.settings.features if xterm_titles: xtermTitle("emerge") |