Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package python315 for openSUSE:Factory checked in at 2026-04-19 14:20:58 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/python315 (Old) and /work/SRC/openSUSE:Factory/.python315.new.11940 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python315" Sun Apr 19 14:20:58 2026 rev:11 rq:1347984 version:3.15.0~a8 Changes: -------- --- /work/SRC/openSUSE:Factory/python315/python315.changes 2026-04-09 16:21:36.718787488 +0200 +++ /work/SRC/openSUSE:Factory/.python315.new.11940/python315.changes 2026-04-19 14:21:24.202190211 +0200 @@ -1,0 +2,14 @@ +Sat Apr 18 22:38:25 UTC 2026 - Matej Cepl <[email protected]> + +- Rewrite structure of Python interpreter packages. + `python3*` symbols should be now provided by real python3 + packages and its subpackages instead of the virtual provides + (bsc#1258364). + +------------------------------------------------------------------- +Wed Apr 15 09:53:57 UTC 2026 - Matej Cepl <[email protected]> + +- bsc#1261970 (CVE-2026-3446, gh#python/cpython#145264) has been + already fixed by the previous updated. Changelog updated. + +------------------------------------------------------------------- @@ -352 +366 @@ - end of the encoded data. + end of the encoded data (bsc#1261970, CVE-2026-3446). ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ python315.spec ++++++ --- /var/tmp/diff_new_pack.Pj4TU8/_old 2026-04-19 14:21:25.370237706 +0200 +++ /var/tmp/diff_new_pack.Pj4TU8/_new 2026-04-19 14:21:25.374237870 +0200 @@ -245,8 +245,10 @@ BuildRequires: pkgconfig(uuid) BuildRequires: pkgconfig(zlib) #!BuildIgnore: gdk-pixbuf-loader-rsvg -%if 0%{?suse_version} >= 1550 +%if 0%{?suse_version} >= 1550 && %{without base} # The provider for python(abi) is in rpm-build-python +# Skip for the base flavor: rpm-build-python requires python3-base, which +# creates an unresolvable dependency loop when building python3xx-base itself. BuildRequires: rpm-build-python %endif %if 0%{?suse_version} >= 1500 && 0%{?suse_version} < 1599 @@ -300,11 +302,6 @@ Recommends: %{python_pkg_name}-dbm Recommends: %{python_pkg_name}-pip %obsolete_python_versioned -%if %{primary_interpreter} -Provides: python3 = %{python_version} -Provides: python3-readline -Provides: python3-sqlite3 -%endif %endif %{?suse_build_hwcaps_libs} @@ -332,9 +329,6 @@ Summary: TkInter, a Python Tk Interface Requires: %{python_pkg_name} = %{version} %obsolete_python_versioned tk -%if %{primary_interpreter} -Provides: python3-tk = %{version} -%endif %description -n %{python_pkg_name}-tk Python interface to Tk. Tk is the GUI toolkit that comes with Tcl. @@ -343,9 +337,6 @@ Summary: Python Interface to the (N)Curses Library Requires: %{python_pkg_name} = %{version} %obsolete_python_versioned curses -%if %{primary_interpreter} -Provides: python3-curses -%endif %description -n %{python_pkg_name}-curses An easy to use interface to the (n)curses CUI library. CUI stands for @@ -355,9 +346,6 @@ Summary: Python Interface to the GDBM Library Requires: %{python_pkg_name} = %{version} %obsolete_python_versioned dbm -%if %{primary_interpreter} -Provides: python3-dbm -%endif %description -n %{python_pkg_name}-dbm An easy to use interface for Unix DBM databases, and more specifically, @@ -367,9 +355,6 @@ Summary: Python Statistical Sampling Profiler Requires: %{python_pkg_name} = %{version} %obsolete_python_versioned profiling -%if %{primary_interpreter} -Provides: python3-profiling -%endif %description -n %{python_pkg_name}-profiling Statistical sampling profiler as profiling.sampling. This @@ -391,9 +376,6 @@ Requires: %{python_pkg_name} = %{version} Requires: %{python_pkg_name}-tk %obsolete_python_versioned idle -%if %{primary_interpreter} -Provides: python3-idle = %{version} -%endif %description -n %{python_pkg_name}-idle IDLE is a Tkinter based integrated development environment for Python. @@ -405,9 +387,6 @@ Summary: Package Documentation for Python 3 Enhances: %{python_pkg_name} = %{python_version} %obsolete_python_versioned doc -%if %{primary_interpreter} -Provides: python3-doc = %{version} -%endif %description -n %{python_pkg_name}-doc Tutorial, Global Module Index, Language Reference, Library Reference, @@ -417,9 +396,6 @@ %package -n %{python_pkg_name}-doc-devhelp Summary: Additional Package Documentation for Python 3 in devhelp format %obsolete_python_versioned doc-devhelp -%if %{primary_interpreter} -Provides: python3-doc-devhelp = %{version} -%endif %description -n %{python_pkg_name}-doc-devhelp Tutorial, Global Module Index, Language Reference, Library Reference, @@ -444,16 +420,10 @@ %obsolete_python_versioned typing # python3-xml was merged into python3, now moved into -base Provides: %{python_pkg_name}-xml = %{version} -%if %{primary_interpreter} -Provides: python3-asyncio = %{version} -Obsoletes: python3-asyncio < %{version} -Provides: python3-base = %{version} -Obsoletes: python3-base < %{version} -Provides: python3-typing = %{version} -Obsoletes: python3-typing < %{version} -Provides: python3-xml = %{version} -Obsoletes: python3-xml < %{version} -%endif +# Explicitly provided because rpm-build-python (which auto-generates this) +# cannot be installed in the base flavor build root due to a bootstrap cycle: +# rpm-build-python -> python3-base -> (this package) +Provides: python(abi) = %{python_version} %description -n %{python_pkg_name}-base Python is an interpreted, object-oriented programming language, and is @@ -477,11 +447,6 @@ Requires: %{python_pkg_name}-base = %{version} Provides: %{python_pkg_name}-demo = %{version} %obsolete_python_versioned tools -%if %{primary_interpreter} -Provides: python3-demo = %{version} -Provides: python3-tools = %{version} -Obsoletes: python3-demo < %{version} -%endif %description -n %{python_pkg_name}-tools A number of scripts that are useful for building, testing or extending Python, @@ -491,9 +456,6 @@ Summary: Include Files and Libraries Mandatory for Building Python Modules Requires: %{python_pkg_name}-base = %{version} %obsolete_python_versioned devel -%if %{primary_interpreter} -Provides: python3-devel = %{version} -%endif %description -n %{python_pkg_name}-devel The Python programming language's interpreter can be extended with @@ -511,9 +473,6 @@ Requires: %{python_pkg_name} = %{version} Requires: %{python_pkg_name}-tk = %{version} %obsolete_python_versioned testsuite -%if %{primary_interpreter} -Provides: python3-testsuite = %{version} -%endif %description -n %{python_pkg_name}-testsuite Unit tests that are useful for verifying integrity and functionality @@ -826,20 +785,12 @@ find "%{buildroot}/%{sitedir}/$dir"/* -maxdepth 0 -name "test" -o -exec rm -rf {} + done -# overwrite the copied binary with a link -ln -sf python%{python_version} %{buildroot}%{_bindir}/python3 - -# decide to ship python3 or just python3.X -%if !%{primary_interpreter} -# base rm %{buildroot}%{_bindir}/python3 rm %{buildroot}%{_bindir}/pydoc3 rm %{buildroot}%{_mandir}/man1/python3.1 -# devel rm %{buildroot}%{_bindir}/python3-config rm %{buildroot}%{_libdir}/libpython3.so rm %{buildroot}%{_libdir}/pkgconfig/{python3,python3-embed}.pc -%endif %if %{with externally_managed} # PEP-0668 mark this as a distro maintained python @@ -872,7 +823,13 @@ find "$PDOCS" -name "*.bat" -delete # put gdb helper script into place -install -m 755 -D Tools/gdb/libpython.py %{buildroot}%{_datadir}/gdb/auto-load/%{_libdir}/libpython%{python_abi}.so.%{so_major}.%{so_minor}-gdb.py +%define gdb_help_script libpython%{python_abi}.so.%{so_major}.%{so_minor}-gdb.py +install -m 755 -D Tools/gdb/libpython.py \ + %{buildroot}%{_datadir}/gdb/auto-load/%{_libdir}/%{gdb_help_script} +# don't use %python315_fix_shebang_path to avoid circular dependency via +# python-rpm-macros +sed -i "1s@#\!.*python[^ ]*@#\!%{_bindir}/python%{python_version}@" \ + %{buildroot}%{_datadir}/gdb/auto-load/%{_libdir}/%{gdb_help_script} # install devel files to /config #cp Makefile Makefile.pre.in Makefile.pre $RPM_BUILD_ROOT%%{sitedir}/config-%%{python_abi}/ @@ -995,16 +952,10 @@ %files -n %{python_pkg_name}-devel %{_libdir}/libpython%{python_abi}.so -%if %{primary_interpreter} -%{_libdir}/libpython3.so -%endif %{_libdir}/pkgconfig/* %{_includedir}/python%{python_abi} %{sitedir}/config-%{python_abi}-* %{_bindir}/python%{python_abi}-config -%if %{primary_interpreter} -%{_bindir}/python3-config -%endif # Own these directories to not depend on gdb %dir %{_datadir}/gdb %dir %{_datadir}/gdb/auto-load @@ -1038,9 +989,6 @@ %doc %{_docdir}/%{name}/README.rst %license LICENSE %doc %{_docdir}/%{name}/README.SUSE -%if %{primary_interpreter} -%{_mandir}/man1/python3.1%{?ext_man} -%endif %if %{with GIL} %{_mandir}/man1/python%{python_version}.1%{?ext_man} @@ -1169,11 +1117,6 @@ # import-failed hooks %{sitedir}/_import_failed %{sitedir}/site-packages/zzzz-import-failed-hooks.pth -# symlinks -%if %{primary_interpreter} -%{_bindir}/python3 -%{_bindir}/pydoc3 -%endif # executables %if %{with GIL} %attr(755, root, root) %{_bindir}/pydoc%{python_version} ++++++ _scmsync.obsinfo ++++++ --- /var/tmp/diff_new_pack.Pj4TU8/_old 2026-04-19 14:21:25.530244213 +0200 +++ /var/tmp/diff_new_pack.Pj4TU8/_new 2026-04-19 14:21:25.542244701 +0200 @@ -1,6 +1,6 @@ -mtime: 1775649775 -commit: d69fcb54a7f08cdcfbae03dc041ba05d9fcfffce49d77b49c8d8b0ba141e9850 +mtime: 1776551935 +commit: 0423793472b21025e87b219bee6e4c8c2678921d4b45a7638fcb07e7f007249e url: https://src.opensuse.org/python-interpreters/python315.git -revision: d69fcb54a7f08cdcfbae03dc041ba05d9fcfffce49d77b49c8d8b0ba141e9850 +revision: 0423793472b21025e87b219bee6e4c8c2678921d4b45a7638fcb07e7f007249e projectscmsync: https://src.opensuse.org/python-interpreters/_ObsPrj ++++++ build.specials.obscpio ++++++ ++++++ build.specials.obscpio ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/.gitignore new/.gitignore --- old/.gitignore 1970-01-01 01:00:00.000000000 +0100 +++ new/.gitignore 2026-04-19 00:39:16.000000000 +0200 @@ -0,0 +1,5 @@ +*.obscpio +*.osc +_build.* +.pbuild +python315-*-build/
