aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'lib/portage/dep/soname/SonameAtom.py')
-rw-r--r--lib/portage/dep/soname/SonameAtom.py15
1 files changed, 7 insertions, 8 deletions
diff --git a/lib/portage/dep/soname/SonameAtom.py b/lib/portage/dep/soname/SonameAtom.py
index 2308b31fd..421ab3f5a 100644
--- a/lib/portage/dep/soname/SonameAtom.py
+++ b/lib/portage/dep/soname/SonameAtom.py
@@ -3,7 +3,6 @@
class SonameAtom:
-
__slots__ = ("multilib_category", "soname", "_hash_key", "_hash_value")
# Distiguishes package atoms from other atom types
@@ -21,11 +20,15 @@ class SonameAtom:
)
def __getstate__(self):
- return dict((k, getattr(self, k)) for k in self.__slots__)
+ state = {k: getattr(self, k) for k in self.__slots__}
+ # hash() results are not meaningfully picklable.
+ state["_hash_value"] = None
+ return state
def __setstate__(self, state):
for k, v in state.items():
object.__setattr__(self, k, v)
+ object.__setattr__(self, "_hash_value", hash(self._hash_key))
def __hash__(self):
return self._hash_value
@@ -43,14 +46,10 @@ class SonameAtom:
return True
def __repr__(self):
- return "%s('%s', '%s')" % (
- self.__class__.__name__,
- self.multilib_category,
- self.soname,
- )
+ return f"{self.__class__.__name__}('{self.multilib_category}', '{self.soname}')"
def __str__(self):
- return "%s: %s" % (self.multilib_category, self.soname)
+ return f"{self.multilib_category}: {self.soname}"
def match(self, pkg):
"""