From 3f1fe01505c452e8e8b68ff78d9cee18a06fb84cf49f3ec9a67505e0a4e8f489 Mon Sep 17 00:00:00 2001 From: Nico Krapp Date: Mon, 12 May 2025 15:14:15 +0000 Subject: [PATCH] - Convert to pip-based build OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-Pyro5?expand=0&rev=11 --- .gitattributes | 23 ++++++ .gitignore | 1 + Pyro5-5.15.tar.gz | 3 + python-Pyro5.changes | 181 +++++++++++++++++++++++++++++++++++++++++++ python-Pyro5.spec | 97 +++++++++++++++++++++++ 5 files changed, 305 insertions(+) create mode 100644 .gitattributes create mode 100644 .gitignore create mode 100644 Pyro5-5.15.tar.gz create mode 100644 python-Pyro5.changes create mode 100644 python-Pyro5.spec diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..9b03811 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,23 @@ +## Default LFS +*.7z filter=lfs diff=lfs merge=lfs -text +*.bsp filter=lfs diff=lfs merge=lfs -text +*.bz2 filter=lfs diff=lfs merge=lfs -text +*.gem filter=lfs diff=lfs merge=lfs -text +*.gz filter=lfs diff=lfs merge=lfs -text +*.jar filter=lfs diff=lfs merge=lfs -text +*.lz filter=lfs diff=lfs merge=lfs -text +*.lzma filter=lfs diff=lfs merge=lfs -text +*.obscpio filter=lfs diff=lfs merge=lfs -text +*.oxt filter=lfs diff=lfs merge=lfs -text +*.pdf filter=lfs diff=lfs merge=lfs -text +*.png filter=lfs diff=lfs merge=lfs -text +*.rpm filter=lfs diff=lfs merge=lfs -text +*.tbz filter=lfs diff=lfs merge=lfs -text +*.tbz2 filter=lfs diff=lfs merge=lfs -text +*.tgz filter=lfs diff=lfs merge=lfs -text +*.ttf filter=lfs diff=lfs merge=lfs -text +*.txz filter=lfs diff=lfs merge=lfs -text +*.whl filter=lfs diff=lfs merge=lfs -text +*.xz filter=lfs diff=lfs merge=lfs -text +*.zip filter=lfs diff=lfs merge=lfs -text +*.zst filter=lfs diff=lfs merge=lfs -text diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..57affb6 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +.osc diff --git a/Pyro5-5.15.tar.gz b/Pyro5-5.15.tar.gz new file mode 100644 index 0000000..616674a --- /dev/null +++ b/Pyro5-5.15.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:82c3dfc9860b49f897b28ff24fe6716c841672c600af8fe40d0e3a7fac9a3f5e +size 447559 diff --git a/python-Pyro5.changes b/python-Pyro5.changes new file mode 100644 index 0000000..1d57e18 --- /dev/null +++ b/python-Pyro5.changes @@ -0,0 +1,181 @@ +------------------------------------------------------------------- +Mon May 12 14:36:01 UTC 2025 - Markéta Machová + +- Convert to pip-based build + +------------------------------------------------------------------- +Tue Jan 9 21:39:34 UTC 2024 - Dirk Müller + +- update to 5.15: + * removed Python 3.7 from the support list (it is EOL). Now + supported on Python 3.8 or newer. + * fixed cgi.parse deprecation problem in http gateway + * removed jquery dependency in http gateway + * some small tweaks to setup, tests, examples, and docs. + * updated the self-signed example certificates and serial + numbers in the ssl example. +- drop add-network-marker.patch (upstream) + +------------------------------------------------------------------- +Sun Jun 11 13:51:38 UTC 2023 - ecsos + +- Add %{?sle15_python_module_pythons} + +------------------------------------------------------------------- +Thu Feb 23 05:44:32 UTC 2023 - Steve Kowalik + +- New package, in a sense, based on Pyro4. +- Update to 5.14: + * http gateway now also has OPTION call with CORS + * fixed deprecation warning about setting threads in daemon mode + * fixed more threading module deprecation warnings + * proxy now correctly exposes remote __len__, __iter__ and __getitem__ etc + * improved type hint for expose() + * added Proxy._pyroLocalSocket property that is the local socket address + used in the proxy. + * serve() no longer defaults host parameter to empty string, but None. + * fixed a Python 3.11 serialization issue + * fixed @expose issue on static method/classmethod due to API change + in Python 3.10 + * introduced SERPENT_BYTES_REPR config item (and updated serpent library + version requirement for this) + * flush nameserver output to console before entering request loop + * added optional boolean “weak” parameter to Daemon.register(), to register + a weak reference to the server object that will be unregistered + automatically when the server object gets deleted. + * fixed error when import Pyro5.server + * documented SSL_CACERTS config item + * reworked the timezones example. + * httpgateway message data bytearray type fix + * fixed regex lookup index error in nameserver + * the 4 custom class (un)register methods on the SerializerBase class are + now also directly available in the api module + * fixed a silent error in the server when doing error handling + * fixed empty nameserver host lookup issue + * added privilege-separation example + * added methodcall_error_handler to Daemon that allows you to provide a + custom error handler + * fix possible race condition when creating instances with instancemode + “single” + * fixed possible attribute error in proxy del method at interpreter shutdown + * gave the serialization example a clearer name ‘custom-serialization’ + * URIs now accept spaces in the location part. + * made msgpack serializer optional + * NATPORT behavior fix when 0 + * serialization improvements/fixes +- Add patch add-network-marker.patch: + * Mark tests that require the network as such, so we can skip them. + +------------------------------------------------------------------- +Tue Dec 21 18:29:33 UTC 2021 - Ben Greiner + +- Update to v4.81 + * fix some typo's in docs + * corrected some minor other things in docs + * Python 3.9 is now included in the unit test runs + * No actual code changes. +- (update just to satisfy the weekly report on d:l:python* scripts) +- Add patch Pyro4-pr238-py310-cmethod-smethod.patch + * gh#irmen/Pyro4#238 + +------------------------------------------------------------------- +Fri Feb 26 05:42:18 UTC 2021 - John Vandenberg + +- Update to v4.80 + * fix possible race condition when creating instances with + instancemode "single" + +------------------------------------------------------------------- +Fri Mar 20 10:53:14 UTC 2020 - Tomáš Chvátal + +- Update to 4.79: + * cython compatibility fix + * removed explicit version checks of dependencies such as serpent + +------------------------------------------------------------------- +Fri Jan 10 14:54:11 UTC 2020 - Tomáš Chvátal + +- Properly conditionalize python2 build for older openSUSE + +------------------------------------------------------------------- +Thu Jan 9 17:59:58 UTC 2020 - Todd R + +- Update to 4.77 + * dropped support for Python 3.4 (which has reached end-of-life + status). Supported Python versions are now 2.7, and 3.5 or + newer. + * URIs now allow spaces in the location part. Useful for unix + domain sockets. +- Dropped python2 subpackage due to dropping backports dependency. + +------------------------------------------------------------------- +Tue Sep 24 09:56:04 UTC 2019 - Tomáš Chvátal + +- Update to 4.76: + * corrected bogus space in worker thread name + * thread server can now be cleanly stopped with SIGINT / Ctrl-C on Windows + * the behavior of the NATPORT config item has been corrected to be in line with the API behavior of the Daemon + * certs are now included in sdist archive so the ssl unit tests also run as intended + * now correctly checks for write access to the correct logfile location, instead of assuming the current directory + +------------------------------------------------------------------- +Wed Mar 6 09:29:20 UTC 2019 - Tomáš Chvátal + +- Update to 4.75: + * include LICENSE file in distribution + * avoid decode error when dealing with memoryview annotations + * serpent 1.27 required to avoid regression in previous version + * fixed marshal serializer problem that prevented it to even call register() in the name server. + * msgpack, json and marshal serializers now understand how to serialize array.array the same way serpent already did + * fixed distributed-mandelbrot example to actually run multiple concurrent calculations. + * missing API method doc added on NameServer.count() + +------------------------------------------------------------------- +Tue Dec 4 12:52:46 UTC 2018 - Matej Cepl + +- Remove superfluous devel dependency for noarch package + +------------------------------------------------------------------- +Sun Jul 29 12:51:07 UTC 2018 - jengelh@inai.de + +- Ensure neutrality of description. + +------------------------------------------------------------------- +Thu May 24 17:39:16 UTC 2018 - toddrme2178@gmail.com + +- Update to Pyro 4.72 + * (source files: normalized line endings to LF) + * the -k command line option to supply a HMAC encryption key on the command line for the name server, nsc, + echoserver, flameserver and httpgateway tools is now deprecated (and will print a warning if used). + It is a security issue because the key used is plainly visible. + If you require proper security, use Pyro's 2-way SSL feature. Alternatively, set the HMAC key in the (new) environment + variable PYRO_HMAC_KEY if you still have to use it before launching the aforementioned tools. +- Update to Pyro 4.71 + * updated ``msgpack`` dependency (was ``msgpack-python`` but that name is now deprecated) + * fixed restart and force reload commands of the contrib/init.d/pyro4-nsd script, and changed its port binding + from 9999 back to 9090 which is Pyro's default. + * serpent 1.24 library now required to fix some api deprecation warnings when using Python 3.7 or newer. + * updated sphinx documentation theme +- Update to Pyro 4.70 + * **incompatible API change** for python 3.7 compatibility: renaming of ``async`` function and keyword arguments in the API: + Renamed ``Pyro4.core.async`` to ``Pyro4.core.asyncproxy`` (and its occurrence in ``Pyro4``) + and the ``async`` keyword argument in some methods to ``asynchronous``. + This had to be done because ``async`` (and ``await``) are now parsed as keywords in Python 3.7 and using them otherwise will result + in a SyntaxError when loading the module. + It is suggested you stop using the ``asyncproxy`` function and instead create asynchronous proxies using the ``_pyroAsync`` + method on the regular proxy. + * For existing code running on Python *older than 3.7*, a backwards compatibility feature is present to still provide the + ``async`` function and keyword arguments as they were supported on previous Pyro versions. + But also for that older environments, it's advised to migrate away from them and start using the new names. + * Proxy and Daemon have a new 'connected_socket' parameter. You can set it to a user-supplied connected socket that must + be used by them instead of creating a new socket for you. Connected sockets can be created using the socket.socketpair() + function for instance, and allow for easy and efficient communication over an internal socket between + parent-child processes or threads, using Pyro. Also see the new 'socketpair' example. + * dropped support for Python 3.3 (which has reached end-of-life status). Supported Python versions are now 2.7, and 3.4 or newer. + (the life cycle status of the Python versions can be seen here https://devguide.python.org/#status-of-python-branches) +- spec file cleanups + +------------------------------------------------------------------- +Wed Nov 8 20:42:14 UTC 2017 - toddrme2178@gmail.com + +- Initial version diff --git a/python-Pyro5.spec b/python-Pyro5.spec new file mode 100644 index 0000000..ee161c4 --- /dev/null +++ b/python-Pyro5.spec @@ -0,0 +1,97 @@ +# +# spec file for package python-Pyro5 +# +# Copyright (c) 2025 SUSE LLC +# +# All modifications and additions to the file contributed by third parties +# remain the property of their copyright owners, unless otherwise agreed +# upon. The license for this file, and modifications and additions to the +# file, is the same license as for the pristine package itself (unless the +# license for the pristine package is not an Open Source License, in which +# case the license is the MIT License). An "Open Source License" is a +# license that conforms to the Open Source Definition (Version 1.9) +# published by the Open Source Initiative. + +# Please submit bugfixes or comments via https://bugs.opensuse.org/ +# + + +%{?sle15_python_module_pythons} +Name: python-Pyro5 +Version: 5.15 +Release: 0 +Summary: Distributed object middleware for Python (RPC) +License: MIT +URL: https://github.com/irmen/Pyro5 +Source: https://files.pythonhosted.org/packages/source/P/Pyro5/Pyro5-%{version}.tar.gz +BuildRequires: %{python_module pip} +BuildRequires: %{python_module setuptools} +BuildRequires: %{python_module wheel} +BuildRequires: fdupes +BuildRequires: python-rpm-macros +Requires: python-serpent >= 1.41 +Requires(post): alts +Requires(postun): alts +Recommends: ca-certificates +Recommends: python-cloudpickle >= 0.4.0 +Recommends: python-dill >= 0.2.6 +Recommends: python-msgpack-python >= 0.5.2 +BuildArch: noarch +# SECTION test requirements +BuildRequires: %{python_module cloudpickle >= 0.4.0} +BuildRequires: %{python_module dbm} +BuildRequires: %{python_module dill >= 0.2.6} +BuildRequires: %{python_module msgpack-python >= 0.5.2} +BuildRequires: %{python_module pytest} +BuildRequires: %{python_module serpent >= 1.41} +BuildRequires: ca-certificates +BuildRequires: sqlite3 +# /SECTION +%python_subpackages + +%description +Pyro means PYthon Remote Objects. + +It is a library for building applications in which objects can talk +to each other over the network. One can use normal Python method +calls, with almost every possible parameter and return value type, +and Pyro takes care of locating the right object on the right system +to execute the method. It also provides a set of features that enable +building distributed applications. Pyro is a pure Python library and +runs on many different platforms and Python versions. + +%prep +%autosetup -p1 -n Pyro5-%{version} + +%build +%pyproject_wheel + +%install +%pyproject_install +%python_expand %fdupes %{buildroot}%{$python_sitelib} +%python_clone -a %{buildroot}%{_bindir}/pyro5-check-config +%python_clone -a %{buildroot}%{_bindir}/pyro5-echoserver +%python_clone -a %{buildroot}%{_bindir}/pyro5-httpgateway +%python_clone -a %{buildroot}%{_bindir}/pyro5-ns +%python_clone -a %{buildroot}%{_bindir}/pyro5-nsc + +%check +%pytest -m "not network" + +%post +%{python_install_alternative pyro5-check-config pyro5-echoserver pyro5-httpgateway pyro5-ns pyro5-nsc} + +%postun +%python_uninstall_alternative pyro5-check-config + +%files %{python_files} +%license LICENSE +%python_alternative %{_bindir}/pyro5-check-config +%python_alternative %{_bindir}/pyro5-echoserver +%python_alternative %{_bindir}/pyro5-httpgateway +%python_alternative %{_bindir}/pyro5-ns +%python_alternative %{_bindir}/pyro5-nsc +%{python_sitelib}/Pyro5 +%{python_sitelib}/[Pp]yro5-%{version}*-info + +%changelog