From fe84c38c167f2b43afd0dccc32768baec85c5bd28e0ee52b3e5f32289a737227 Mon Sep 17 00:00:00 2001 From: Steve Kowalik Date: Wed, 15 Jan 2025 05:50:58 +0000 Subject: [PATCH 1/3] - Split out the primary Python build. OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-setuptools?expand=0&rev=282 --- _multibuild | 1 + python-setuptools.changes | 5 +++++ python-setuptools.spec | 30 ++++++++++++++++++++++++++++-- 3 files changed, 34 insertions(+), 2 deletions(-) diff --git a/_multibuild b/_multibuild index fcc7b97..d0dc7ba 100644 --- a/_multibuild +++ b/_multibuild @@ -1,3 +1,4 @@ test + primary diff --git a/python-setuptools.changes b/python-setuptools.changes index 91d38ea..a2a3902 100644 --- a/python-setuptools.changes +++ b/python-setuptools.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +Wed Jan 15 05:49:12 UTC 2025 - Steve Kowalik + +- Split out the primary Python build. + ------------------------------------------------------------------- Fri Nov 22 08:40:51 UTC 2024 - Dirk Müller diff --git a/python-setuptools.spec b/python-setuptools.spec index c05dc37..f2ce07b 100644 --- a/python-setuptools.spec +++ b/python-setuptools.spec @@ -1,7 +1,7 @@ # # spec file for package python-setuptools # -# Copyright (c) 2024 SUSE LLC +# Copyright (c) 2025 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -17,8 +17,31 @@ %global flavor @BUILD_FLAVOR@%{nil} +%if 0%{?suse_version} >= 1550 +%if "%{flavor}" == "primary" +# this one is goes into Ring0: Bootstrap for primary python stack +%define pprefix %{primary_python} +%define pythons %{primary_python} +%define psuffix %{nil} +%endif +%if "%{flavor}" == "" +# The rest is in Ring1 +%define pprefix python +%{expand:%%define skip_%{primary_python} 1} +%define psuffix %{nil} +%endif +%else +# backport and option d projects for 15.X having one or more python in the buildset don't need the Ring split for bootstrap +%if "%{flavor}" == "primary" +%define python_module() invalid-multibuild-flavor-for-15.X +ExclusiveArch: do-not-build +%else +%define pprefix python +%endif +%endif %if "%{flavor}" == "test" %define psuffix -test +%define pprefix python %bcond_without test %endif %if "%{flavor}" == "" @@ -29,7 +52,7 @@ # in order to avoid rewriting for subpackage generator %define mypython python %{?sle15_python_module_pythons} -Name: python-setuptools%{psuffix} +Name: %{pprefix}-setuptools%{psuffix} Version: 75.6.0 Release: 0 Summary: Download, build, install, upgrade, and uninstall Python packages @@ -69,6 +92,9 @@ BuildRequires: %{python_module virtualenv >= 13.0.0} %if 0%{?suse_version} || 0%{?fedora_version} >= 24 Recommends: ca-certificates-mozilla %endif +%if "%{flavor}" == "primary" +Provides: %{mypython}3-setuptools = %{version}-%{release} +%endif %python_subpackages %description From 7f0892801d1c3e87809101e2e26d806e3bc478b44ef9922721ebc4642775ba12 Mon Sep 17 00:00:00 2001 From: Nico Krapp Date: Wed, 15 Jan 2025 16:42:06 +0000 Subject: [PATCH 2/3] - Explicitly BuildRequire python-rpm-packaging: when primary flavor is added, this is auto-installed by dependencies. But as we now build the primary flavor separated, we have to ensure to also have it present in the other cases, in order to get the python(abi) dependencies added. - Split out the primary Python build. OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-setuptools?expand=0&rev=283 --- python-setuptools.changes | 11 ++++++++++- python-setuptools.spec | 1 + 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/python-setuptools.changes b/python-setuptools.changes index a2a3902..53de4b0 100644 --- a/python-setuptools.changes +++ b/python-setuptools.changes @@ -1,7 +1,16 @@ +------------------------------------------------------------------- +Wed Jan 15 15:27:23 UTC 2025 - Dominique Leuenberger + +- Explicitly BuildRequire python-rpm-packaging: when primary flavor + is added, this is auto-installed by dependencies. But as we now + build the primary flavor separated, we have to ensure to also + have it present in the other cases, in order to get the python(abi) + dependencies added. + ------------------------------------------------------------------- Wed Jan 15 05:49:12 UTC 2025 - Steve Kowalik -- Split out the primary Python build. +- Split out the primary Python build. ------------------------------------------------------------------- Fri Nov 22 08:40:51 UTC 2024 - Dirk Müller diff --git a/python-setuptools.spec b/python-setuptools.spec index f2ce07b..1478c1e 100644 --- a/python-setuptools.spec +++ b/python-setuptools.spec @@ -64,6 +64,7 @@ Patch0: sort-for-reproducibility.patch BuildRequires: %{python_module base >= 3.9} BuildRequires: fdupes BuildRequires: python-rpm-macros +BuildRequires: python-rpm-packaging Requires(post): update-alternatives Requires(postun): update-alternatives BuildArch: noarch From 7d39e050345aaaafc479a78be3be5ec5a182cbd0725ea36ffc5a7a8753851417 Mon Sep 17 00:00:00 2001 From: Steve Kowalik Date: Thu, 16 Jan 2025 01:56:23 +0000 Subject: [PATCH 3/3] - Also provide python3-setuptools-wheel for the primary flavor. OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-setuptools?expand=0&rev=284 --- python-setuptools.changes | 5 +++++ python-setuptools.spec | 3 +++ 2 files changed, 8 insertions(+) diff --git a/python-setuptools.changes b/python-setuptools.changes index 53de4b0..f277da2 100644 --- a/python-setuptools.changes +++ b/python-setuptools.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +Thu Jan 16 01:55:52 UTC 2025 - Steve Kowalik + +- Also provide python3-setuptools-wheel for the primary flavor. + ------------------------------------------------------------------- Wed Jan 15 15:27:23 UTC 2025 - Dominique Leuenberger diff --git a/python-setuptools.spec b/python-setuptools.spec index 1478c1e..4dbb619 100644 --- a/python-setuptools.spec +++ b/python-setuptools.spec @@ -106,6 +106,9 @@ especially ones that have dependencies on other packages. %package wheel Summary: The setuptools wheel for custom tests and install requirements Requires: %mypython(abi) = %python_version +%if "%{flavor}" == "primary" +Provides: %{mypython}3-setuptools-wheel = %{version}-%{release} +%endif %description wheel This packages provides the setuptools wheel as separate file for cases where