summaryrefslogtreecommitdiffstats
path: root/pym
diff options
context:
space:
mode:
authorZac Medico <zmedico@gentoo.org>2010-08-26 17:07:38 -0700
committerZac Medico <zmedico@gentoo.org>2010-08-26 17:07:38 -0700
commit397cc5a82580e67284fd83835deddbc63f4a833f (patch)
tree1dd3c1306af754511b834bd7719e46527f154c1b /pym
parentada7f4f6f009d2eab5d98e5e6f284a80738bb55b (diff)
downloadportage-397cc5a82580e67284fd83835deddbc63f4a833f.tar.gz
portage-397cc5a82580e67284fd83835deddbc63f4a833f.tar.bz2
portage-397cc5a82580e67284fd83835deddbc63f4a833f.zip
Use frozenset for config.usemask and useforce attributes, so there's
no need to copy them during clone operations. Also, there's no need to copy config.puse since its an immutable string.
Diffstat (limited to 'pym')
-rw-r--r--pym/portage/package/ebuild/_config/UseManager.py8
-rw-r--r--pym/portage/package/ebuild/config.py7
2 files changed, 7 insertions, 8 deletions
diff --git a/pym/portage/package/ebuild/_config/UseManager.py b/pym/portage/package/ebuild/_config/UseManager.py
index b33e10a9d..9a3038bda 100644
--- a/pym/portage/package/ebuild/_config/UseManager.py
+++ b/pym/portage/package/ebuild/_config/UseManager.py
@@ -76,7 +76,7 @@ class UseManager(object):
def getUseMask(self, pkg=None):
if pkg is None:
- return set(stack_lists(
+ return frozenset(stack_lists(
self._usemask_list, incremental=True))
cp = getattr(pkg, "cp", None)
@@ -91,11 +91,11 @@ class UseManager(object):
pkg_usemask = ordered_by_atom_specificity(cpdict, pkg)
if pkg_usemask:
usemask.extend(pkg_usemask)
- return set(stack_lists(usemask, incremental=True))
+ return frozenset(stack_lists(usemask, incremental=True))
def getUseForce(self, pkg=None):
if pkg is None:
- return set(stack_lists(
+ return frozenset(stack_lists(
self._useforce_list, incremental=True))
cp = getattr(pkg, "cp", None)
@@ -110,7 +110,7 @@ class UseManager(object):
pkg_useforce = ordered_by_atom_specificity(cpdict, pkg)
if pkg_useforce:
useforce.extend(pkg_useforce)
- return set(stack_lists(useforce, incremental=True))
+ return frozenset(stack_lists(useforce, incremental=True))
def getPUSE(self, pkg):
cp = getattr(pkg, "cp", None)
diff --git a/pym/portage/package/ebuild/config.py b/pym/portage/package/ebuild/config.py
index 408f10649..eba8d77e0 100644
--- a/pym/portage/package/ebuild/config.py
+++ b/pym/portage/package/ebuild/config.py
@@ -403,6 +403,9 @@ class config(object):
self.packages = clone.packages
self._iuse_implicit_match = clone._iuse_implicit_match
self._non_user_variables = clone._non_user_variables
+ self.usemask = clone.usemask
+ self.useforce = clone.useforce
+ self.puse = clone.puse
self.user_profile_dir = copy.deepcopy(clone.user_profile_dir)
self.local_config = copy.deepcopy(clone.local_config)
@@ -417,10 +420,6 @@ class config(object):
self.userVirtuals = copy.deepcopy(clone.userVirtuals)
self.negVirtuals = copy.deepcopy(clone.negVirtuals)
self._depgraphVirtuals = copy.deepcopy(clone._depgraphVirtuals)
-
- self.usemask = copy.deepcopy(clone.usemask)
- self.useforce = copy.deepcopy(clone.useforce)
- self.puse = copy.deepcopy(clone.puse)
self._penv = copy.deepcopy(clone._penv)
self.make_defaults_use = copy.deepcopy(clone.make_defaults_use)
self.mycpv = copy.deepcopy(clone.mycpv)