Move EAPI check for stable USE forcing and masking to portage.eapi module.
authorArfrever Frehtes Taifersar Arahesis <Arfrever@Apache.Org>
Fri, 21 Sep 2012 03:23:47 +0000 (05:23 +0200)
committerArfrever Frehtes Taifersar Arahesis <Arfrever@Apache.Org>
Fri, 21 Sep 2012 03:23:47 +0000 (05:23 +0200)
pym/portage/eapi.py
pym/portage/package/ebuild/_config/UseManager.py

index 84d1afc89cf164aacaae3731f1e78d32f3b10c88..4efd4eac1094b4cbcab8a1254bc586512ee232e6 100644 (file)
@@ -77,6 +77,9 @@ def eapi_allows_dots_in_PN(eapi):
 def eapi_allows_dots_in_use_flags(eapi):
        return eapi in ("4-python",)
 
+def eapi_supports_stable_use_forcing_and_masking(eapi):
+       return eapi not in ("0", "1", "2", "3", "4", "4-python", "4-slot-abi")
+
 _eapi_attrs = collections.namedtuple('_eapi_attrs',
        'dots_in_PN dots_in_use_flags exports_EBUILD_PHASE_FUNC '
        'iuse_defaults iuse_effective '
index a359e00b7ba7ef560eadf310d33292f2ca0546da..bff2a7105de76b47277671e4dce8225f6d2b2927 100644 (file)
@@ -8,15 +8,13 @@ __all__ = (
 from _emerge.Package import Package
 from portage import os
 from portage.dep import dep_getrepo, dep_getslot, ExtendedAtomDict, remove_slot, _get_useflag_re
+from portage.eapi import eapi_supports_stable_use_forcing_and_masking
 from portage.localization import _
 from portage.util import grabfile, grabdict_package, read_corresponding_eapi_file, stack_lists, writemsg
 from portage.versions import _pkg_str
 
 from portage.package.ebuild._config.helper import ordered_by_atom_specificity
 
-_no_stable_mask_eapis = frozenset(
-       ["0", "1", "2", "3", "4", "4-python", "4-slot-abi"])
-
 class UseManager(object):
 
        def __init__(self, repositories, profiles, abs_user_config, user_config=True):
@@ -63,47 +61,43 @@ class UseManager(object):
                self._repo_usemask_dict = self._parse_repository_files_to_dict_of_tuples("use.mask", repositories)
                self._repo_usestablemask_dict = \
                        self._parse_repository_files_to_dict_of_tuples("use.stable.mask",
-                               repositories, eapi_filter=self._stable_mask_eapi_filter)
+                               repositories, eapi_filter=eapi_supports_stable_use_forcing_and_masking)
                self._repo_useforce_dict = self._parse_repository_files_to_dict_of_tuples("use.force", repositories)
                self._repo_usestableforce_dict = \
                        self._parse_repository_files_to_dict_of_tuples("use.stable.force",
-                               repositories, eapi_filter=self._stable_mask_eapi_filter)
+                               repositories, eapi_filter=eapi_supports_stable_use_forcing_and_masking)
                self._repo_pusemask_dict = self._parse_repository_files_to_dict_of_dicts("package.use.mask", repositories)
                self._repo_pusestablemask_dict = \
                        self._parse_repository_files_to_dict_of_dicts("package.use.stable.mask",
-                               repositories, eapi_filter=self._stable_mask_eapi_filter)
+                               repositories, eapi_filter=eapi_supports_stable_use_forcing_and_masking)
                self._repo_puseforce_dict = self._parse_repository_files_to_dict_of_dicts("package.use.force", repositories)
                self._repo_pusestableforce_dict = \
                        self._parse_repository_files_to_dict_of_dicts("package.use.stable.force",
-                               repositories, eapi_filter=self._stable_mask_eapi_filter)
+                               repositories, eapi_filter=eapi_supports_stable_use_forcing_and_masking)
                self._repo_puse_dict = self._parse_repository_files_to_dict_of_dicts("package.use", repositories)
 
                self._usemask_list = self._parse_profile_files_to_tuple_of_tuples("use.mask", profiles)
                self._usestablemask_list = \
                        self._parse_profile_files_to_tuple_of_tuples("use.stable.mask",
-                               profiles, eapi_filter=self._stable_mask_eapi_filter)
+                               profiles, eapi_filter=eapi_supports_stable_use_forcing_and_masking)
                self._useforce_list = self._parse_profile_files_to_tuple_of_tuples("use.force", profiles)
                self._usestableforce_list = \
                        self._parse_profile_files_to_tuple_of_tuples("use.stable.force",
-                               profiles, eapi_filter=self._stable_mask_eapi_filter)
+                               profiles, eapi_filter=eapi_supports_stable_use_forcing_and_masking)
                self._pusemask_list = self._parse_profile_files_to_tuple_of_dicts("package.use.mask", profiles)
                self._pusestablemask_list = \
                        self._parse_profile_files_to_tuple_of_dicts("package.use.stable.mask",
-                               profiles, eapi_filter=self._stable_mask_eapi_filter)
+                               profiles, eapi_filter=eapi_supports_stable_use_forcing_and_masking)
                self._pkgprofileuse = self._parse_profile_files_to_tuple_of_dicts("package.use", profiles, juststrings=True)
                self._puseforce_list = self._parse_profile_files_to_tuple_of_dicts("package.use.force", profiles)
                self._pusestableforce_list = \
                        self._parse_profile_files_to_tuple_of_dicts("package.use.stable.force",
-                               profiles, eapi_filter=self._stable_mask_eapi_filter)
+                               profiles, eapi_filter=eapi_supports_stable_use_forcing_and_masking)
 
                self._pusedict = self._parse_user_files_to_extatomdict("package.use", abs_user_config, user_config)
 
                self.repositories = repositories
 
-       @staticmethod
-       def _stable_mask_eapi_filter(eapi):
-               return eapi not in _no_stable_mask_eapis
-
        def _parse_file_to_tuple(self, file_name, recursive=True, eapi_filter=None):
                ret = []
                lines = grabfile(file_name, recursive=recursive)