summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorZac Medico <zmedico@gentoo.org>2010-08-21 07:18:47 -0700
committerZac Medico <zmedico@gentoo.org>2010-08-21 07:18:47 -0700
commit99832a79bff002a7494c4fb31701451c13a5a435 (patch)
treed8cf101d1432dc06fd1435499c524255e81c5658
parent9f3302417c6f1f6a06d5ae13d2e5c2df71502f4b (diff)
downloadportage-99832a79bff002a7494c4fb31701451c13a5a435.tar.gz
portage-99832a79bff002a7494c4fb31701451c13a5a435.tar.bz2
portage-99832a79bff002a7494c4fb31701451c13a5a435.zip
When accessing pkgsettings.features inside Scheduler._generate_digests(),
ensure that we are using global features settings rather than those from package.env.
-rw-r--r--pym/_emerge/Scheduler.py8
1 files changed, 8 insertions, 0 deletions
diff --git a/pym/_emerge/Scheduler.py b/pym/_emerge/Scheduler.py
index 2a052af4c..1c732c309 100644
--- a/pym/_emerge/Scheduler.py
+++ b/pym/_emerge/Scheduler.py
@@ -648,6 +648,10 @@ class Scheduler(PollScheduler):
digest = '--digest' in self.myopts
if not digest:
for pkgsettings in self.pkgsettings.values():
+ if pkgsettings.mycpv is not None:
+ # ensure that we are using global features
+ # settings rather than those from package.env
+ pkgsettings.reset()
if 'digest' in pkgsettings.features:
digest = True
break
@@ -661,6 +665,10 @@ class Scheduler(PollScheduler):
x.operation != 'merge':
continue
pkgsettings = self.pkgsettings[x.root]
+ if pkgsettings.mycpv is not None:
+ # ensure that we are using global features
+ # settings rather than those from package.env
+ pkgsettings.reset()
if '--digest' not in self.myopts and \
'digest' not in pkgsettings.features:
continue