aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTim Harder <radhermit@gmail.com>2015-02-15 16:12:02 -0800
committerTim Harder <radhermit@gmail.com>2015-02-15 22:10:11 -0800
commit6c7594df4de9f8e7fabefba9d69313530d5b9e2f (patch)
treecba2b6ad82315e20951588d3fcc87068670e8508
parentpinspect: add iuse_effective support for profile mode (diff)
downloadpkgcore-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.py2
-rw-r--r--pkgcore/ebuild/repository.py8
-rw-r--r--pkgcore/test/ebuild/test_ebuild_src.py4
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/ '})