- Add patch use-logging-lock-directly.patch:

* Use logging._lock as a context manager.
- Switch to autosetup macro.

OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-logutils?expand=0&rev=17
This commit is contained in:
Steve Kowalik 2024-09-10 03:08:41 +00:00 committed by Git OBS Bridge
parent a2d8452bfa
commit 24b9fa9ee3
3 changed files with 76 additions and 5 deletions

View File

@ -1,3 +1,10 @@
-------------------------------------------------------------------
Tue Sep 10 03:08:22 UTC 2024 - Steve Kowalik <steven.kowalik@suse.com>
- Add patch use-logging-lock-directly.patch:
* Use logging._lock as a context manager.
- Switch to autosetup macro.
-------------------------------------------------------------------
Thu Sep 5 18:08:30 UTC 2024 - Christoph G <foss@grueninger.de>

View File

@ -21,14 +21,15 @@ Version: 0.3.5
Release: 0
Summary: Logging utilities
License: BSD-3-Clause
Group: Development/Languages/Python
URL: https://logutils.readthedocs.io/
Source: https://files.pythonhosted.org/packages/source/l/logutils/logutils-%{version}.tar.gz
Patch0: sphinx4.patch
# PATCH-FIX-UPSTREAM logutils-pr1-fix-testasserts-py3.12.patch https://bitbucket.org/vinay.sajip/logutils/pull-requests/1
Patch1: https://bitbucket.org/hugovk/logutils/commits/0a3af211128567c437e68261a02591ffe2682d95/raw#/logutils-pr1-fix-testasserts-py3.12.patch
# PATCH-FIX-UPSTREA logutils-intersphinx.patch
# PATCH-FIX-UPSTREAM logutils-intersphinx.patch
Patch2: logutils-intersphinx.patch
# PATCH-FIX-OPENSUSE Use logging._lock as a context manager directly
Patch3: use-logging-lock-directly.patch
BuildRequires: %{python_module pip}
BuildRequires: %{python_module redis}
BuildRequires: %{python_module setuptools}
@ -51,7 +52,6 @@ of Python and so are packaged here.
%package -n python-logutils-doc
Summary: Documentation for %{name}
Group: Documentation/Other
Provides: %{python_module logutils-doc = %{version}}
%description -n python-logutils-doc
@ -66,8 +66,7 @@ of Python and so are packaged here.
This package contains the documentation.
%prep
%setup -q -n logutils-%{version}
%autopatch -p1
%autosetup -p1 -n logutils-%{version}
%build
%pyproject_wheel

View File

@ -0,0 +1,65 @@
Index: logutils-0.3.5/logutils/dictconfig.py
===================================================================
--- logutils-0.3.5.orig/logutils/dictconfig.py
+++ logutils-0.3.5/logutils/dictconfig.py
@@ -290,8 +290,7 @@ class DictConfigurator(BaseConfigurator)
raise ValueError("Unsupported version: %s" % config['version'])
incremental = config.pop('incremental', False)
EMPTY_DICT = {}
- logging._acquireLock()
- try:
+ with logging._lock:
if incremental:
handlers = config.get('handlers', EMPTY_DICT)
# incremental handler config only if handler name
@@ -430,8 +429,6 @@ class DictConfigurator(BaseConfigurator)
e = sys.exc_info()[1]
raise ValueError('Unable to configure root '
'logger: %s' % e)
- finally:
- logging._releaseLock()
def configure_formatter(self, config):
"""Configure a formatter from a dictionary."""
Index: logutils-0.3.5/tests/test_dictconfig.py
===================================================================
--- logutils-0.3.5.orig/tests/test_dictconfig.py
+++ logutils-0.3.5/tests/test_dictconfig.py
@@ -39,8 +39,7 @@ class ConfigDictTest(unittest.TestCase):
self.adapter = LoggerAdapter(l, {})
logger_dict = logging.getLogger().manager.loggerDict
- logging._acquireLock()
- try:
+ with logging._lock:
self.saved_handlers = logging._handlers.copy()
self.saved_handler_list = logging._handlerList[:]
self.saved_loggers = logger_dict.copy()
@@ -49,8 +48,6 @@ class ConfigDictTest(unittest.TestCase):
else:
self.saved_level_to_name = logging._levelToName.copy()
self.saved_name_to_level = logging._nameToLevel.copy()
- finally:
- logging._releaseLock()
self.root_logger = logging.getLogger("")
self.original_logging_level = self.root_logger.getEffectiveLevel()
@@ -58,8 +55,7 @@ class ConfigDictTest(unittest.TestCase):
def tearDown(self):
self.root_logger.setLevel(self.original_logging_level)
- logging._acquireLock()
- try:
+ with logging._lock:
if hasattr(logging, '_levelNames'):
logging._levelNames.clear()
logging._levelNames.update(self.saved_level_names)
@@ -74,8 +70,6 @@ class ConfigDictTest(unittest.TestCase):
loggerDict = logging.getLogger().manager.loggerDict
loggerDict.clear()
loggerDict.update(self.saved_loggers)
- finally:
- logging._releaseLock()
message_num = 0