aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZac Medico <zmedico@gentoo.org>2011-10-17 14:42:09 -0700
committerZac Medico <zmedico@gentoo.org>2011-10-17 14:42:09 -0700
commit58b1c71329f9d9ce0ee3a004d9ecaa8887d1dfd5 (patch)
tree5b0438cb4b6075e313dc833247cf81ba1a4022f9 /pym/portage/eclass_cache.py
parentUpdateChangeLog: use struct_passwd attributes (diff)
downloadportage-58b1c71329f9d9ce0ee3a004d9ecaa8887d1dfd5.tar.gz
portage-58b1c71329f9d9ce0ee3a004d9ecaa8887d1dfd5.tar.bz2
portage-58b1c71329f9d9ce0ee3a004d9ecaa8887d1dfd5.zip
eclass_cache: fix volatile cache DigestException
The deepcopy in catch/volatile.py misbehaved when it tried to copy attributes like __DEEPCOPY__ that didn't correspond to known functions.
Diffstat (limited to 'pym/portage/eclass_cache.py')
-rw-r--r--pym/portage/eclass_cache.py6
1 files changed, 3 insertions, 3 deletions
diff --git a/pym/portage/eclass_cache.py b/pym/portage/eclass_cache.py
index 77adcd03f..1044ad021 100644
--- a/pym/portage/eclass_cache.py
+++ b/pym/portage/eclass_cache.py
@@ -42,10 +42,10 @@ class hashed_path(object):
if not attr.islower():
# we don't care to allow .mD5 as an alias for .md5
raise AttributeError(attr)
- try:
- val = checksum.perform_checksum(self.location, attr.upper())[0]
- except KeyError:
+ hashname = attr.upper()
+ if hashname not in checksum.hashfunc_map:
raise AttributeError(attr)
+ val = checksum.perform_checksum(self.location, hashname)[0]
setattr(self, attr, val)
return val