[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Bug#748903: python-tornado: FTBFS on hurd-i386



I have NMUed the proposed patch to DELAYED/0, here is the debdiff.

Samuel
diff -Nru python-tornado-3.2.2/debian/changelog python-tornado-3.2.2/debian/changelog
--- python-tornado-3.2.2/debian/changelog	2014-06-20 17:35:54.000000000 +0200
+++ python-tornado-3.2.2/debian/changelog	2014-10-25 21:28:26.000000000 +0200
@@ -1,3 +1,12 @@
+python-tornado (3.2.2-1.1) unstable; urgency=medium
+
+  * Non-Maintainer Upload.
+  * patches/sockopt.patch: New patch to ignore ENOPROTOOPT errors from
+    SO_REUSEADDR or SO_ERROR on AF_UNIX sockets, for systems which do not
+    implement them there. Thanks Svante Signell for the patch. (Closes: #748903)
+
+ -- Samuel Thibault <sthibault@debian.org>  Sat, 25 Oct 2014 21:14:45 +0200
+
 python-tornado (3.2.2-1) unstable; urgency=medium
 
   * New upstream release
diff -Nru python-tornado-3.2.2/debian/patches/series python-tornado-3.2.2/debian/patches/series
--- python-tornado-3.2.2/debian/patches/series	2014-06-20 17:35:41.000000000 +0200
+++ python-tornado-3.2.2/debian/patches/series	2014-10-25 21:25:32.000000000 +0200
@@ -3,3 +3,4 @@
 ignoreuserwarning.patch
 domain-test.patch
 skip-timing-tests.patch
+sockopt.patch
diff -Nru python-tornado-3.2.2/debian/patches/sockopt.patch python-tornado-3.2.2/debian/patches/sockopt.patch
--- python-tornado-3.2.2/debian/patches/sockopt.patch	1970-01-01 01:00:00.000000000 +0100
+++ python-tornado-3.2.2/debian/patches/sockopt.patch	2014-10-25 21:16:00.000000000 +0200
@@ -0,0 +1,38 @@
+Ignore ENOPROTOOPT errors from SO_REUSEADDR or SO_ERROR on AF_UNIX sockets, for
+systems which do not implement them there.
+
+Index: python-tornado-3.2.0/tornado/netutil.py
+===================================================================
+--- python-tornado-3.2.0.orig/tornado/netutil.py
++++ python-tornado-3.2.0/tornado/netutil.py
+@@ -119,7 +119,11 @@ if hasattr(socket, 'AF_UNIX'):
+         """
+         sock = socket.socket(socket.AF_UNIX, socket.SOCK_STREAM)
+         set_close_exec(sock.fileno())
+-        sock.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
++        try:
++            sock.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
++        except socket.error as e:
++            if e.args[0] != errno.ENOPROTOOPT:
++                raise
+         sock.setblocking(0)
+         try:
+             st = os.stat(file)
+Index: python-tornado-3.2.0/tornado/iostream.py
+===================================================================
+--- python-tornado-3.2.0.orig/tornado/iostream.py
++++ python-tornado-3.2.0/tornado/iostream.py
+@@ -748,7 +748,12 @@ class IOStream(BaseIOStream):
+         self._add_io_state(self.io_loop.WRITE)
+ 
+     def _handle_connect(self):
+-        err = self.socket.getsockopt(socket.SOL_SOCKET, socket.SO_ERROR)
++        try:
++            err = self.socket.getsockopt(socket.SOL_SOCKET, socket.SO_ERROR)
++        except socket.error as e:
++            err = e.args[0]
++            if err == errno.ENOPROTOOPT:
++                err = 0
+         if err != 0:
+             self.error = socket.error(err, os.strerror(err))
+             # IOLoop implementations may vary: some of them return

Reply to: