From: Zac Medico Date: Mon, 17 Oct 2011 21:42:09 +0000 (-0700) Subject: eclass_cache: fix volatile cache DigestException X-Git-Tag: v2.2.0_alpha69~7 X-Git-Url: http://git.tremily.us/?a=commitdiff_plain;h=58b1c71329f9d9ce0ee3a004d9ecaa8887d1dfd5;p=portage.git 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. --- 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