public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
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):


             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