From 09376d04b34066987d4b5b243b215ca6b1c14aed Mon Sep 17 00:00:00 2001 From: Zac Medico Date: Thu, 9 Sep 2010 16:41:01 -0700 Subject: Make Package.metadata.defined_phases return all possible phases when DEFINED_PHASES is undefined. This makes it easy to do containment checks to see if it's safe to skip execution of a given phase. --- pym/_emerge/Package.py | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/pym/_emerge/Package.py b/pym/_emerge/Package.py index 0a4f2ab7a..d0b0e4918 100644 --- a/pym/_emerge/Package.py +++ b/pym/_emerge/Package.py @@ -5,6 +5,7 @@ import sys from itertools import chain import portage from portage.cache.mappings import slot_dict_class +from portage.const import EBUILD_PHASES from portage.dep import Atom, check_required_use, use_reduce, \ paren_enclose, _slot_re from portage.eapi import eapi_has_iuse_defaults, eapi_has_required_use @@ -490,4 +491,13 @@ class _PackageMetadataWrapper(_PackageMetadataWrapperBase): @property def defined_phases(self): - return self['DEFINED_PHASES'].split() + """ + Returns tokens from DEFINED_PHASES metadata if it is defined, + otherwise returns a tuple containing all possible phases. This + makes it easy to do containment checks to see if it's safe to + skip execution of a given phase. + """ + s = self['DEFINED_PHASES'] + if s: + return s.split() + return EBUILD_PHASES -- cgit v1.2.3-1-g7c22