Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package python-pybase64 for openSUSE:Factory
checked in at 2026-08-09 21:44:48
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-pybase64 (Old)
and /work/SRC/openSUSE:Factory/.python-pybase64.new.16738 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-pybase64"
Sun Aug 9 21:44:48 2026 rev:2 rq:1370370 version:1.5.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-pybase64/python-pybase64.changes
2026-07-14 13:47:16.021533521 +0200
+++
/work/SRC/openSUSE:Factory/.python-pybase64.new.16738/python-pybase64.changes
2026-08-09 21:46:53.005893379 +0200
@@ -1,0 +2,31 @@
+Sun Aug 9 04:48:42 UTC 2026 - Martin Pluskal <[email protected]>
+
+- Update to 1.5.0:
+ * Fix invalid data being decoded successfully when using altchars
+ and the slice ends with padding
+ * Fix a thread safety issue when selecting the codec
+ * Speed up translation on aarch64
+ * Add padded and wrapcol parameters to b64encode, and a padded
+ parameter to urlsafe_b64encode, b64decode and urlsafe_b64decode
+ * Add ignorechars and canonical parameters to b64decode
+ * urlsafe_b64decode now defaults to padded=False, aligning it with
+ the Python 3.15 behaviour
+ * Handle excess padding the same way CPython 3.15 does
+ * Reject non-ASCII strings in b64decode when validate is false
+ * Deprecate accepting the + and / characters with an alternative
+ alphabet when decoding
+ * Raise ValueError instead of AssertionError when validating the
+ altchars length
+ * Drop support for Python 3.8
+- Run the parts of the upstream pytest suite that the sdist supports in
+ %check, alongside the existing round-trip smoke test. The sdist omits
+ the tests/utils.py helper, so tests/test_pybase64.py and
+ tests/test_benchmark.py cannot be imported, but test_main.py and
+ test_packaging.py are self-contained and now run; test_sbom is
+ deselected because it asserts a CycloneDX SBOM that only the official
+ PyPI wheels carry.
+- Add a setuptools >= 77 build requirement, as upstream declares. The
+ floor is real: the PEP 639 License-Expression metadata that the test
+ suite asserts on is only emitted from setuptools 77 onwards.
+
+-------------------------------------------------------------------
Old:
----
pybase64-1.4.3.tar.gz
New:
----
pybase64-1.5.0.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-pybase64.spec ++++++
--- /var/tmp/diff_new_pack.v6bEIE/_old 2026-08-09 21:46:54.865956808 +0200
+++ /var/tmp/diff_new_pack.v6bEIE/_new 2026-08-09 21:46:54.869956944 +0200
@@ -1,7 +1,7 @@
#
# spec file for package python-pybase64
#
-# Copyright (c) 2026 SUSE LLC
+# Copyright (c) 2026 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
@@ -18,7 +18,7 @@
%{?sle15_python_module_pythons}
Name: python-pybase64
-Version: 1.4.3
+Version: 1.5.0
Release: 0
Summary: Fast Base64 encoding/decoding
License: BSD-2-Clause
@@ -26,7 +26,11 @@
Source:
https://files.pythonhosted.org/packages/source/p/pybase64/pybase64-%{version}.tar.gz
BuildRequires: %{python_module devel}
BuildRequires: %{python_module pip}
-BuildRequires: %{python_module setuptools}
+BuildRequires: %{python_module pytest}
+# Upstream pyproject.toml: requires = ["setuptools>=77"]. The floor matters:
+# PEP 639 License-Expression metadata, which the test suite asserts on, is
+# only emitted from setuptools 77 onwards.
+BuildRequires: %{python_module setuptools >= 77}
BuildRequires: %{python_module wheel}
BuildRequires: cmake
BuildRequires: fdupes
@@ -54,12 +58,16 @@
%python_expand %fdupes %{buildroot}%{$python_sitearch}
%check
-# The PyPI sdist ships the tests directory but omits the tests/utils.py
-# helper module and conftest.py (they live only in the git tree), so every
-# test module fails to import with "No module named 'tests.utils'". The
-# pytest suite is therefore not runnable from the sdist; fall back to an
-# import plus round-trip functional smoke test against the built C extension.
-%python_expand PYTHONPATH=%{buildroot}%{$python_sitearch} $python -c "import
pybase64; assert pybase64.b64decode(pybase64.b64encode(b'hello world')) ==
b'hello world'; print(pybase64.b64encode(b'x'))"
+# The PyPI sdist ships tests/ but omits the tests/utils.py helper, which lives
+# only in the git tree, so tests/test_pybase64.py and tests/test_benchmark.py
+# cannot even be imported - both start with "from . import utils".
+# test_main.py and test_packaging.py are self-contained and do run; test_sbom
+# is deselected because it asserts a CycloneDX SBOM that only the official
+# PyPI wheels carry.
+%pytest_arch tests/test_main.py tests/test_packaging.py -m "not
pypi_distribution"
+# The functional test module is the one that cannot run, so also exercise the
+# built C extension with a round trip.
+%python_expand PYTHONPATH=%{buildroot}%{$python_sitearch} $python -c "import
pybase64; assert pybase64.b64decode(pybase64.b64encode(b'hello world')) ==
b'hello world'"
%post
%python_install_alternative pybase64
++++++ pybase64-1.4.3.tar.gz -> pybase64-1.5.0.tar.gz ++++++
++++ 4785 lines of diff (skipped)