Bug#748903: python-tornado: FTBFS on hurd-i386
Source: python-tornado
Version: 3.2.0-1
Severity: important
Tags: patch
User: debian-hurd@lists.debian.org
Usertags: hurd
Hi,
Currently python-tornado fails to build from source on GNU/Hurd due to
two failed tests: test_unix_socket and test_unix_socket_bad_request.
The attached patch fixes these failures by not using the options
SO_REUSEADDR for setsockopt in tornado/netutil.py and SO_ERROR for
getsockopt in tornado/iostream.py since they are not yet implemented.
With the patch all 739 tests, with 76 skipped, in the testsuite
pass and they are a requisite for the package to build.
Thanks!
--- a/tornado_netutil.py 2014-01-09 03:57:56.000000000 +0100
+++ b/tornado/netutil.py 2014-05-21 17:38:42.000000000 +0200
@@ -20,6 +20,7 @@
import errno
import os
+import sys
import socket
import ssl
import stat
@@ -119,7 +120,8 @@
"""
sock = socket.socket(socket.AF_UNIX, socket.SOCK_STREAM)
set_close_exec(sock.fileno())
- sock.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
+ if sys.platform != 'gnu0':
+ sock.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
sock.setblocking(0)
try:
st = os.stat(file)
--- a/tornado/iostream.py 2014-01-04 17:51:39.000000000 +0100
+++ b/tornado/iostream.py 2014-05-21 18:42:37.000000000 +0200
@@ -687,9 +687,12 @@
self.socket = None
def get_fd_error(self):
- errno = self.socket.getsockopt(socket.SOL_SOCKET,
- socket.SO_ERROR)
- return socket.error(errno, os.strerror(errno))
+ if sys.platform != 'gnu0':
+ errno = self.socket.getsockopt(socket.SOL_SOCKET,
+ socket.SO_ERROR)
+ return socket.error(errno, os.strerror(errno))
+ else:
+ return None
def read_from_fd(self):
try:
@@ -748,7 +751,10 @@
self._add_io_state(self.io_loop.WRITE)
def _handle_connect(self):
- err = self.socket.getsockopt(socket.SOL_SOCKET, socket.SO_ERROR)
+ if sys.platform != 'gnu0':
+ err = self.socket.getsockopt(socket.SOL_SOCKET, socket.SO_ERROR)
+ else:
+ err = 0
if err != 0:
self.error = socket.error(err, os.strerror(err))
# IOLoop implementations may vary: some of them return
Reply to: