[Python-modules-team] Bug#924976: python3-kombu: Incompatible with python3-redis (>= 3)
Josue Ortega
josue at debian.org
Mon Apr 15 15:32:16 BST 2019
Hi,
python-redis changed its API in version 3 breaking python-kombu. This has been fixed
in the latest upstream version.
I've attached the debdiff with the fix for v4.2.1. If you don'have time to make this upload
let me know and I will upload it myself
Regards
Josue
-------------- next part --------------
diff -Nru kombu-4.2.1/debian/changelog kombu-4.2.1/debian/changelog
--- kombu-4.2.1/debian/changelog 2019-03-01 13:03:25.000000000 -0600
+++ kombu-4.2.1/debian/changelog 2019-04-15 07:11:18.000000000 -0600
@@ -1,3 +1,11 @@
+kombu (4.2.1-3) UNRELEASED; urgency=medium
+
+ * Team upload.
+ * Add debian/patch/0005-Fix-compat-with-redis3.patch to fix compatibility with
+ python-redis (>= 3) (Closes: #924976).
+
+ -- Josue Ortega <josue at debian.org> Mon, 15 Apr 2019 07:11:18 -0600
+
kombu (4.2.1-2) unstable; urgency=high
[ Ond��ej Nov�� ]
diff -Nru kombu-4.2.1/debian/patches/0005-Fix-compat-with-redis3.patch kombu-4.2.1/debian/patches/0005-Fix-compat-with-redis3.patch
--- kombu-4.2.1/debian/patches/0005-Fix-compat-with-redis3.patch 1969-12-31 18:00:00.000000000 -0600
+++ kombu-4.2.1/debian/patches/0005-Fix-compat-with-redis3.patch 2019-04-15 07:11:18.000000000 -0600
@@ -0,0 +1,41 @@
+Description: Fix compat with redis >= 3
+Author: Josue Ortega <josue at debian.org>
+Last-Update: 2019-04-15
+
+--- a/kombu/transport/redis.py
++++ b/kombu/transport/redis.py
+@@ -145,8 +145,14 @@
+ def append(self, message, delivery_tag):
+ delivery = message.delivery_info
+ EX, RK = delivery['exchange'], delivery['routing_key']
++
++ # Redis-py changed the format of zadd args in v3.0.0
++ zadd_args = [{delivery_tag: time()}]
++ if redis.VERSION[0] < 3:
++ zadd_args = [time(), delivery_tag]
++
+ with self.pipe_or_acquire() as pipe:
+- pipe.zadd(self.unacked_index_key, time(), delivery_tag) \
++ pipe.zadd(self.unacked_index_key, *zadd_args) \
+ .hset(self.unacked_key, delivery_tag,
+ dumps([message._raw, EX, RK])) \
+ .execute()
+--- a/t/unit/transport/test_redis.py
++++ b/t/unit/transport/test_redis.py
+@@ -75,8 +75,14 @@
+ def sadd(self, key, member, *args):
+ self.sets[key].add(member)
+
+- def zadd(self, key, score1, member1, *args):
+- self.sets[key].add(member1)
++ def zadd(self, key, *args):
++ if redis.redis.VERSION[0] >= 3:
++ (mapping,) = args
++ for item in mapping:
++ self.sets[key].add(item)
++ else:
++ (score1, member1) = args
++ self.sets[key].add(member1)
+
+ def smembers(self, key):
+ return self.sets.get(key, set())
diff -Nru kombu-4.2.1/debian/patches/series kombu-4.2.1/debian/patches/series
--- kombu-4.2.1/debian/patches/series 2019-03-01 13:03:25.000000000 -0600
+++ kombu-4.2.1/debian/patches/series 2019-04-15 07:11:18.000000000 -0600
@@ -1,3 +1,4 @@
+0005-Fix-compat-with-redis3.patch
0001-Remove-image-from-remote-donation-site-privacy-issue.patch
0002-Disable-intershpinx-mapping-for-now.patch
0003-Remove-pytest-sugar-from-test-requirements.patch
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: not available
URL: <http://alioth-lists.debian.net/pipermail/python-modules-team/attachments/20190415/b8be74d6/attachment.sig>
More information about the Python-modules-team
mailing list