aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMounir Lamouri <volkmar@gentoo.org>2009-08-15 19:28:53 +0000
committerMounir Lamouri <volkmar@gentoo.org>2009-08-15 19:28:53 +0000
commit2aa5871b1a92d6224b6a28bb7c30ea931d0f5b72 (patch)
tree1cfde6d716e32d830621be3b53dcdee81e22e20f /pym/_emerge/PackageUninstall.py
parentsets/files.py cleanPackages function stop calling lock and load (diff)
downloadportage-2aa5871b1a92d6224b6a28bb7c30ea931d0f5b72.tar.gz
portage-2aa5871b1a92d6224b6a28bb7c30ea931d0f5b72.tar.bz2
portage-2aa5871b1a92d6224b6a28bb7c30ea931d0f5b72.zip
Scheduler is now able to clean world set when removing a package.
world_atom function has been updated and PackageUninstall is calling it after unmerge. svn path=/main/trunk/; revision=14070
Diffstat (limited to 'pym/_emerge/PackageUninstall.py')
-rw-r--r--pym/_emerge/PackageUninstall.py9
1 files changed, 7 insertions, 2 deletions
diff --git a/pym/_emerge/PackageUninstall.py b/pym/_emerge/PackageUninstall.py
index ff1b5e189..d86947c4a 100644
--- a/pym/_emerge/PackageUninstall.py
+++ b/pym/_emerge/PackageUninstall.py
@@ -12,11 +12,12 @@ from _emerge.UninstallFailure import UninstallFailure
class PackageUninstall(AsynchronousTask):
- __slots__ = ("ldpath_mtimes", "opts", "pkg", "scheduler", "settings")
+ __slots__ = ("world_atom", "ldpath_mtimes", "opts",
+ "pkg", "scheduler", "settings")
def _start(self):
try:
- unmerge(self.pkg.root_config, self.opts, "unmerge",
+ retval = unmerge(self.pkg.root_config, self.opts, "unmerge",
[self.pkg.cpv], self.ldpath_mtimes, clean_world=0,
clean_delay=0, raise_on_error=1, scheduler=self.scheduler,
writemsg_level=self._writemsg_level)
@@ -24,6 +25,10 @@ class PackageUninstall(AsynchronousTask):
self.returncode = e.status
else:
self.returncode = os.EX_OK
+
+ if retval == 1:
+ self.world_atom(self.pkg)
+
self.wait()
def _writemsg_level(self, msg, level=0, noiselevel=0):