From a4976af2dc54db01a0c094e021ed8a776969c878 Mon Sep 17 00:00:00 2001 From: Zac Medico Date: Tue, 30 Nov 2010 16:46:52 -0800 Subject: fix AttributeError in recent use dep changes --- pym/portage/dbapi/__init__.py | 4 +++- pym/portage/dep/__init__.py | 36 +++++++++++++++++++----------------- 2 files changed, 22 insertions(+), 18 deletions(-) diff --git a/pym/portage/dbapi/__init__.py b/pym/portage/dbapi/__init__.py index 4534cc731..94fbc47b0 100644 --- a/pym/portage/dbapi/__init__.py +++ b/pym/portage/dbapi/__init__.py @@ -171,7 +171,9 @@ class dbapi(object): break if missing_iuse: continue - if not self._use_mutable: + if not atom.use: + pass + elif not self._use_mutable: missing_enabled = atom.use.missing_enabled.difference(iuse) missing_disabled = atom.use.missing_disabled.difference(iuse) diff --git a/pym/portage/dep/__init__.py b/pym/portage/dep/__init__.py index baf0fc3fc..1f956e39b 100644 --- a/pym/portage/dep/__init__.py +++ b/pym/portage/dep/__init__.py @@ -1936,26 +1936,28 @@ def match_from_list(mydep, candidate_list): mydep.unevaluated_atom.use.required): continue - missing_enabled = mydep.use.missing_enabled.difference(x.iuse.all) - missing_disabled = mydep.use.missing_disabled.difference(x.iuse.all) - - if mydep.use.enabled: - if mydep.use.enabled.intersection(missing_disabled): - continue - need_enabled = mydep.use.enabled.difference(use.enabled) - if need_enabled: - need_enabled = need_enabled.difference(missing_enabled) - if need_enabled: + if mydep.use: + + missing_enabled = mydep.use.missing_enabled.difference(x.iuse.all) + missing_disabled = mydep.use.missing_disabled.difference(x.iuse.all) + + if mydep.use.enabled: + if mydep.use.enabled.intersection(missing_disabled): continue + need_enabled = mydep.use.enabled.difference(use.enabled) + if need_enabled: + need_enabled = need_enabled.difference(missing_enabled) + if need_enabled: + continue - if mydep.use.disabled: - if mydep.use.disabled.intersection(missing_enabled): - continue - need_disabled = mydep.use.disabled.intersection(use.enabled) - if need_disabled: - need_disabled = need_disabled.difference(missing_disabled) - if need_disabled: + if mydep.use.disabled: + if mydep.use.disabled.intersection(missing_enabled): continue + need_disabled = mydep.use.disabled.intersection(use.enabled) + if need_disabled: + need_disabled = need_disabled.difference(missing_disabled) + if need_disabled: + continue mylist.append(x) -- cgit v1.2.3-1-g7c22