15
0

- 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
This commit is contained in:
2025-11-29 22:21:12 +00:00
committed by Git OBS Bridge
commit 1200719481
6 changed files with 323 additions and 0 deletions

23
.gitattributes vendored Normal file
View File

@@ -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

1
.gitignore vendored Normal file
View File

@@ -0,0 +1 @@
.osc

View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:dd71bb94e3a7d2581ef1bea1d83e5a885da8bd79c3896d108af940fd4e3395fd
size 219279

View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:e73b9f74994a8e3bfd43a968c1bdf0b261f1324857fa52e701a725393e233dfa
size 312339

View File

@@ -0,0 +1,169 @@
-------------------------------------------------------------------
Fri Nov 28 11:06:46 UTC 2025 - Marius Grossu <marius.grossu@suse.com>
- 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 <jay.michalska@suse.com>
- Create a subpackage for Fedora Messaging configs
-------------------------------------------------------------------
Mon Jul 21 12:04:27 UTC 2025 - Richard Rahl <rrahl0@opensuse.org>
- 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 <daniel.garcia@suse.com>
- 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 <daniel.garcia@suse.com>
- 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 <yarunachalam@suse.com>
- 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 <yarunachalam@suse.com>
- 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 <steven.kowalik@suse.com>
- 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 <https://github.com/fedora-infra/fedora-messaging/pull/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 <https://github.com/fedora-infra/fedora-messaging/pull/239>`_)
* Drop support for Python 2
(`PR#246 <https://github.com/fedora-infra/fedora-messaging/pull/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 <https://github.com/fedora-infra/fedora-messaging/pull/249>`_)
Features
--------
* Support anonymous (server-named) queues.
(`PR#239 <https://github.com/fedora-infra/fedora-messaging/pull/239>`_)
* Support Python 3.10
(`PR#250 <https://github.com/fedora-infra/fedora-messaging/pull/250>`_)
* Raise ``PublishForbidden`` exception immediately if publishing to `virtual host
<https://www.rabbitmq.com/access-control.html>`_ is denied rather than waiting until timeout occurs.
(`#203 <https://github.com/fedora-infra/fedora-messaging/issues/203>`_)
Bug Fixes
---------
* Fixed validation exception of queue field on serialized schemas.
(`#240 <https://github.com/fedora-infra/fedora-messaging/issues/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 <https://github.com/fedora-infra/fedora-messaging/pull/230>`_)
* Handle `topic authorization <https://www.rabbitmq.com/access-control.html#topic-authorisation>`_
by raising a ``PublishForbidden`` exception instead of being stuck in a retry loop
(`PR#235 <https://github.com/fedora-infra/fedora-messaging/pull/235>`_)
* Test on Python 3.8 and 3.9
(`PR#237 <https://github.com/fedora-infra/fedora-messaging/pull/237>`_)
Bug Fixes
---------
* Require setuptools, as ``pkg_resources`` is used
(`PR#233 <https://github.com/fedora-infra/fedora-messaging/pull/233>`_)
2.0.2 (2020-08-04)
==================
Bug Fixes
---------
* Set the QoS on the channel that is created for the consumer
(`#223 <https://github.com/fedora-infra/fedora-messaging/issues/223>`_)
2.0.1 (2020-01-02)
==================
Bug Fixes
---------
* Fix handling of new connections after a publish timeout
(`#212 <https://github.com/fedora-infra/fedora-messaging/issues/212>`_)
- deleted patches
- pr_232.patch (upstreamed)
-------------------------------------------------------------------
Sat Mar 27 03:03:01 UTC 2021 - John Vandenberg <jayvdb@gmail.com>
- Add pr_232.patch from upstream
-------------------------------------------------------------------
Tue Nov 17 11:59:41 UTC 2020 - John Vandenberg <jayvdb@gmail.com>
- Update to v2.0.2
-------------------------------------------------------------------
Fri Dec 27 11:45:26 AM UTC 2019 - John Vandenberg <jayvdb@gmail.com>
- Initial spec for v2.0.0

View File

@@ -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