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 <sthiba...@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