Signed-off-by: Michał Górny <mgo...@gentoo.org> --- lib/portage/process.py | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-)
diff --git a/lib/portage/process.py b/lib/portage/process.py index 79052b608..ceb454030 100644 --- a/lib/portage/process.py +++ b/lib/portage/process.py @@ -715,7 +715,14 @@ def _exec(binary, mycommand, opt_name, fd_pipes, if unshare_net: # use 'localhost' to avoid hostname resolution problems try: - socket.sethostname('localhost') + # pypy3 does not implement socket.sethostname() + new_hostname = b'localhost' + if hasattr(socket, 'sethostname'): + socket.sethostname(new_hostname) + else: + if libc.sethostname(new_hostname, len(new_hostname)) != 0: + errno_value = ctypes.get_errno() + raise OSError(errno_value, os.strerror(errno_value)) except Exception as e: writemsg("Unable to set hostname: %s (for FEATURES=\"network-sandbox\")\n" % ( e,), -- 2.26.2