summaryrefslogtreecommitdiffstats
path: root/pym/_emerge/MergeListItem.py
diff options
context:
space:
mode:
authorZac Medico <zmedico@gentoo.org>2011-03-26 00:06:01 -0700
committerZac Medico <zmedico@gentoo.org>2011-03-26 00:06:01 -0700
commitdc6a4c122e827baf28729caf2dbb32576072d88f (patch)
treeb17c8a93f246b70faf58cbcbc49ecef7b0e8a05e /pym/_emerge/MergeListItem.py
parent2e6fe9eb779b94d1f00d9ebdbdf76b3f026ebcd2 (diff)
downloadportage-dc6a4c122e827baf28729caf2dbb32576072d88f.tar.gz
portage-dc6a4c122e827baf28729caf2dbb32576072d88f.tar.bz2
portage-dc6a4c122e827baf28729caf2dbb32576072d88f.zip
Reoranize PackageMerge/MergeListItem interaction.
Diffstat (limited to 'pym/_emerge/MergeListItem.py')
-rw-r--r--pym/_emerge/MergeListItem.py21
1 files changed, 8 insertions, 13 deletions
diff --git a/pym/_emerge/MergeListItem.py b/pym/_emerge/MergeListItem.py
index 5170de1d5..124db1a18 100644
--- a/pym/_emerge/MergeListItem.py
+++ b/pym/_emerge/MergeListItem.py
@@ -4,6 +4,7 @@
from portage import os
from portage.output import colorize
+from _emerge.AsynchronousTask import AsynchronousTask
from _emerge.Binpkg import Binpkg
from _emerge.CompositeTask import CompositeTask
from _emerge.EbuildBuild import EbuildBuild
@@ -111,15 +112,11 @@ class MergeListItem(CompositeTask):
self._install_task.wait()
return self.returncode
- def merge(self, exit_handler):
+ def create_install_task(self):
pkg = self.pkg
build_opts = self.build_opts
- find_blockers = self.find_blockers
- logger = self.logger
mtimedb = self.mtimedb
- pkg_count = self.pkg_count
- prefetcher = self.prefetcher
scheduler = self.scheduler
settings = self.settings
world_atom = self.world_atom
@@ -129,20 +126,18 @@ class MergeListItem(CompositeTask):
if not (build_opts.buildpkgonly or \
build_opts.fetchonly or build_opts.pretend):
- uninstall = PackageUninstall(background=self.background,
+ task = PackageUninstall(background=self.background,
ldpath_mtimes=ldpath_mtimes, opts=self.emerge_opts,
pkg=pkg, scheduler=scheduler, settings=settings,
world_atom=world_atom)
- uninstall.start()
- self.returncode = uninstall.wait()
else:
- self.returncode = os.EX_OK
- exit_handler(self)
+ task = AsynchronousTask()
+
elif build_opts.fetchonly or \
build_opts.buildpkgonly:
- exit_handler(self)
+ task = AsynchronousTask()
else:
- self._current_task = self._install_task
- self._install_task.install(exit_handler)
+ task = self._install_task.create_install_task()
+ return task