From 120071948154cdfd15f8d62ad2745b079f73b28430e584ee3fdad517cee5d073 Mon Sep 17 00:00:00 2001 From: Matej Cepl Date: Sat, 29 Nov 2025 22:21:12 +0000 Subject: [PATCH] - Update to version 3.9.0: * Handle acknowledgement timeouts in the consumer * Explicitly install an event loop to support Python 3.14, which no longer does so implicitly OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-fedora-messaging?expand=0&rev=23 --- .gitattributes | 23 +++++ .gitignore | 1 + fedora-messaging-3.8.0.tar.gz | 3 + fedora-messaging-3.9.0.tar.gz | 3 + python-fedora-messaging.changes | 169 ++++++++++++++++++++++++++++++++ python-fedora-messaging.spec | 124 +++++++++++++++++++++++ 6 files changed, 323 insertions(+) create mode 100644 .gitattributes create mode 100644 .gitignore create mode 100644 fedora-messaging-3.8.0.tar.gz create mode 100644 fedora-messaging-3.9.0.tar.gz create mode 100644 python-fedora-messaging.changes create mode 100644 python-fedora-messaging.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/fedora-messaging-3.8.0.tar.gz b/fedora-messaging-3.8.0.tar.gz new file mode 100644 index 0000000..87fe90e --- /dev/null +++ b/fedora-messaging-3.8.0.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:dd71bb94e3a7d2581ef1bea1d83e5a885da8bd79c3896d108af940fd4e3395fd +size 219279 diff --git a/fedora-messaging-3.9.0.tar.gz b/fedora-messaging-3.9.0.tar.gz new file mode 100644 index 0000000..85f9669 --- /dev/null +++ b/fedora-messaging-3.9.0.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e73b9f74994a8e3bfd43a968c1bdf0b261f1324857fa52e701a725393e233dfa +size 312339 diff --git a/python-fedora-messaging.changes b/python-fedora-messaging.changes new file mode 100644 index 0000000..ea39431 --- /dev/null +++ b/python-fedora-messaging.changes @@ -0,0 +1,169 @@ +------------------------------------------------------------------- +Fri Nov 28 11:06:46 UTC 2025 - Marius Grossu + +- Update to version 3.9.0: + * Handle acknowledgement timeouts in the consumer + * Explicitly install an event loop to support Python 3.14, which no longer does so implicitly + +------------------------------------------------------------------- +Thu Oct 16 12:54:39 UTC 2025 - Jay Michalska + +- Create a subpackage for Fedora Messaging configs + +------------------------------------------------------------------- +Mon Jul 21 12:04:27 UTC 2025 - Richard Rahl + +- update to version 3.8.0: + * Add typing to the entire library, and check it with mypy and pyright + * Update the Fedora certificates + * Make the factory directly available as an attribute of the service + * Drop support for Python 3.8 and Pika < 1.0 + * Support Python 3.13 +- update to version 3.7.1: + * Add the new CAs to the trusted CA certs + * Documentation Improvements +- update to version 3.7.0: + * Indicate which package a schema comes from when missing + * Add a new reconsume CLI command + * Add an embedded HTTP server to monitor the service + * Documentation Improvements +- update to version 3.6.0: + * nothing of relevance +- update to version 3.5.0: + * Add a replay command + * Add support Python 3.11 and 3.12, drop support for Python 3.6 and 3.7 + * Better protection against invalid bodies breaking the headers generation + and the instanciation of a message + * Testing framework: make the sent messages available in the context manager + +------------------------------------------------------------------- +Mon Mar 4 14:50:05 UTC 2024 - Daniel Garcia + +- use pyproject_wheel to build +- skip broken tests with python 3.12 +- Update to 3.4.1: + * This is just a minor bugfix release to fix CI. +- 3.4.0: + * Mirror the message priority in the headers (eba336b) +- 3.3.0: + * Add support for asyncio-based callbacks in the consumer. As a + consequence, the Twisted reactor used by the CLI is now asyncio. + (#282) + +------------------------------------------------------------------- +Thu Dec 15 09:16:19 UTC 2022 - Daniel Garcia + +- Remove python_module macro definition +- More specific python_sitelib in %files +- Remove not needed python-six requirement +- Add update alternatives requirement + +------------------------------------------------------------------- +Fri Oct 28 17:02:11 UTC 2022 - Yogalakshmi Arunachalam + +- Update to version 3.2.0 + Features + * Add a priority property to messages, and a default priority in the configuration (#275) + * Add a message schema attribute and some documentation to help deprecate and upgrade message schemas (#227) + Other Changes + * Use tomllib from the standard library on Python 3.11 and above, fallback to tomli otherwise. (PR#274) + +------------------------------------------------------------------- +Wed Oct 12 03:16:41 UTC 2022 - Yogalakshmi Arunachalam + +- Update to version 3.1.0 + * Add the app_name and agent_name properties to message schemas (#272) + * Added "groups" property to message schemas. This property can be used if an event affects a list of groups. (#252) + +------------------------------------------------------------------- +Wed Aug 3 03:12:42 UTC 2022 - Steve Kowalik + +- Update to 3.0.2: + * Add packit configuration. + * Correct sync list, add issue repo and version info +- Remove unneeded BuildRequires on mock. + +------------------------------------------------------------------- +Tue May 3 11:05:27 UTC 2022 - pgajdos@suse.com + +- add upstream bug url + +------------------------------------------------------------------- +Mon May 2 16:46:52 UTC 2022 - pgajdos@suse.com + +- version update + 3.0.0 (2021-12-14) + ================== + API Changes + ----------- + * Queues created by the CLI are now non-durable, auto-deleted and exclusive, as + server-named queues are. + (`PR#239 `_) + * It is no longer necessary to declare a queue in the configuration file: a + server-named queue will be created. Configured bindings which do not specify + a queue name will be applied to the server-named queue. + (`PR#239 `_) + * Drop support for Python 2 + (`PR#246 `_) + * Drop the Twisted classes that had been flagged as deprecated. + Drop the deprecated ``Message._body`` property. + Refactor the consuming code into the ``Consumer`` class. + (`PR#249 `_) + Features + -------- + * Support anonymous (server-named) queues. + (`PR#239 `_) + * Support Python 3.10 + (`PR#250 `_) + * Raise ``PublishForbidden`` exception immediately if publishing to `virtual host + `_ is denied rather than waiting until timeout occurs. + (`#203 `_) + Bug Fixes + --------- + * Fixed validation exception of queue field on serialized schemas. + (`#240 `_) + 2.1.0 (2021-05-12) + ================== + Features + -------- + * Improve the testing module to check message topics and bodies separately, + and to use the rewritten assert that pytest provides + (`PR#230 `_) + * Handle `topic authorization `_ + by raising a ``PublishForbidden`` exception instead of being stuck in a retry loop + (`PR#235 `_) + * Test on Python 3.8 and 3.9 + (`PR#237 `_) + Bug Fixes + --------- + * Require setuptools, as ``pkg_resources`` is used + (`PR#233 `_) + 2.0.2 (2020-08-04) + ================== + Bug Fixes + --------- + * Set the QoS on the channel that is created for the consumer + (`#223 `_) + 2.0.1 (2020-01-02) + ================== + Bug Fixes + --------- + * Fix handling of new connections after a publish timeout + (`#212 `_) +- deleted patches + - pr_232.patch (upstreamed) + +------------------------------------------------------------------- +Sat Mar 27 03:03:01 UTC 2021 - John Vandenberg + +- Add pr_232.patch from upstream + +------------------------------------------------------------------- +Tue Nov 17 11:59:41 UTC 2020 - John Vandenberg + +- Update to v2.0.2 + +------------------------------------------------------------------- +Fri Dec 27 11:45:26 AM UTC 2019 - John Vandenberg + +- Initial spec for v2.0.0 diff --git a/python-fedora-messaging.spec b/python-fedora-messaging.spec new file mode 100644 index 0000000..e412ecb --- /dev/null +++ b/python-fedora-messaging.spec @@ -0,0 +1,124 @@ +# +# spec file for package python-fedora-messaging +# +# Copyright (c) 2025 SUSE LLC and contributors +# +# 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/ +# + + +%define _modname fedora-messaging +Name: python-fedora-messaging +Version: 3.9.0 +Release: 0 +Summary: Python tools for Fedora's messaging infrastructure +License: GPL-2.0-or-later +URL: https://github.com/fedora-infra/fedora-messaging +Source: https://github.com/fedora-infra/fedora-messaging/archive/refs/tags/v%{version}.tar.gz#/fedora-messaging-%{version}.tar.gz +BuildRequires: %{python_module Sphinx} +BuildRequires: %{python_module Twisted} +BuildRequires: %{python_module base >= 3.9} +BuildRequires: %{python_module blinker} +BuildRequires: %{python_module click} +BuildRequires: %{python_module coverage} +BuildRequires: %{python_module crochet} +BuildRequires: %{python_module jsonschema} +BuildRequires: %{python_module pika >= 1.0.0} +BuildRequires: %{python_module pip} +BuildRequires: %{python_module poetry-core} +BuildRequires: %{python_module pyOpenSSL} +BuildRequires: %{python_module pytest-mock} +BuildRequires: %{python_module pytest-twisted} +BuildRequires: %{python_module pytest} +BuildRequires: %{python_module service_identity} +BuildRequires: %{python_module tomli} +BuildRequires: %{python_module towncrier} +BuildRequires: %{python_module treq} +BuildRequires: %{python_module wheel} +BuildRequires: fdupes +BuildRequires: python-rpm-macros +Requires: python-Twisted +Requires: python-blinker +Requires: python-click +Requires: python-crochet +Requires: python-jsonschema +Requires: python-pika >= 1.0.1 +Requires: python-pyOpenSSL +Requires: python-pytz +Requires: python-requests +Requires: python-service_identity +Requires: python-setuptools +Requires: python-tomli +Requires(post): update-alternatives +Requires(postun): update-alternatives +BuildArch: noarch +%python_subpackages + +%description +A set of Python tools for using Fedora's messaging infrastructure. + +%package -n fedora-messaging-config +Summary: Fedora Messaging configs + +%description -n fedora-messaging-config +Configuration files for the Fedora Messaging instances. + +%prep +%autosetup -p1 -n %{_modname}-%{version} + +%build +%pyproject_wheel + +%install +%pyproject_install +%python_clone -a %{buildroot}%{_bindir}/%{_modname} +%python_expand %fdupes %{buildroot}%{$python_sitelib} + +install -D -p -m 644 config.toml.example $RPM_BUILD_ROOT%{_sysconfdir}/fedora-messaging/config.toml +install -D -p -m 644 configs/fedora.toml $RPM_BUILD_ROOT%{_sysconfdir}/fedora-messaging/fedora.toml +install -D -p -m 644 configs/fedora.stg.toml $RPM_BUILD_ROOT%{_sysconfdir}/fedora-messaging/fedora.stg.toml +install -D -p -m 644 configs/cacert.pem $RPM_BUILD_ROOT%{_sysconfdir}/fedora-messaging/cacert.pem +install -D -p -m 644 configs/fedora-key.pem $RPM_BUILD_ROOT%{_sysconfdir}/fedora-messaging/fedora-key.pem +install -D -p -m 644 configs/fedora-cert.pem $RPM_BUILD_ROOT%{_sysconfdir}/fedora-messaging/fedora-cert.pem +install -D -p -m 644 configs/stg-cacert.pem $RPM_BUILD_ROOT%{_sysconfdir}/fedora-messaging/stg-cacert.pem +install -D -p -m 644 configs/fedora.stg-key.pem $RPM_BUILD_ROOT%{_sysconfdir}/fedora-messaging/fedora.stg-key.pem +install -D -p -m 644 configs/fedora.stg-cert.pem $RPM_BUILD_ROOT%{_sysconfdir}/fedora-messaging/fedora.stg-cert.pem + +%post +%python_install_alternative %{_modname} + +%postun +%python_uninstall_alternative %{_modname} + +%check +%pytest -k "not test_no_conf" tests/unit + +%files %{python_files} +%license LICENSES/GPL-2.0-or-later.txt +%doc README.rst +%python_alternative %{_bindir}/%{_modname} +%{python_sitelib}/fedora_messaging +%{python_sitelib}/fedora_messaging-%{version}.dist-info + +%files -n fedora-messaging-config +%dir %{_sysconfdir}/fedora-messaging/ +%config(noreplace) %{_sysconfdir}/fedora-messaging/config.toml +%config(noreplace) %{_sysconfdir}/fedora-messaging/fedora.toml +%config(noreplace) %{_sysconfdir}/fedora-messaging/fedora.stg.toml +%config(noreplace) %{_sysconfdir}/fedora-messaging/cacert.pem +%config(noreplace) %{_sysconfdir}/fedora-messaging/fedora-key.pem +%config(noreplace) %{_sysconfdir}/fedora-messaging/fedora-cert.pem +%config(noreplace) %{_sysconfdir}/fedora-messaging/stg-cacert.pem +%config(noreplace) %{_sysconfdir}/fedora-messaging/fedora.stg-key.pem +%config(noreplace) %{_sysconfdir}/fedora-messaging/fedora.stg-cert.pem + +%changelog