Skip to content

Commit

Permalink
fix(packages): make zerorpc work with Debian trixie
Browse files Browse the repository at this point in the history
zerorpc was using methods future.utils to be compatible with both Python
2.x and 3.x but Debian trixie does not ship python3-future. Replace uses
of the future module with (hopefully) equivalent Python 3.x constructs.

Signed-off-by: Cedric Hombourger <[email protected]>
  • Loading branch information
chombourger committed Jan 6, 2025
1 parent 0dd5804 commit 4b88e07
Show file tree
Hide file tree
Showing 3 changed files with 83 additions and 1 deletion.
Original file line number Diff line number Diff line change
@@ -0,0 +1,75 @@
License and copyright for files modified by this patch:

SPDX-License-Identifier: MIT
Copyright (c) 2015 François-Xavier Bourlet ([email protected])

Index: zerorpc-0.6.3/zerorpc/context.py
===================================================================
--- zerorpc-0.6.3.orig/zerorpc/context.py
+++ zerorpc-0.6.3/zerorpc/context.py
@@ -23,9 +23,6 @@
# SOFTWARE.


-from __future__ import absolute_import
-from future.utils import tobytes
-
import uuid
import random

@@ -103,7 +100,7 @@ class Context(zmq.Context):
return Context._instance

def _reset_msgid(self):
- self._msg_id_base = tobytes(uuid.uuid4().hex)[8:]
+ self._msg_id_base = uuid.uuid4().hex[8:].encode('ascii')
self._msg_id_counter = random.randrange(0, 2 ** 32)
self._msg_id_counter_stop = random.randrange(self._msg_id_counter, 2 ** 32)

@@ -112,7 +109,7 @@ class Context(zmq.Context):
self._reset_msgid()
else:
self._msg_id_counter = (self._msg_id_counter + 1)
- return tobytes('{0:08x}'.format(self._msg_id_counter)) + self._msg_id_base
+ return f'{self._msg_id_counter:08x}'.encode('ascii') + self._msg_id_base

def register_middleware(self, middleware_instance):
registered_count = 0
Index: zerorpc-0.6.3/zerorpc/core.py
===================================================================
--- zerorpc-0.6.3.orig/zerorpc/core.py
+++ zerorpc-0.6.3/zerorpc/core.py
@@ -23,10 +23,8 @@
# SOFTWARE.


-from __future__ import absolute_import
from builtins import str
from builtins import zip
-from future.utils import iteritems

import sys
import traceback
@@ -67,7 +65,7 @@ class ServerBase(object):
self._inject_builtins()
self._heartbeat_freq = heartbeat

- for (k, functor) in iteritems(self._methods):
+ for (k, functor) in self._methods.items():
if not isinstance(functor, DecoratorBase):
self._methods[k] = rep(functor)

@@ -102,11 +100,11 @@ class ServerBase(object):
return r

def _zerorpc_inspect(self):
- methods = dict((m, f) for m, f in iteritems(self._methods)
+ methods = dict((m, f) for m, f in self._methods.items()
if not m.startswith('_'))
detailled_methods = dict((m,
dict(args=self._format_args_spec(f._zerorpc_args()),
- doc=f._zerorpc_doc())) for (m, f) in iteritems(methods))
+ doc=f._zerorpc_doc())) for (m, f) in methods.items())
return {'name': self._name,
'methods': detailled_methods}

Original file line number Diff line number Diff line change
@@ -1,3 +1,9 @@
zerorpc-python (0.6.3-6) testing; urgency=low

* Remove use of the future module since not supported in Debian trixie

-- Cedric Hombourger <[email protected]> Mon, 06 Jan 2024 15:30:00 +0100

zerorpc-python (0.6.3-5) testing; urgency=low

* Pull fix submitted upstream for zerorpc to work with pyzmq 23.0.0 (issue #251)
Expand Down
3 changes: 2 additions & 1 deletion meta-isar/recipes-python/zerorpc/zerorpc-python_0.6.3.bb
Original file line number Diff line number Diff line change
Expand Up @@ -10,9 +10,10 @@ inherit dpkg
SRC_URI = " \
https://files.pythonhosted.org/packages/73/ff/d61ef9f5d10e671421d1368e87d3525325483ebd7da262b1d3087443662b/zerorpc-${PV}.tar.gz \
file://0001-gevent_zmq-import-enums-from-pyzmq-23.0.0.patch \
file://0002-do-not-use-future.patch \
file://zerorpc-${PV}/debian \
"

PR = "5"
PR = "6"
S = "${WORKDIR}/zerorpc-${PV}"
SRC_URI[sha256sum] = "d2ee247a566fc703f29c277d767f6f61f1e12f76d0402faea4bd815f32cbf37f"

0 comments on commit 4b88e07

Please sign in to comment.