diff options
author | Zac Medico <zmedico@gentoo.org> | 2008-04-23 23:58:20 +0000 |
---|---|---|
committer | Zac Medico <zmedico@gentoo.org> | 2008-04-23 23:58:20 +0000 |
commit | b51b1f64c97483a0d695a5ef212e9622c0bb148d (patch) | |
tree | 96ee1822a0905cfd6b9fab7735265e562f4c1956 | |
parent | f672825a1e2c9019979f199d220dec598e19ad30 (diff) | |
download | portage-b51b1f64c97483a0d695a5ef212e9622c0bb148d.tar.gz portage-b51b1f64c97483a0d695a5ef212e9622c0bb148d.tar.bz2 portage-b51b1f64c97483a0d695a5ef212e9622c0bb148d.zip |
Bug #172812 - Protect packages from being removed from the world file
during automatic uninstallation.
svn path=/main/trunk/; revision=9949
-rw-r--r-- | pym/_emerge/__init__.py | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/pym/_emerge/__init__.py b/pym/_emerge/__init__.py index 35f5b3560..bdb8e88e4 100644 --- a/pym/_emerge/__init__.py +++ b/pym/_emerge/__init__.py @@ -5026,7 +5026,7 @@ class MergeTask(object): if uninstall_queue: unmerge(root_config, self.myopts, "unmerge", [uninst_pkg.cpv for uninst_pkg in uninstall_queue], - ldpath_mtimes) + ldpath_mtimes, clean_world=0) del uninstall_queue[:] #buildsyspkg: Check if we need to _force_ binary package creation @@ -5320,7 +5320,7 @@ class MergeTask(object): return os.EX_OK def unmerge(root_config, myopts, unmerge_action, - unmerge_files, ldpath_mtimes, autoclean=0): + unmerge_files, ldpath_mtimes, autoclean=0, clean_world=1): settings = root_config.settings sets = root_config.sets vartree = root_config.trees["vartree"] @@ -5681,7 +5681,8 @@ def unmerge(root_config, myopts, unmerge_action, emergelog(xterm_titles, " !!! unmerge FAILURE: "+y) sys.exit(retval) else: - sets["world"].cleanPackage(vartree.dbapi, y) + if clean_world: + sets["world"].cleanPackage(vartree.dbapi, y) emergelog(xterm_titles, " >>> unmerge success: "+y) return 1 |