diff options
author | Tim Harder <radhermit@gmail.com> | 2015-02-15 16:12:02 -0800 |
---|---|---|
committer | Tim Harder <radhermit@gmail.com> | 2015-02-15 22:10:11 -0800 |
commit | 6c7594df4de9f8e7fabefba9d69313530d5b9e2f (patch) | |
tree | cba2b6ad82315e20951588d3fcc87068670e8508 | |
parent | pinspect: add iuse_effective support for profile mode (diff) | |
download | pkgcore-6c7594df4de9f8e7fabefba9d69313530d5b9e2f.tar.gz pkgcore-6c7594df4de9f8e7fabefba9d69313530d5b9e2f.tar.bz2 pkgcore-6c7594df4de9f8e7fabefba9d69313530d5b9e2f.zip |
simplify iuse_effective's return value for pkg objects
-rw-r--r-- | pkgcore/ebuild/ebuild_src.py | 2 | ||||
-rw-r--r-- | pkgcore/ebuild/repository.py | 8 | ||||
-rw-r--r-- | pkgcore/test/ebuild/test_ebuild_src.py | 4 |
3 files changed, 7 insertions, 7 deletions
diff --git a/pkgcore/ebuild/ebuild_src.py b/pkgcore/ebuild/ebuild_src.py index bdb3a2e3..4d95ddfe 100644 --- a/pkgcore/ebuild/ebuild_src.py +++ b/pkgcore/ebuild/ebuild_src.py @@ -223,7 +223,7 @@ class base(metadata.package): _get_attr["eapi_obj"] = get_parsed_eapi _get_attr["iuse"] = lambda s:frozenset(imap(intern, s.data.pop("IUSE", "").split())) - _get_attr["iuse_effective"] = lambda s:s + _get_attr["iuse_effective"] = lambda s:s.iuse_stripped _get_attr["properties"] = lambda s:frozenset(imap(intern, s.data.pop("PROPERTIES", "").split())) _get_attr["defined_phases"] = lambda s:s.eapi_obj.interpret_cache_defined_phases(imap(intern, diff --git a/pkgcore/ebuild/repository.py b/pkgcore/ebuild/repository.py index d82b05d2..98df7298 100644 --- a/pkgcore/ebuild/repository.py +++ b/pkgcore/ebuild/repository.py @@ -8,7 +8,7 @@ ebuild repository, specific to gentoo ebuild trees (whether cvs or rsync) __all__ = ("tree", "slavedtree",) from functools import partial -from itertools import chain, imap, ifilterfalse +from itertools import imap, ifilterfalse import os import stat @@ -570,7 +570,7 @@ class _ConfiguredTree(configured.tree): scope_update['operations_callback'] = self._generate_pkg_operations self.config_wrappables['iuse_effective'] = partial( - self._generate_iuse_effective, domain.profile) + self._generate_iuse_effective, domain.profile.iuse_effective) configured.tree.__init__( self, raw_repo, self.config_wrappables, pkg_kls_injections=scope_update) @@ -582,8 +582,8 @@ class _ConfiguredTree(configured.tree): make_kls(InvertedContains), InvertedContains) @staticmethod - def _generate_iuse_effective(profile, pkg, *args): - return frozenset(chain.from_iterable((pkg.iuse_stripped, profile.iuse_effective))) + def _generate_iuse_effective(profile_iuse_effective, pkg_iuse_stripped, *args): + return profile_iuse_effective | pkg_iuse_stripped def _get_delayed_immutable(self, pkg, immutable): return InvertedContains(pkg.iuse.difference(immutable)) diff --git a/pkgcore/test/ebuild/test_ebuild_src.py b/pkgcore/test/ebuild/test_ebuild_src.py index 827e46bb..44840afd 100644 --- a/pkgcore/test/ebuild/test_ebuild_src.py +++ b/pkgcore/test/ebuild/test_ebuild_src.py @@ -73,8 +73,8 @@ class test_base(TestCase): self.assertEqual(sorted(o.iuse), ['build', 'foon', 'pkg']) def test_iuse_effective(self): - o = self.get_pkg({}) - self.assertEqual(o.iuse_effective, o) + o = self.get_pkg({'IUSE': 'build pkg foon'}) + self.assertEqual(o.iuse_effective, frozenset(['build', 'foon', 'pkg'])) def test_homepage(self): o = self.get_pkg({'HOMEPAGE': ' http://slashdot/ '}) |