14
0

Accepting request 1254542 from devel:languages:python

- Update to 1.8.1:
  * Fixed crash on Python 3.12+ in speedups extension module.
- Drop patch use-pydict-size.patch, included upstream.

OBS-URL: https://build.opensuse.org/request/show/1254542
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-Logbook?expand=0&rev=15
This commit is contained in:
2025-03-20 18:25:22 +00:00
committed by Git OBS Bridge
5 changed files with 11 additions and 42 deletions

View File

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

3
logbook-1.8.1.tar.gz Normal file
View File

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

View File

@@ -1,3 +1,10 @@
-------------------------------------------------------------------
Wed Mar 19 23:35:22 UTC 2025 - Steve Kowalik <steven.kowalik@suse.com>
- Update to 1.8.1:
* Fixed crash on Python 3.12+ in speedups extension module.
- Drop patch use-pydict-size.patch, included upstream.
-------------------------------------------------------------------
Thu Mar 6 04:05:59 UTC 2025 - Steve Kowalik <steven.kowalik@suse.com>

View File

@@ -17,14 +17,12 @@
Name: python-Logbook
Version: 1.8.0
Version: 1.8.1
Release: 0
Summary: A logging replacement for Python
License: BSD-3-Clause
URL: https://github.com/getlogbook/logbook
Source: https://files.pythonhosted.org/packages/source/l/logbook/logbook-%{version}.tar.gz
# PATCH-FIX-UPSTREAM gh#getlogbook/logbook#413
Patch0: use-pydict-size.patch
BuildRequires: %{python_module Brotli}
BuildRequires: %{python_module Cython}
BuildRequires: %{python_module Jinja2}

View File

@@ -1,36 +0,0 @@
From db82f93b90b15794fdc720c98eda07bdd273c260 Mon Sep 17 00:00:00 2001
From: Steve Kowalik <steven@wedontsleep.org>
Date: Thu, 6 Mar 2025 14:56:42 +1100
Subject: [PATCH] Use PyDict methods in ContextStackManager
With Python 3.12+, calling PyList_GET_SIZE on a dict object results in an
assertion error followed by an abort. Correct this by using PyDict_Size
on the cache object.
---
src/cython/speedups.pyx | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/cython/speedups.pyx b/src/cython/speedups.pyx
index a4bb55a..3741403 100644
--- a/src/cython/speedups.pyx
+++ b/src/cython/speedups.pyx
@@ -21,8 +21,8 @@ from logbook.concurrency import (
thread_local,
)
-from cpython.dict cimport PyDict_Clear, PyDict_SetItem
-from cpython.list cimport PyList_Append, PyList_GET_SIZE, PyList_Sort
+from cpython.dict cimport PyDict_Clear, PyDict_SetItem, PyDict_Size
+from cpython.list cimport PyList_Append, PyList_Sort
from cpython.pythread cimport (
WAIT_LOCK,
PyThread_acquire_lock,
@@ -218,7 +218,7 @@ cdef class ContextStackManager:
objects = self._cache.get(tid)
if objects is None:
- if PyList_GET_SIZE(self._cache) > _MAX_CONTEXT_OBJECT_CACHE:
+ if PyDict_Size(self._cache) > _MAX_CONTEXT_OBJECT_CACHE:
PyDict_Clear(self._cache)
objects = self._global[:]
objects.extend(getattr(self._thread_context, 'stack', ()))