| Index: pym/_emerge/MergeListItem.py
|
| diff --git a/pym/_emerge/MergeListItem.py b/pym/_emerge/MergeListItem.py
|
| index e7856ccfc1e5f3afbc57663852eacd4eb217dd9b..64f5a86ef306a19f8c2fecb54d3f2e9aa3252e93 100644
|
| --- a/pym/_emerge/MergeListItem.py
|
| +++ b/pym/_emerge/MergeListItem.py
|
| @@ -111,7 +111,7 @@ class MergeListItem(CompositeTask):
|
| self._install_task.wait()
|
| return self.returncode
|
|
|
| - def merge(self):
|
| + def merge(self, exit_handler):
|
|
|
| pkg = self.pkg
|
| build_opts = self.build_opts
|
| @@ -135,15 +135,14 @@ class MergeListItem(CompositeTask):
|
| world_atom=world_atom)
|
|
|
| uninstall.start()
|
| - retval = uninstall.wait()
|
| - if retval != os.EX_OK:
|
| - return retval
|
| - return os.EX_OK
|
| -
|
| - if build_opts.fetchonly or \
|
| + self.returncode = uninstall.wait()
|
| + else:
|
| + self.returncode = os.EX_OK
|
| + exit_handler(self)
|
| + elif build_opts.fetchonly or \
|
| build_opts.buildpkgonly:
|
| - return self.returncode
|
| -
|
| - retval = self._install_task.install()
|
| - return retval
|
| + exit_handler(self)
|
| + else:
|
| + self._current_task = self._install_task
|
| + self._install_task.install(exit_handler)
|
|
|
|
|