summaryrefslogtreecommitdiffstats
path: root/pym/_emerge/MiscFunctionsProcess.py
diff options
context:
space:
mode:
authorZac Medico <zmedico@gentoo.org>2012-01-14 07:29:08 -0800
committerZac Medico <zmedico@gentoo.org>2012-01-14 07:29:08 -0800
commit93b654199a32fc3df1299b030317720b9294b0c3 (patch)
tree8f29a7005ac7ff28f0132b7f2cb59c8f017a359a /pym/_emerge/MiscFunctionsProcess.py
parentc978b14d9a400c30616f27b63d8aa2d6d0522c0f (diff)
downloadportage-93b654199a32fc3df1299b030317720b9294b0c3.tar.gz
portage-93b654199a32fc3df1299b030317720b9294b0c3.tar.bz2
portage-93b654199a32fc3df1299b030317720b9294b0c3.zip
Apply INSTALL_MASK prior to collision-protect.
It may be useful to avoid collisions in some scenarios.
Diffstat (limited to 'pym/_emerge/MiscFunctionsProcess.py')
-rw-r--r--pym/_emerge/MiscFunctionsProcess.py10
1 files changed, 8 insertions, 2 deletions
diff --git a/pym/_emerge/MiscFunctionsProcess.py b/pym/_emerge/MiscFunctionsProcess.py
index ce0ab1432..afa44fb2a 100644
--- a/pym/_emerge/MiscFunctionsProcess.py
+++ b/pym/_emerge/MiscFunctionsProcess.py
@@ -29,5 +29,11 @@ class MiscFunctionsProcess(AbstractEbuildProcess):
AbstractEbuildProcess._start(self)
def _spawn(self, args, **kwargs):
- self.settings.pop("EBUILD_PHASE", None)
- return spawn(" ".join(args), self.settings, **kwargs)
+ # Temporarily unset EBUILD_PHASE so that bashrc code doesn't
+ # think this is a real phase.
+ phase_backup = self.settings.pop("EBUILD_PHASE", None)
+ try:
+ return spawn(" ".join(args), self.settings, **kwargs)
+ finally:
+ if phase_backup is not None:
+ self.settings["EBUILD_PHASE"] = phase_backup