From cd301b1c4e67e86a01cc37c182cb3ca31498be3f Mon Sep 17 00:00:00 2001 From: Ralph Bean Date: Apr 11 2013 05:06:03 +0000 Subject: Latest upstream. --- diff --git a/.gitignore b/.gitignore index 8bde7cd..244f04b 100644 --- a/.gitignore +++ b/.gitignore @@ -2,3 +2,4 @@ /txZMQ-0.5.0.tar.gz /txZMQ-0.5.2.tar.gz /txZMQ-0.6.1.tar.gz +/txZMQ-0.6.2.tar.gz diff --git a/0001-Disable-epgm-test.patch b/0001-Disable-epgm-test.patch index 62e2535..c7eaf76 100644 --- a/0001-Disable-epgm-test.patch +++ b/0001-Disable-epgm-test.patch @@ -1,17 +1,17 @@ -From 8bef48b1cdace5ada6a3bd65a4892399d1dfc983 Mon Sep 17 00:00:00 2001 +From d26b799ace81fcdc00589d9242e3a84aa05452a4 Mon Sep 17 00:00:00 2001 From: Ralph Bean -Date: Mon, 29 Oct 2012 10:36:33 -0400 -Subject: [PATCH 1/6] Disable epgm test +Date: Thu, 11 Apr 2013 01:01:57 -0400 +Subject: [PATCH 1/2] Disable epgm test --- txzmq/test/test_pubsub.py | 42 ------------------------------------------ 1 file changed, 42 deletions(-) diff --git a/txzmq/test/test_pubsub.py b/txzmq/test/test_pubsub.py -index 04ef4f0..b118a59 100644 +index 2010c01..df4f797 100644 --- a/txzmq/test/test_pubsub.py +++ b/txzmq/test/test_pubsub.py -@@ -17,23 +17,6 @@ class ZmqTestSubConnection(ZmqSubConnection): +@@ -23,23 +23,6 @@ class ZmqTestSubConnection(ZmqSubConnection): self.messages.append([tag, message]) @@ -28,14 +28,14 @@ index 04ef4f0..b118a59 100644 - socket.bind("epgm://127.0.0.1;239.192.1.1:5557") - - return True -- except zmq.core.error.ZMQError: +- except ZMQError: - return False - - class ZmqConnectionTestCase(unittest.TestCase): """ Test case for L{zmq.twisted.connection.Connection}. -@@ -79,28 +62,6 @@ class ZmqConnectionTestCase(unittest.TestCase): +@@ -85,28 +68,6 @@ class ZmqConnectionTestCase(unittest.TestCase): return _wait(0.01).addCallback(publish) \ .addCallback(lambda _: _wait(0.01)).addCallback(check) @@ -64,7 +64,7 @@ index 04ef4f0..b118a59 100644 def test_send_recv_multiple_endpoints(self): r = ZmqTestSubConnection( self.factory, -@@ -128,6 +89,3 @@ class ZmqConnectionTestCase(unittest.TestCase): +@@ -134,6 +95,3 @@ class ZmqConnectionTestCase(unittest.TestCase): return _wait(0.1).addCallback(publish) \ .addCallback(lambda _: _wait(0.1)).addCallback(check) diff --git a/0002-Support-older-pyzmq.patch b/0002-Support-older-pyzmq.patch index 2998337..ea9cc0a 100644 --- a/0002-Support-older-pyzmq.patch +++ b/0002-Support-older-pyzmq.patch @@ -1,25 +1,25 @@ -From 07ae0ab26875d690ba43e924caf3634194a8ec8d Mon Sep 17 00:00:00 2001 +From acef71366d932797a50ee787ef8463f0ca385315 Mon Sep 17 00:00:00 2001 From: Ralph Bean -Date: Mon, 29 Oct 2012 11:20:01 -0400 -Subject: [PATCH 2/6] Support older pyzmq. +Date: Thu, 11 Apr 2013 01:02:53 -0400 +Subject: [PATCH 2/2] Support older pyzmq. --- txzmq/connection.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/txzmq/connection.py b/txzmq/connection.py -index 0458758..827e0b3 100644 +index 11039fb..75c44a3 100644 --- a/txzmq/connection.py +++ b/txzmq/connection.py -@@ -16,7 +16,7 @@ from twisted.python import log +@@ -18,7 +18,7 @@ PYZMQ13 = False try: from zmq.core import version - ZMQ3 = version.zmq_version_info()[0] >= 3 + ZMQ3 = int(version.zmq_version().split('.')[0]) >= 3 except ImportError: - ZMQ3 = False - + try: + # In pyzmq-13.0.0, this moved again. -- 1.8.1.4 diff --git a/0003-Allow-the-user-to-set-TCP-keepalive-options.patch b/0003-Allow-the-user-to-set-TCP-keepalive-options.patch deleted file mode 100644 index 83f23cd..0000000 --- a/0003-Allow-the-user-to-set-TCP-keepalive-options.patch +++ /dev/null @@ -1,46 +0,0 @@ -From 36d9a9a03e3dc1a2a3742806c77a409a7c5d246c Mon Sep 17 00:00:00 2001 -From: Ralph Bean -Date: Wed, 5 Dec 2012 10:47:14 -0500 -Subject: [PATCH 3/6] Allow the user to set TCP keepalive options. - ---- - txzmq/connection.py | 16 ++++++++++++++++ - 1 file changed, 16 insertions(+) - -diff --git a/txzmq/connection.py b/txzmq/connection.py -index 827e0b3..4cd9555 100644 ---- a/txzmq/connection.py -+++ b/txzmq/connection.py -@@ -63,6 +63,12 @@ class ZmqConnection(object): - multicastRate = 100 - highWaterMark = 0 - -+ # Only supported by zeromq3 and pyzmq>=2.2.0.1 -+ tcpKeepalive = 0 -+ tcpKeepaliveCount = 0 -+ tcpKeepaliveIdle = 0 -+ tcpKeepaliveInterval = 0 -+ - def __init__(self, factory, endpoint=None, identity=None): - """ - Constructor. -@@ -100,6 +106,16 @@ class ZmqConnection(object): - self.socket.setsockopt(constants.SNDHWM, self.highWaterMark) - self.socket.setsockopt(constants.RCVHWM, self.highWaterMark) - -+ if ZMQ3 and self.tcpKeepalive: -+ self.socket.setsockopt( -+ constants.TCP_KEEPALIVE, self.tcpKeepalive) -+ self.socket.setsockopt( -+ constants.TCP_KEEPALIVE_CNT, self.tcpKeepaliveCount) -+ self.socket.setsockopt( -+ constants.TCP_KEEPALIVE_IDLE, self.tcpKeepaliveIdle) -+ self.socket.setsockopt( -+ constants.TCP_KEEPALIVE_INTVL, self.tcpKeepaliveInterval) -+ - if self.identity is not None: - self.socket.setsockopt(constants.IDENTITY, self.identity) - --- -1.8.1.4 - diff --git a/0004-replaced-calls-to-setsockopt-getsockopt-with-set-get.patch b/0004-replaced-calls-to-setsockopt-getsockopt-with-set-get.patch deleted file mode 100644 index bd2f6f3..0000000 --- a/0004-replaced-calls-to-setsockopt-getsockopt-with-set-get.patch +++ /dev/null @@ -1,106 +0,0 @@ -From 94ab20321026cc1051a9c19484cb1c3b5bace0bc Mon Sep 17 00:00:00 2001 -From: Alexander Else -Date: Mon, 18 Mar 2013 12:17:29 +1100 -Subject: [PATCH 4/6] replaced calls to setsockopt/getsockopt with set/get - -Relates to txZMQ issue #39. - -Fix bug introduced by api changes to pyzmq (core/socket.pyx). ---- - txzmq/connection.py | 28 ++++++++++++++-------------- - txzmq/pubsub.py | 4 ++-- - 2 files changed, 16 insertions(+), 16 deletions(-) - -diff --git a/txzmq/connection.py b/txzmq/connection.py -index 4cd9555..fbfb1be 100644 ---- a/txzmq/connection.py -+++ b/txzmq/connection.py -@@ -91,33 +91,33 @@ class ZmqConnection(object): - self.recv_parts = [] - self.read_scheduled = None - -- self.fd = self.socket.getsockopt(constants.FD) -- self.socket.setsockopt(constants.LINGER, factory.lingerPeriod) -+ self.fd = self.socket.get(constants.FD) -+ self.socket.set(constants.LINGER, factory.lingerPeriod) - - if not ZMQ3: -- self.socket.setsockopt( -+ self.socket.set( - constants.MCAST_LOOP, int(self.allowLoopbackMulticast)) - -- self.socket.setsockopt(constants.RATE, self.multicastRate) -+ self.socket.set(constants.RATE, self.multicastRate) - - if not ZMQ3: -- self.socket.setsockopt(constants.HWM, self.highWaterMark) -+ self.socket.set(constants.HWM, self.highWaterMark) - else: -- self.socket.setsockopt(constants.SNDHWM, self.highWaterMark) -- self.socket.setsockopt(constants.RCVHWM, self.highWaterMark) -+ self.socket.set(constants.SNDHWM, self.highWaterMark) -+ self.socket.set(constants.RCVHWM, self.highWaterMark) - - if ZMQ3 and self.tcpKeepalive: -- self.socket.setsockopt( -+ self.socket.set( - constants.TCP_KEEPALIVE, self.tcpKeepalive) -- self.socket.setsockopt( -+ self.socket.set( - constants.TCP_KEEPALIVE_CNT, self.tcpKeepaliveCount) -- self.socket.setsockopt( -+ self.socket.set( - constants.TCP_KEEPALIVE_IDLE, self.tcpKeepaliveIdle) -- self.socket.setsockopt( -+ self.socket.set( - constants.TCP_KEEPALIVE_INTVL, self.tcpKeepaliveInterval) - - if self.identity is not None: -- self.socket.setsockopt(constants.IDENTITY, self.identity) -+ self.socket.set(constants.IDENTITY, self.identity) - - if endpoint: - self.addEndpoints([endpoint]) -@@ -194,7 +194,7 @@ class ZmqConnection(object): - """ - while True: - self.recv_parts.append(self.socket.recv(constants.NOBLOCK)) -- if not self.socket.getsockopt(constants.RCVMORE): -+ if not self.socket.get(constants.RCVMORE): - result, self.recv_parts = self.recv_parts, [] - - return result -@@ -217,7 +217,7 @@ class ZmqConnection(object): - if self.factory is None: # disconnected - return - -- events = self.socket.getsockopt(constants.EVENTS) -+ events = self.socket.get(constants.EVENTS) - - if (events & constants.POLLIN) != constants.POLLIN: - return -diff --git a/txzmq/pubsub.py b/txzmq/pubsub.py -index 10c654f..8a6a7fc 100644 ---- a/txzmq/pubsub.py -+++ b/txzmq/pubsub.py -@@ -37,7 +37,7 @@ class ZmqSubConnection(ZmqConnection): - @param tag: message tag - @type tag: C{str} - """ -- self.socket.setsockopt(constants.SUBSCRIBE, tag) -+ self.socket.set(constants.SUBSCRIBE, tag) - - def unsubscribe(self, tag): - """ -@@ -46,7 +46,7 @@ class ZmqSubConnection(ZmqConnection): - @param tag: message tag - @type tag: C{str} - """ -- self.socket.setsockopt(constants.UNSUBSCRIBE, tag) -+ self.socket.set(constants.UNSUBSCRIBE, tag) - - def messageReceived(self, message): - """ --- -1.8.1.4 - diff --git a/0005-Double-compat-checking-ridiculous.patch b/0005-Double-compat-checking-ridiculous.patch deleted file mode 100644 index 77da24f..0000000 --- a/0005-Double-compat-checking-ridiculous.patch +++ /dev/null @@ -1,30 +0,0 @@ -From 0be4152e7ed7aaa841d293cbab252babc5df11a3 Mon Sep 17 00:00:00 2001 -From: Ralph Bean -Date: Tue, 26 Mar 2013 23:17:34 -0400 -Subject: [PATCH 5/6] Double compat checking (ridiculous!) - ---- - txzmq/connection.py | 7 ++++++- - 1 file changed, 6 insertions(+), 1 deletion(-) - -diff --git a/txzmq/connection.py b/txzmq/connection.py -index fbfb1be..1d73d32 100644 ---- a/txzmq/connection.py -+++ b/txzmq/connection.py -@@ -18,7 +18,12 @@ try: - - ZMQ3 = int(version.zmq_version().split('.')[0]) >= 3 - except ImportError: -- ZMQ3 = False -+ try: -+ # In pyzmq-13.0.0, this moved again. -+ from zmq.core import zmq_version_info -+ ZMQ3 = zmq_version_info()[0] >= 3 -+ except ImportError: -+ ZMQ3 = False - - - class ZmqEndpointType(object): --- -1.8.1.4 - diff --git a/0006-Compatibility-with-both-old-and-new-pyzmq-13.0.0-and.patch b/0006-Compatibility-with-both-old-and-new-pyzmq-13.0.0-and.patch deleted file mode 100644 index f299063..0000000 --- a/0006-Compatibility-with-both-old-and-new-pyzmq-13.0.0-and.patch +++ /dev/null @@ -1,145 +0,0 @@ -From 5618de10b953529588798cb8eacf27cd2736827d Mon Sep 17 00:00:00 2001 -From: Ralph Bean -Date: Tue, 26 Mar 2013 23:33:28 -0400 -Subject: [PATCH 6/6] Compatibility with both old and new pyzmq (13.0.0 and - 2.2.0.1) - ---- - txzmq/connection.py | 51 +++++++++++++++++++++++++++++++++++++-------------- - txzmq/pubsub.py | 4 ++-- - 2 files changed, 39 insertions(+), 16 deletions(-) - -diff --git a/txzmq/connection.py b/txzmq/connection.py -index 1d73d32..75c44a3 100644 ---- a/txzmq/connection.py -+++ b/txzmq/connection.py -@@ -13,6 +13,8 @@ from twisted.internet.interfaces import IFileDescriptor, IReadDescriptor - from twisted.python import log - - -+# PYZMQ13 stands for pyzmq-13.0.0 -+PYZMQ13 = False - try: - from zmq.core import version - -@@ -22,6 +24,7 @@ except ImportError: - # In pyzmq-13.0.0, this moved again. - from zmq.core import zmq_version_info - ZMQ3 = zmq_version_info()[0] >= 3 -+ PYZMQ13 = True - except ImportError: - ZMQ3 = False - -@@ -96,33 +99,33 @@ class ZmqConnection(object): - self.recv_parts = [] - self.read_scheduled = None - -- self.fd = self.socket.get(constants.FD) -- self.socket.set(constants.LINGER, factory.lingerPeriod) -+ self.fd = self.socket_get(constants.FD) -+ self.socket_set(constants.LINGER, factory.lingerPeriod) - - if not ZMQ3: -- self.socket.set( -+ self.socket_set( - constants.MCAST_LOOP, int(self.allowLoopbackMulticast)) - -- self.socket.set(constants.RATE, self.multicastRate) -+ self.socket_set(constants.RATE, self.multicastRate) - - if not ZMQ3: -- self.socket.set(constants.HWM, self.highWaterMark) -+ self.socket_set(constants.HWM, self.highWaterMark) - else: -- self.socket.set(constants.SNDHWM, self.highWaterMark) -- self.socket.set(constants.RCVHWM, self.highWaterMark) -+ self.socket_set(constants.SNDHWM, self.highWaterMark) -+ self.socket_set(constants.RCVHWM, self.highWaterMark) - - if ZMQ3 and self.tcpKeepalive: -- self.socket.set( -+ self.socket_set( - constants.TCP_KEEPALIVE, self.tcpKeepalive) -- self.socket.set( -+ self.socket_set( - constants.TCP_KEEPALIVE_CNT, self.tcpKeepaliveCount) -- self.socket.set( -+ self.socket_set( - constants.TCP_KEEPALIVE_IDLE, self.tcpKeepaliveIdle) -- self.socket.set( -+ self.socket_set( - constants.TCP_KEEPALIVE_INTVL, self.tcpKeepaliveInterval) - - if self.identity is not None: -- self.socket.set(constants.IDENTITY, self.identity) -+ self.socket_set(constants.IDENTITY, self.identity) - - if endpoint: - self.addEndpoints([endpoint]) -@@ -199,7 +202,7 @@ class ZmqConnection(object): - """ - while True: - self.recv_parts.append(self.socket.recv(constants.NOBLOCK)) -- if not self.socket.get(constants.RCVMORE): -+ if not self.socket_get(constants.RCVMORE): - result, self.recv_parts = self.recv_parts, [] - - return result -@@ -222,7 +225,7 @@ class ZmqConnection(object): - if self.factory is None: # disconnected - return - -- events = self.socket.get(constants.EVENTS) -+ events = self.socket_get(constants.EVENTS) - - if (events & constants.POLLIN) != constants.POLLIN: - return -@@ -287,3 +290,23 @@ class ZmqConnection(object): - self.socket.bind(endpoint.address) - else: - assert False, "Unknown endpoint type %r" % endpoint -+ -+ # Compatibility shims -+ def _socket_get_pyzmq2(self, constant): -+ return self.socket.getsockopt(constant) -+ -+ def _socket_get_pyzmq13(self, constant): -+ return self.socket.get(constant) -+ -+ def _socket_set_pyzmq2(self, constant, value): -+ return self.socket.setsockopt(constant, value) -+ -+ def _socket_set_pyzmq13(self, constant, value): -+ return self.socket.set(constant, value) -+ -+ if PYZMQ13: -+ socket_get = _socket_get_pyzmq13 -+ socket_set = _socket_set_pyzmq13 -+ else: -+ socket_get = _socket_get_pyzmq2 -+ socket_set = _socket_set_pyzmq2 -diff --git a/txzmq/pubsub.py b/txzmq/pubsub.py -index 8a6a7fc..154325b 100644 ---- a/txzmq/pubsub.py -+++ b/txzmq/pubsub.py -@@ -37,7 +37,7 @@ class ZmqSubConnection(ZmqConnection): - @param tag: message tag - @type tag: C{str} - """ -- self.socket.set(constants.SUBSCRIBE, tag) -+ self.socket_set(constants.SUBSCRIBE, tag) - - def unsubscribe(self, tag): - """ -@@ -46,7 +46,7 @@ class ZmqSubConnection(ZmqConnection): - @param tag: message tag - @type tag: C{str} - """ -- self.socket.set(constants.UNSUBSCRIBE, tag) -+ self.socket_set(constants.UNSUBSCRIBE, tag) - - def messageReceived(self, message): - """ --- -1.8.1.4 - diff --git a/python-txzmq.spec b/python-txzmq.spec index 695d158..8b2d429 100644 --- a/python-txzmq.spec +++ b/python-txzmq.spec @@ -1,8 +1,8 @@ %global modname txZMQ Name: python-txzmq -Version: 0.6.1 -Release: 5%{?dist} +Version: 0.6.2 +Release: 1%{?dist} Summary: Twisted bindings for ZeroMQ Group: Development/Languages @@ -11,15 +11,6 @@ URL: http://pypi.python.org/pypi/%{modname} Source0: http://pypi.python.org/packages/source/t/%{modname}/%{modname}-%{version}.tar.gz Patch0: 0001-Disable-epgm-test.patch Patch1: 0002-Support-older-pyzmq.patch -# Upstream - https://github.com/smira/txZMQ/pull/38 -Patch2: 0003-Allow-the-user-to-set-TCP-keepalive-options.patch -# Upstream - https://github.com/smira/txZMQ/pull/40 -Patch3: 0004-replaced-calls-to-setsockopt-getsockopt-with-set-get.patch -# Upstream - https://github.com/aelse/txZMQ/pull/1 -Patch4: 0005-Double-compat-checking-ridiculous.patch -# Upstream - https://github.com/aelse/txZMQ/pull/1 -Patch5: 0006-Compatibility-with-both-old-and-new-pyzmq-13.0.0-and.patch - BuildArch: noarch @@ -40,10 +31,6 @@ Twisted event loop (reactor). %setup -q -n %{modname}-%{version} %patch0 -p1 -b .disable_epgm_test %patch1 -p1 -b .disable-older-pyzmq -%patch2 -p1 -b .allow-tcp-keepalive -%patch3 -p1 -b .replace-socket-calls -%patch4 -p1 -b .double-compat-check -%patch5 -p1 -b .old-and-new-compat # Patch out the setuptools requirement on Twisted since epel doesn't ship # twisted egg-info @@ -66,6 +53,10 @@ PYTHONPATH=$(pwd) nosetests %{python_sitelib}/txZMQ-%{version}*.egg-info %changelog +* Thu Apr 11 2013 Ralph Bean - 0.6.2-1 +- Latest upstream including our patches. +- Removed patches 2 through 5 for pyzmq compat. + * Wed Mar 27 2013 Ralph Bean - 0.6.1-5 - Added three patches to support old and new pyzmq. - More explicit file ownership in %%{python_sitelib}. diff --git a/sources b/sources index bdd6489..68f2abc 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -a2d0b080ae4b18a81d5b027fa56d783a txZMQ-0.6.1.tar.gz +2e349d88f3bcbfe890fe23d68129d9fa txZMQ-0.6.2.tar.gz