From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from pigeon.gentoo.org ([208.92.234.80] helo=lists.gentoo.org) by finch.gentoo.org with esmtp (Exim 4.60) (envelope-from ) id 1QLXEb-0000qk-TK for garchives@archives.gentoo.org; Sun, 15 May 2011 09:03:34 +0000 Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id 4939C1C022; Sun, 15 May 2011 09:02:31 +0000 (UTC) Received: from smtp.gentoo.org (smtp.gentoo.org [140.211.166.183]) by pigeon.gentoo.org (Postfix) with ESMTP id 054D81C022 for ; Sun, 15 May 2011 09:02:30 +0000 (UTC) Received: from pelican.gentoo.org (unknown [66.219.59.40]) (using TLSv1 with cipher ADH-CAMELLIA256-SHA (256/256 bits)) (No client certificate requested) by smtp.gentoo.org (Postfix) with ESMTPS id 44A6D1B405F for ; Sun, 15 May 2011 09:02:30 +0000 (UTC) Received: from localhost.localdomain (localhost [127.0.0.1]) by pelican.gentoo.org (Postfix) with ESMTP id 8B2E180504 for ; Sun, 15 May 2011 09:02:29 +0000 (UTC) From: "Zac Medico" To: gentoo-commits@lists.gentoo.org Content-type: text/plain; charset=UTF-8 Reply-To: gentoo-dev@lists.gentoo.org, "Zac Medico" Message-ID: <33a3a2d9cdc44e07aaece8fdf08a3d3bde6e5d82.zmedico@gentoo> Subject: [gentoo-commits] proj/portage:master commit in: pym/_emerge/ X-VCS-Repository: proj/portage X-VCS-Files: pym/_emerge/Binpkg.py pym/_emerge/EbuildBuild.py pym/_emerge/EbuildMerge.py X-VCS-Directories: pym/_emerge/ X-VCS-Committer: zmedico X-VCS-Committer-Name: Zac Medico X-VCS-Revision: 33a3a2d9cdc44e07aaece8fdf08a3d3bde6e5d82 Date: Sun, 15 May 2011 09:02:29 +0000 (UTC) Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-commits@lists.gentoo.org Content-Transfer-Encoding: quoted-printable X-Archives-Salt: X-Archives-Hash: b154a818a2f2e95f496143eda175811c commit: 33a3a2d9cdc44e07aaece8fdf08a3d3bde6e5d82 Author: Zac Medico gentoo org> AuthorDate: Sun May 15 09:02:08 2011 +0000 Commit: Zac Medico gentoo org> CommitDate: Sun May 15 09:02:08 2011 +0000 URL: http://git.overlays.gentoo.org/gitweb/?p=3Dproj/portage.git;a= =3Dcommit;h=3D33a3a2d9 EbuildMerge: inherit from CompositeTask --- pym/_emerge/Binpkg.py | 3 +-- pym/_emerge/EbuildBuild.py | 3 +-- pym/_emerge/EbuildMerge.py | 20 ++++++++++---------- 3 files changed, 12 insertions(+), 14 deletions(-) diff --git a/pym/_emerge/Binpkg.py b/pym/_emerge/Binpkg.py index bc6b85d..1ed5c1f 100644 --- a/pym/_emerge/Binpkg.py +++ b/pym/_emerge/Binpkg.py @@ -315,12 +315,11 @@ class Binpkg(CompositeTask): settings["PORTAGE_BINPKG_FILE"] =3D self._pkg_path settings.backup_changes("PORTAGE_BINPKG_FILE") =20 - merge =3D EbuildMerge(find_blockers=3Dself.find_blockers, + task =3D EbuildMerge(find_blockers=3Dself.find_blockers, ldpath_mtimes=3Dself.ldpath_mtimes, logger=3Dself.logger, pkg=3Dself.pkg, pkg_count=3Dself.pkg_count, pkg_path=3Dself._pkg_path, scheduler=3Dself.scheduler, settings=3Dsettings, tree=3Dself._tree, world_atom=3Dself.world_atom) - task =3D merge.create_task() task.addExitListener(self._install_exit) return task =20 diff --git a/pym/_emerge/EbuildBuild.py b/pym/_emerge/EbuildBuild.py index 1de8fbf..a678ede 100644 --- a/pym/_emerge/EbuildBuild.py +++ b/pym/_emerge/EbuildBuild.py @@ -330,7 +330,7 @@ class EbuildBuild(CompositeTask): ebuild_path =3D self._ebuild_path tree =3D self._tree =20 - merge =3D EbuildMerge(find_blockers=3Dself.find_blockers, + task =3D EbuildMerge(find_blockers=3Dself.find_blockers, ldpath_mtimes=3Dldpath_mtimes, logger=3Dlogger, pkg=3Dpkg, pkg_count=3Dpkg_count, pkg_path=3Debuild_path, scheduler=3Dself.scheduler, @@ -343,7 +343,6 @@ class EbuildBuild(CompositeTask): (pkg_count.curval, pkg_count.maxval, pkg.cpv) logger.log(msg, short_msg=3Dshort_msg) =20 - task =3D merge.create_task() task.addExitListener(self._install_exit) return task =20 diff --git a/pym/_emerge/EbuildMerge.py b/pym/_emerge/EbuildMerge.py index 78711b7..28d17f9 100644 --- a/pym/_emerge/EbuildMerge.py +++ b/pym/_emerge/EbuildMerge.py @@ -1,26 +1,24 @@ # Copyright 1999-2011 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 =20 -from _emerge.SlotObject import SlotObject -import portage +from _emerge.CompositeTask import CompositeTask from portage import os from portage.dbapi._MergeProcess import MergeProcess from portage.dbapi.vartree import dblink =20 -class EbuildMerge(SlotObject): +class EbuildMerge(CompositeTask): =20 __slots__ =3D ("find_blockers", "logger", "ldpath_mtimes", "pkg", "pkg_count", "pkg_path", "pretend", - "scheduler", "settings", "tree", "world_atom") + "settings", "tree", "world_atom") =20 - def create_task(self): + def _start(self): root_config =3D self.pkg.root_config settings =3D self.settings mycat =3D settings["CATEGORY"] mypkg =3D settings["PF"] pkgloc =3D settings["D"] infloc =3D os.path.join(settings["PORTAGE_BUILDDIR"], "build-info") - myroot =3D root_config.root myebuild =3D settings["EBUILD"] mydbapi =3D root_config.trees[self.tree].dbapi vartree =3D root_config.trees["vartree"] @@ -33,11 +31,12 @@ class EbuildMerge(SlotObject): background=3Dbackground, blockers=3Dself.find_blockers, pkgloc=3Dpkgl= oc, infloc=3Dinfloc, myebuild=3Dmyebuild, mydbapi=3Dmydbapi, prev_mtimes=3Dself.ldpath_mtimes, logfile=3Dlogfile) - merge_task.addExitListener(self._log_exit) - return merge_task =20 - def _log_exit(self, task): - if task.returncode !=3D os.EX_OK: + self._start_task(merge_task, self._merge_exit) + + def _merge_exit(self, merge_task): + if self._final_exit(merge_task) !=3D os.EX_OK: + self.wait() return =20 pkg =3D self.pkg @@ -55,3 +54,4 @@ class EbuildMerge(SlotObject): logger.log(" ::: completed emerge (%s of %s) %s to %s" % \ (pkg_count.curval, pkg_count.maxval, pkg.cpv, pkg.root)) =20 + self.wait()