diff options
Diffstat (limited to 'pym/_emerge/PackageUninstall.py')
-rw-r--r-- | pym/_emerge/PackageUninstall.py | 9 |
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): |