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 1RQqjY-0000y6-BM for garchives@archives.gentoo.org; Thu, 17 Nov 2011 01:25:44 +0000 Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id F07B821C02B; Thu, 17 Nov 2011 01:25:35 +0000 (UTC) Received: from smtp.gentoo.org (smtp.gentoo.org [140.211.166.183]) by pigeon.gentoo.org (Postfix) with ESMTP id A975721C02B for ; Thu, 17 Nov 2011 01:25:35 +0000 (UTC) Received: from pelican.gentoo.org (unknown [66.219.59.40]) (using TLSv1 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by smtp.gentoo.org (Postfix) with ESMTPS id 0FDBE1B401E for ; Thu, 17 Nov 2011 01:25:35 +0000 (UTC) Received: from localhost.localdomain (localhost [127.0.0.1]) by pelican.gentoo.org (Postfix) with ESMTP id 4244880042 for ; Thu, 17 Nov 2011 01:25:34 +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: Subject: [gentoo-commits] proj/portage:master commit in: pym/_emerge/ X-VCS-Repository: proj/portage X-VCS-Files: pym/_emerge/Scheduler.py X-VCS-Directories: pym/_emerge/ X-VCS-Committer: zmedico X-VCS-Committer-Name: Zac Medico X-VCS-Revision: dbe8e6593b927f67a4213317c4eab1d10bba88bf Date: Thu, 17 Nov 2011 01:25:34 +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: 1e3b3536-cf81-4b81-8d0f-1c26d0cfbd7f X-Archives-Hash: 96487c3cc5bb84151d0182df3d213c65 commit: dbe8e6593b927f67a4213317c4eab1d10bba88bf Author: Zac Medico gentoo org> AuthorDate: Thu Nov 17 01:25:21 2011 +0000 Commit: Zac Medico gentoo org> CommitDate: Thu Nov 17 01:25:21 2011 +0000 URL: http://git.overlays.gentoo.org/gitweb/?p=3Dproj/portage.git;a= =3Dcommit;h=3Ddbe8e659 pkg_pretend: lock before unpacking binpkg xpak This fixes a regression from the previous commit. --- pym/_emerge/Scheduler.py | 37 ++++++++++++++++++++----------------- 1 files changed, 20 insertions(+), 17 deletions(-) diff --git a/pym/_emerge/Scheduler.py b/pym/_emerge/Scheduler.py index d5e801b..cb4aab4 100644 --- a/pym/_emerge/Scheduler.py +++ b/pym/_emerge/Scheduler.py @@ -26,7 +26,7 @@ from portage.output import colorize, create_color_func,= red bad =3D create_color_func("BAD") from portage._sets import SETPREFIX from portage._sets.base import InternalPackageSet -from portage.util import writemsg, writemsg_level +from portage.util import ensure_dirs, writemsg, writemsg_level from portage.package.ebuild.digestcheck import digestcheck from portage.package.ebuild.digestgen import digestgen from portage.package.ebuild.doebuild import _check_temp_dir @@ -920,9 +920,26 @@ class Scheduler(PollScheduler): if rval !=3D os.EX_OK: return rval =20 + build_dir_path =3D os.path.join( + os.path.realpath(settings["PORTAGE_TMPDIR"]), + "portage", x.category, x.pf) + existing_buildir =3D os.path.isdir(build_dir_path) build_dir =3D None =20 try: + settings["PORTAGE_BUILDDIR"] =3D build_dir_path + build_dir =3D EbuildBuildDir(scheduler=3Dsched_iface, + settings=3Dsettings) + build_dir.lock() + + # Clean up the existing build dir, in case pkg_pretend + # checks for available space (bug #390711). + if existing_buildir: + clean_phase =3D EbuildPhase(background=3DFalse, + phase=3D'clean', scheduler=3Dsched_iface, settings=3Dsettings) + clean_phase.start() + clean_phase.wait() + if x.built: tree =3D "bintree" bintree =3D root_config.trees["bintree"].dbapi.bintree @@ -949,9 +966,8 @@ class Scheduler(PollScheduler): if fetched: bintree.inject(x.cpv, filename=3Dfetched) tbz2_file =3D bintree.getname(x.cpv) - infloc =3D os.path.join(settings["PORTAGE_TMPDIR"], - x.category, x.pf, "build-info") - os.makedirs(infloc) + infloc =3D os.path.join(build_dir_path, "build-info") + ensure_dirs(infloc) portage.xpak.tbz2(tbz2_file).unpackinfo(infloc) ebuild_path =3D os.path.join(infloc, x.pf + ".ebuild") settings.configdict["pkg"]["EMERGE_FROM"] =3D "binary" @@ -973,19 +989,6 @@ class Scheduler(PollScheduler): "pretend", settings=3Dsettings, db=3Dself.trees[settings['EROOT']][tree].dbapi) =20 - existing_buildir =3D os.path.isdir(settings["PORTAGE_BUILDDIR"]) - build_dir =3D EbuildBuildDir(scheduler=3Dsched_iface, - settings=3Dsettings) - build_dir.lock() - - # Clean up the existing build dir, in case pkg_pretend - # checks for available space (bug #390711). - if existing_buildir: - clean_phase =3D EbuildPhase(background=3DFalse, - phase=3D'clean', scheduler=3Dsched_iface, settings=3Dsettings) - clean_phase.start() - clean_phase.wait() - prepare_build_dirs(root_config.root, settings, cleanup=3D0) =20 vardb =3D root_config.trees['vartree'].dbapi