From: "Zac Medico" <zmedico@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] proj/portage:master commit in: pym/_emerge/resolver/, pym/_emerge/
Date: Mon, 10 Dec 2012 00:26:25 +0000 (UTC) [thread overview]
Message-ID: <1355099174.ecae0c4fc46d6bc8054104a99af90bc45d4e7429.zmedico@gentoo> (raw)
commit: ecae0c4fc46d6bc8054104a99af90bc45d4e7429
Author: Zac Medico <zmedico <AT> gentoo <DOT> org>
AuthorDate: Mon Dec 10 00:26:14 2012 +0000
Commit: Zac Medico <zmedico <AT> gentoo <DOT> org>
CommitDate: Mon Dec 10 00:26:14 2012 +0000
URL: http://git.overlays.gentoo.org/gitweb/?p=proj/portage.git;a=commit;h=ecae0c4f
get_real_flag: handls use-dep default bug #446666
---
pym/_emerge/Package.py | 7 +++++--
pym/_emerge/depgraph.py | 3 +++
pym/_emerge/resolver/slot_collision.py | 3 +++
3 files changed, 11 insertions(+), 2 deletions(-)
diff --git a/pym/_emerge/Package.py b/pym/_emerge/Package.py
index 86ed5f7..e19b784 100644
--- a/pym/_emerge/Package.py
+++ b/pym/_emerge/Package.py
@@ -642,6 +642,10 @@ class Package(Task):
return missing_iuse
def get_real_flag(self, flag):
+ """
+ Returns the flag's name within the scope of this package
+ (accounting for aliases), or None if the flag is unknown.
+ """
if flag in self.all:
return flag
elif flag in self.all_aliases:
@@ -649,8 +653,7 @@ class Package(Task):
if flag in v:
return k
else:
- raise ValueError("'%s' flag is not in IUSE and is not an alias of any flag in IUSE of '%s::%s'" %
- (flag, self._pkg.cpv, self._pkg.repo))
+ return None
def __len__(self):
return 4
diff --git a/pym/_emerge/depgraph.py b/pym/_emerge/depgraph.py
index 568a116..3cd44dd 100644
--- a/pym/_emerge/depgraph.py
+++ b/pym/_emerge/depgraph.py
@@ -4109,6 +4109,9 @@ class depgraph(object):
for flag, state in target_use.items():
real_flag = pkg.iuse.get_real_flag(flag)
+ if real_flag is None:
+ # Triggered by use-dep defaults.
+ continue
if state:
if real_flag not in old_use:
if new_changes.get(real_flag) == False:
diff --git a/pym/_emerge/resolver/slot_collision.py b/pym/_emerge/resolver/slot_collision.py
index e04166b..8b2f4b8 100644
--- a/pym/_emerge/resolver/slot_collision.py
+++ b/pym/_emerge/resolver/slot_collision.py
@@ -226,6 +226,9 @@ class slot_conflict_handler(object):
for pkg in solution:
for flag, state in solution[pkg].items():
real_flag = pkg.iuse.get_real_flag(flag)
+ if real_flag is None:
+ # Triggered by use-dep defaults.
+ continue
if state == "enabled" and flag not in _pkg_use_enabled(pkg):
new_change.setdefault(pkg, {})[real_flag] = True
elif state == "disabled" and flag in _pkg_use_enabled(pkg):
next reply other threads:[~2012-12-10 0:26 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-12-10 0:26 Zac Medico [this message]
-- strict thread matches above, loose matches on Subject: below --
2017-10-04 18:32 [gentoo-commits] proj/portage:master commit in: pym/_emerge/resolver/, pym/_emerge/ Zac Medico
2014-02-05 19:42 Sebastian Luther
2014-02-05 19:42 Sebastian Luther
2013-06-01 0:17 Zac Medico
2012-11-27 5:34 Zac Medico
2012-09-26 4:11 Zac Medico
2012-06-23 6:28 Zac Medico
2012-06-19 21:27 Zac Medico
2012-01-20 23:44 Arfrever Frehtes Taifersar Arahesis
2011-12-19 20:44 Zac Medico
2011-12-18 2:07 Arfrever Frehtes Taifersar Arahesis
2011-07-09 22:55 Zac Medico
2011-06-27 0:18 Zac Medico
2011-06-21 7:58 Zac Medico
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1355099174.ecae0c4fc46d6bc8054104a99af90bc45d4e7429.zmedico@gentoo \
--to=zmedico@gentoo.org \
--cc=gentoo-commits@lists.gentoo.org \
--cc=gentoo-dev@lists.gentoo.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox