From cf045e992c5989fd6b9ac786d7c21884002d6074 Mon Sep 17 00:00:00 2001 From: Zac Medico Date: Wed, 26 Nov 2008 19:13:23 +0000 Subject: Make Scheduler.merge() bail out early if PORTAGE_TMPDIR is not properly set. (trunk r12103) svn path=/main/branches/2.1.6/; revision=12104 --- pym/_emerge/__init__.py | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/pym/_emerge/__init__.py b/pym/_emerge/__init__.py index f2209667a..8c3a89d49 100644 --- a/pym/_emerge/__init__.py +++ b/pym/_emerge/__init__.py @@ -9681,6 +9681,22 @@ class Scheduler(PollScheduler): for root in self.trees: root_config = self.trees[root]["root_config"] + + # Even for --pretend --fetch mode, PORTAGE_TMPDIR is required + # since it might spawn pkg_nofetch which requires PORTAGE_BUILDDIR + # for ensuring sane $PWD (bug #239560) and storing elog messages. + tmpdir = root_config.settings.get("PORTAGE_TMPDIR", "") + if not tmpdir or not os.path.isdir(tmpdir): + msg = "The directory specified in your " + \ + "PORTAGE_TMPDIR variable, '%s', " % tmpdir + \ + "does not exist. Please create this " + \ + "directory or correct your PORTAGE_TMPDIR setting." + msg = textwrap.wrap(msg, 70) + out = portage.output.EOutput() + for l in msg: + out.eerror(l) + return 1 + if self._background: root_config.settings.unlock() root_config.settings["PORTAGE_BACKGROUND"] = "1" -- cgit v1.2.3-1-g7c22