From ef93034729ae626be7fa73289869f79c19ac7144 Mon Sep 17 00:00:00 2001 From: "Liguros - Gitlab CI/CD [develop]" Date: Wed, 15 Apr 2026 07:12:00 +0000 Subject: Adding metadata --- dev-python/django-allauth/Manifest | 2 +- .../django-allauth/django-allauth-65.15.0.ebuild | 48 --------------- .../django-allauth/django-allauth-65.16.0.ebuild | 48 +++++++++++++++ ...x-multiprocessing-tests-under-Python-3.14.patch | 71 ++++++++++++++++++++++ .../oslo-concurrency/oslo-concurrency-7.4.0.ebuild | 5 ++ ...001-tests-Fix-test_module-for-Python-3.14.patch | 71 ++++++++++++++++++++++ .../python-openstackclient-9.0.0.ebuild | 5 ++ 7 files changed, 201 insertions(+), 49 deletions(-) delete mode 100644 dev-python/django-allauth/django-allauth-65.15.0.ebuild create mode 100644 dev-python/django-allauth/django-allauth-65.16.0.ebuild create mode 100644 dev-python/oslo-concurrency/files/0001-Fix-multiprocessing-tests-under-Python-3.14.patch create mode 100644 dev-python/python-openstackclient/files/0001-tests-Fix-test_module-for-Python-3.14.patch (limited to 'dev-python') diff --git a/dev-python/django-allauth/Manifest b/dev-python/django-allauth/Manifest index 3bb22f03e822..c2b55102f9ac 100644 --- a/dev-python/django-allauth/Manifest +++ b/dev-python/django-allauth/Manifest @@ -1,2 +1,2 @@ -DIST django_allauth-65.15.0.tar.gz 2215709 BLAKE2B 4d85f9ad50f4caea7e44e7107853d27b4a3e07f607526c2f7c151d03fe7c40be3a65b80f76df61d04a4476d6e53380b1ed97781276264685fdae0ded67f7aa4d SHA512 d27b7145a3f13af6f7a2cc3e768a56b48b82a0079f8d9ff9c4b3cdf88161d50a4630b841d8914c35836afcaa0f2ac3d023554399565ddb14f970fe9694ddafbf DIST django_allauth-65.15.1.tar.gz 2216647 BLAKE2B e971eaf633a4e22f7e2769c61bcd92d4d31f38f3073e9447ea729ac2874544490d5115eb8b94c71f18f2885607a0b4a1e41c4e62ef421bdb656918005beb0a9d SHA512 83407fdd09cebe2025ac198a3844aa255dc29c03588a5422e803f341ec7d7adcdd567ff16add6cea2ec8e17a1f12c4a38e74122b6a4caa665c97e6b408ca59c1 +DIST django_allauth-65.16.0.tar.gz 2233580 BLAKE2B 0fb9262df8522a3804d19d7760c3f1396b438ad482d67a5a250d746091fe1836942449416cb2bc6de2c9b6eb6a1373d1d48185c263a3026f44778b46fecd5ee3 SHA512 d9be15d21cb34dfdf8391c1b68c1fa22d14b3d44cb1d114350073e7129a38eb27471ea7b4d2a1eb599440931ed00d0cdbc3f5b75200df2a3aaa9bb17ace095a8 diff --git a/dev-python/django-allauth/django-allauth-65.15.0.ebuild b/dev-python/django-allauth/django-allauth-65.15.0.ebuild deleted file mode 100644 index b92a770561a9..000000000000 --- a/dev-python/django-allauth/django-allauth-65.15.0.ebuild +++ /dev/null @@ -1,48 +0,0 @@ -# Copyright 2024-2026 Liguros Authors -# Distributed under the terms of the GNU General Public License v2 -EAPI=8 - -DISTUTILS_USE_PEP517=setuptools -PYTHON_COMPAT=( python3_{10..14} ) - -inherit distutils-r1 pypi optfeature - -DESCRIPTION="Django 3rd party (social) account authentication" -HOMEPAGE=" - https://allauth.org/ - https://codeberg.org/allauth/django-allauth - https://pypi.org/project/django-allauth/ -" - -LICENSE="MIT" -SLOT="0" -KEYWORDS="~amd64" -IUSE="test" -RESTRICT="!test? ( test )" - -RDEPEND=" - >=dev-python/django-3.2[${PYTHON_USEDEP}] - >=dev-python/python3-openid-3.0.8[${PYTHON_USEDEP}] - >=dev-python/pyjwt-1.7[${PYTHON_USEDEP}] - >=dev-python/requests-oauthlib-0.3.0[${PYTHON_USEDEP}] - >=dev-python/requests-2.0.0[${PYTHON_USEDEP}] -" -# cryptography via pyjwt[crypto] -RDEPEND+=" - dev-python/cryptography[${PYTHON_USEDEP}] -" -BDEPEND=" - test? ( - >=dev-python/pillow-9.0[${PYTHON_USEDEP}] - >=dev-python/pytest-django-4.5.2[${PYTHON_USEDEP}] - >=dev-python/qrcode-7.0.0[${PYTHON_USEDEP}] - >=dev-python/python3-saml-1.15.0[${PYTHON_USEDEP}] - +Date: Mon, 13 Apr 2026 07:47:02 -0700 +Subject: [PATCH] Fix multiprocessing tests under Python 3.14 + +Python 3.14 changed the default multiprocessing start method from +'fork' to 'forkserver' (see https://github.com/python/cpython/issues/84559). +With forkserver, child processes do not inherit parent memory state, +which broke three tests: child processes could not access oslo_config +settings or pickle local function targets. + +Use multiprocessing.get_context('fork') explicitly for the affected +tests, which already assume fork semantics (the same file uses +os.fork() directly elsewhere). + +Assisted-By: claude +Change-Id: Ie89e9a12b8d69e180115018d2953ec1e689d9d98 +Signed-off-by: Jay Faulkner +--- + oslo_concurrency/tests/unit/test_lockutils.py | 12 +++++++----- + 1 file changed, 7 insertions(+), 5 deletions(-) + +diff --git a/oslo_concurrency/tests/unit/test_lockutils.py b/oslo_concurrency/tests/unit/test_lockutils.py +index 94f45dc..3e80161 100644 +--- a/oslo_concurrency/tests/unit/test_lockutils.py ++++ b/oslo_concurrency/tests/unit/test_lockutils.py +@@ -200,10 +200,11 @@ class LockTestCase(test_base.BaseTestCase): + + def _do_test_lock_externally(self): + """We can lock across multiple processes.""" ++ ctx = multiprocessing.get_context('fork') + children = [] + for n in range(50): +- queue: multiprocessing.Queue[int] = multiprocessing.Queue() +- proc = multiprocessing.Process( ++ queue: multiprocessing.Queue[int] = ctx.Queue() ++ proc = ctx.Process( + target=lock_files, args=(tempfile.mkdtemp(), queue) + ) + proc.start() +@@ -433,7 +434,8 @@ class FileBasedLockingTestCase(test_base.BaseTestCase): + def test_interprocess_nonblocking_external_lock(self): + """Check that we're not actually blocking between processes.""" + +- nb_calls = multiprocessing.Value('i', 0) ++ ctx = multiprocessing.get_context('fork') ++ nb_calls = ctx.Value('i', 0) + + @lockutils.synchronized( + 'foo', blocking=False, external=True, lock_path=self.lock_dir +@@ -446,7 +448,7 @@ class FileBasedLockingTestCase(test_base.BaseTestCase): + def other(param): + foo(param) + +- process = multiprocessing.Process(target=other, args=(nb_calls,)) ++ process = ctx.Process(target=other, args=(nb_calls,)) + process.start() + # Make sure the other process grabs the lock + start = time.time() +@@ -454,7 +456,7 @@ class FileBasedLockingTestCase(test_base.BaseTestCase): + if time.time() - start > 5: + self.fail('Timed out waiting for process to grab lock') + time.sleep(0) +- process1 = multiprocessing.Process(target=other, args=(nb_calls,)) ++ process1 = ctx.Process(target=other, args=(nb_calls,)) + process1.start() + process1.join() + process.join() +-- +2.52.0 + diff --git a/dev-python/oslo-concurrency/oslo-concurrency-7.4.0.ebuild b/dev-python/oslo-concurrency/oslo-concurrency-7.4.0.ebuild index 1a49a5dcb921..8bb80d2ec59e 100644 --- a/dev-python/oslo-concurrency/oslo-concurrency-7.4.0.ebuild +++ b/dev-python/oslo-concurrency/oslo-concurrency-7.4.0.ebuild @@ -37,6 +37,11 @@ BDEPEND=" distutils_enable_tests unittest +PATCHES=( + # https://review.opendev.org/c/openstack/oslo.concurrency/+/984403 + "${FILESDIR}/0001-Fix-multiprocessing-tests-under-Python-3.14.patch" +) + src_prepare() { # fails, then hangs rm oslo_concurrency/tests/unit/test_lockutils_eventlet.py || die diff --git a/dev-python/python-openstackclient/files/0001-tests-Fix-test_module-for-Python-3.14.patch b/dev-python/python-openstackclient/files/0001-tests-Fix-test_module-for-Python-3.14.patch new file mode 100644 index 000000000000..769e6fd926d6 --- /dev/null +++ b/dev-python/python-openstackclient/files/0001-tests-Fix-test_module-for-Python-3.14.patch @@ -0,0 +1,71 @@ +From 8f52780f9df90c3b744939486079c17da99daf59 Mon Sep 17 00:00:00 2001 +From: Jay Faulkner +Date: Mon, 13 Apr 2026 12:25:47 -0700 +Subject: [PATCH] tests: Fix test_module for Python 3.14 + +Python 3.14 changed argparse to lazily import _colorize during +ArgumentParser.__init__, triggering a chain of imports +(_colorize -> dataclasses -> inspect -> tokenize) that ends with +`from builtins import open`. The class-level mock.patch.dict on +sys.modules with clear=True removed builtins from sys.modules, +causing this import to fail with ImportError. + +Narrow the mock scope to wrap only the take_action call rather +than the entire test class, so get_parser/argparse initialization +runs with an unpatched sys.modules while take_action still +iterates the controlled set of fake modules. + +Assisted-By: claude-code +Change-Id: I0e1a2b3c4d5e6f7a8b9c0d1e2f3a4b5c6d7e8f9a +Signed-off-by: Jay Faulkner +--- + .../tests/unit/common/test_module.py | 19 ++++++++++++------- + 1 file changed, 12 insertions(+), 7 deletions(-) + +diff --git a/openstackclient/tests/unit/common/test_module.py b/openstackclient/tests/unit/common/test_module.py +index 83962036..a992b31f 100644 +--- a/openstackclient/tests/unit/common/test_module.py ++++ b/openstackclient/tests/unit/common/test_module.py +@@ -128,11 +128,6 @@ class TestCommandList(utils.TestCommand): + self.assertEqual(datalist, tuple(data)) + + +-@mock.patch.dict( +- 'openstackclient.common.module.sys.modules', +- values=MODULES, +- clear=True, +-) + class TestModuleList(utils.TestCommand): + def setUp(self): + super().setUp() +@@ -150,7 +145,12 @@ class TestModuleList(utils.TestCommand): + # In base command class Lister in cliff, abstract method take_action() + # returns a tuple containing the column names and an iterable + # containing the data to be listed. +- columns, data = self.cmd.take_action(parsed_args) ++ with mock.patch.dict( ++ 'openstackclient.common.module.sys.modules', ++ values=MODULES, ++ clear=True, ++ ): ++ columns, data = self.cmd.take_action(parsed_args) + + # Output xxxclient and openstacksdk, but not regular module, like: zlib + self.assertIn(module_name_1, columns) +@@ -177,7 +177,12 @@ class TestModuleList(utils.TestCommand): + # In base command class Lister in cliff, abstract method take_action() + # returns a tuple containing the column names and an iterable + # containing the data to be listed. +- columns, data = self.cmd.take_action(parsed_args) ++ with mock.patch.dict( ++ 'openstackclient.common.module.sys.modules', ++ values=MODULES, ++ clear=True, ++ ): ++ columns, data = self.cmd.take_action(parsed_args) + + # Output xxxclient, openstacksdk and regular module, like: zlib + self.assertIn(module_name_1, columns) +-- +2.52.0 + diff --git a/dev-python/python-openstackclient/python-openstackclient-9.0.0.ebuild b/dev-python/python-openstackclient/python-openstackclient-9.0.0.ebuild index ceeb3f22c7d6..3a6e3dce85eb 100644 --- a/dev-python/python-openstackclient/python-openstackclient-9.0.0.ebuild +++ b/dev-python/python-openstackclient/python-openstackclient-9.0.0.ebuild @@ -44,6 +44,11 @@ BDEPEND=" distutils_enable_tests unittest +PATCHES=( + # https://review.opendev.org/c/openstack/python-openstackclient/+/984455 + "${FILESDIR}/0001-tests-Fix-test_module-for-Python-3.14.patch" +) + src_prepare() { # Depends on a specific runner sed -e 's/test_command_has_logger/_&/' \ -- cgit v1.3.1