From ed558a1357bc472e0f52070a9b2356434e70ac50 Mon Sep 17 00:00:00 2001 From: Krzesimir Nowak Date: Tue, 6 Jan 2026 16:43:47 +0100 Subject: [PATCH 1/4] overlay profiles: Bump python to 3.12 Try to do it with in a proper Gentoo way - with PYTHON_TARGETS and PYTHON_SINGLE_TARGET variables in make.defaults. Still need to disable all other versions of python, otherwise our settings gets merged with settings from base Gentoo profiles, which currently enable python 3.13. We are not bumping to 3.13, because sec-policy/selinux-base PYTHON_COMPAT is still on at most 3.12. Note that this change still allows python 3.11 in PYTHON_TARGETS for a transition period. Otherwise the SDK builds do not go past stage1. Signed-off-by: Krzesimir Nowak --- .../profiles/coreos/base/make.defaults | 12 ++++++------ .../profiles/coreos/base/package.mask | 4 ---- .../coreos-overlay/profiles/coreos/base/use.mask | 14 -------------- 3 files changed, 6 insertions(+), 24 deletions(-) diff --git a/sdk_container/src/third_party/coreos-overlay/profiles/coreos/base/make.defaults b/sdk_container/src/third_party/coreos-overlay/profiles/coreos/base/make.defaults index 658fee2f8d7..1b87ebc6b1e 100644 --- a/sdk_container/src/third_party/coreos-overlay/profiles/coreos/base/make.defaults +++ b/sdk_container/src/third_party/coreos-overlay/profiles/coreos/base/make.defaults @@ -10,13 +10,13 @@ USE_EXPAND="${USE_EXPAND} GO_VERSION" USE="${USE} -cracklib -cups -tcpd -berkdb" -# Use Python 3 as the default version -USE="${USE} -python_single_target_python2_7 python_single_target_python3_11" -USE="${USE} -python_targets_python2_7 python_targets_python3_11" +# Use Python 3.12 as the default version, allow python 3.11 for a transition. +PYTHON_SINGLE_TARGET="-pypy3_11 -python3_11 python3_12 -python3_13 -python3_14 -python3_13t -python3_14t" +PYTHON_TARGETS="-pypy3_11 python3_11 python3_12 -python3_13 -python3_14 -python3_13t -python3_14t" -# Use Python 3 as the default version -BOOTSTRAP_USE="${BOOTSTRAP_USE} -python_single_target_python2_7 python_single_target_python3_11" -BOOTSTRAP_USE="${BOOTSTRAP_USE} -python_targets_python2_7 python_targets_python3_11" +# Same as above, but for bootstrapping. +BOOTSTRAP_USE="${BOOTSTRAP_USE} -python_single_target_pypy3_11 -python_single_target_python3_11 python_single_target_python3_12 -python_single_target_python3_13 -python_single_target_python3_14 -python_single_target_python3_13t -python_single_target_python3_14t" +BOOTSTRAP_USE="${BOOTSTRAP_USE} -python_targets_pypy3_11 python_targets_python3_11 python_targets_python3_12 -python_targets_python3_13 -python_targets_python3_14 -python_targets_python3_13t -python_targets_python3_14t" # Never install cron or cron jobs diff --git a/sdk_container/src/third_party/coreos-overlay/profiles/coreos/base/package.mask b/sdk_container/src/third_party/coreos-overlay/profiles/coreos/base/package.mask index ca897247278..b2dbf5db182 100644 --- a/sdk_container/src/third_party/coreos-overlay/profiles/coreos/base/package.mask +++ b/sdk_container/src/third_party/coreos-overlay/profiles/coreos/base/package.mask @@ -11,9 +11,5 @@ # certificate store provided in NSS rather than the Gentoo/Debian package. >=app-misc/ca-certificates-20000000 -# Python 3.12 is in portage-stable (currently testing), so avoid picking it -# up. Update this to mask later versions when we switch to 3.11. ->=dev-lang/python-3.12 - # Update engine needs updating to use a newer version of protobuf. >=dev-libs/protobuf-22.0 diff --git a/sdk_container/src/third_party/coreos-overlay/profiles/coreos/base/use.mask b/sdk_container/src/third_party/coreos-overlay/profiles/coreos/base/use.mask index 721bd1be2f6..b110ca2d876 100644 --- a/sdk_container/src/third_party/coreos-overlay/profiles/coreos/base/use.mask +++ b/sdk_container/src/third_party/coreos-overlay/profiles/coreos/base/use.mask @@ -1,20 +1,6 @@ # Never enable experimental code kdbus -# We default to python 3.11 for now -python_targets_python2_7 -python_single_target_python2_7 -python_targets_python3_8 -python_single_target_python3_8 -python_targets_python3_9 -python_single_target_python3_9 -python_targets_python3_10 -python_single_target_python3_10 -python_targets_python3_12 -python_single_target_python3_12 -python_targets_python3_13 -python_single_target_python3_13 - # Unmask selinux so it can be enabled selectively in package.use -selinux From d2368a3d8401cd622fd0b42f4bdc4e06b0cfb535 Mon Sep 17 00:00:00 2001 From: Krzesimir Nowak Date: Tue, 6 Jan 2026 15:44:27 +0100 Subject: [PATCH 2/4] overlay *: Bump some python compats to 3.14 Signed-off-by: Krzesimir Nowak --- ...90124-r2.ebuild => google-compute-engine-20190124-r3.ebuild} | 2 +- .../{xenstore-4.14.2-r2.ebuild => xenstore-4.14.2-r3.ebuild} | 2 +- ...ertificates-3.120.ebuild => ca-certificates-3.120-r1.ebuild} | 2 +- ...eos-init-0.0.1-r201.ebuild => coreos-init-0.0.1-r202.ebuild} | 0 .../coreos-base/coreos-init/coreos-init-9999.ebuild | 2 +- ...lone-0.0.1-r592.ebuild => emerge-gitclone-0.0.1-r593.ebuild} | 0 .../coreos-base/emerge-gitclone/emerge-gitclone-9999.ebuild | 2 +- .../boto/{boto-2.49.0-r7.ebuild => boto-2.49.0-r8.ebuild} | 2 +- ...sdk-355.0.0-r3.ebuild => google-cloud-sdk-355.0.0-r4.ebuild} | 2 +- 9 files changed, 7 insertions(+), 7 deletions(-) rename sdk_container/src/third_party/coreos-overlay/app-emulation/google-compute-engine/{google-compute-engine-20190124-r2.ebuild => google-compute-engine-20190124-r3.ebuild} (95%) rename sdk_container/src/third_party/coreos-overlay/app-emulation/xenstore/{xenstore-4.14.2-r2.ebuild => xenstore-4.14.2-r3.ebuild} (98%) rename sdk_container/src/third_party/coreos-overlay/app-misc/ca-certificates/{ca-certificates-3.120.ebuild => ca-certificates-3.120-r1.ebuild} (98%) rename sdk_container/src/third_party/coreos-overlay/coreos-base/coreos-init/{coreos-init-0.0.1-r201.ebuild => coreos-init-0.0.1-r202.ebuild} (100%) rename sdk_container/src/third_party/coreos-overlay/coreos-base/emerge-gitclone/{emerge-gitclone-0.0.1-r592.ebuild => emerge-gitclone-0.0.1-r593.ebuild} (100%) rename sdk_container/src/third_party/coreos-overlay/dev-python/boto/{boto-2.49.0-r7.ebuild => boto-2.49.0-r8.ebuild} (97%) rename sdk_container/src/third_party/coreos-overlay/net-misc/google-cloud-sdk/{google-cloud-sdk-355.0.0-r3.ebuild => google-cloud-sdk-355.0.0-r4.ebuild} (98%) diff --git a/sdk_container/src/third_party/coreos-overlay/app-emulation/google-compute-engine/google-compute-engine-20190124-r2.ebuild b/sdk_container/src/third_party/coreos-overlay/app-emulation/google-compute-engine/google-compute-engine-20190124-r3.ebuild similarity index 95% rename from sdk_container/src/third_party/coreos-overlay/app-emulation/google-compute-engine/google-compute-engine-20190124-r2.ebuild rename to sdk_container/src/third_party/coreos-overlay/app-emulation/google-compute-engine/google-compute-engine-20190124-r3.ebuild index 40a7a10e63c..2235e90a901 100644 --- a/sdk_container/src/third_party/coreos-overlay/app-emulation/google-compute-engine/google-compute-engine-20190124-r2.ebuild +++ b/sdk_container/src/third_party/coreos-overlay/app-emulation/google-compute-engine/google-compute-engine-20190124-r3.ebuild @@ -3,7 +3,7 @@ EAPI=8 -PYTHON_COMPAT=( python3_11 ) +PYTHON_COMPAT=( python3_{11..14} ) DISTUTILS_USE_PEP517=setuptools inherit distutils-r1 diff --git a/sdk_container/src/third_party/coreos-overlay/app-emulation/xenstore/xenstore-4.14.2-r2.ebuild b/sdk_container/src/third_party/coreos-overlay/app-emulation/xenstore/xenstore-4.14.2-r3.ebuild similarity index 98% rename from sdk_container/src/third_party/coreos-overlay/app-emulation/xenstore/xenstore-4.14.2-r2.ebuild rename to sdk_container/src/third_party/coreos-overlay/app-emulation/xenstore/xenstore-4.14.2-r3.ebuild index 69914b39af8..9becc956eba 100644 --- a/sdk_container/src/third_party/coreos-overlay/app-emulation/xenstore/xenstore-4.14.2-r2.ebuild +++ b/sdk_container/src/third_party/coreos-overlay/app-emulation/xenstore/xenstore-4.14.2-r3.ebuild @@ -4,7 +4,7 @@ EAPI=7 -PYTHON_COMPAT=( python3_{6..11} ) +PYTHON_COMPAT=( python3_{11..14} ) inherit multilib python-any-r1 systemd toolchain-funcs diff --git a/sdk_container/src/third_party/coreos-overlay/app-misc/ca-certificates/ca-certificates-3.120.ebuild b/sdk_container/src/third_party/coreos-overlay/app-misc/ca-certificates/ca-certificates-3.120-r1.ebuild similarity index 98% rename from sdk_container/src/third_party/coreos-overlay/app-misc/ca-certificates/ca-certificates-3.120.ebuild rename to sdk_container/src/third_party/coreos-overlay/app-misc/ca-certificates/ca-certificates-3.120-r1.ebuild index 6e98e259178..9523c71d1e4 100644 --- a/sdk_container/src/third_party/coreos-overlay/app-misc/ca-certificates/ca-certificates-3.120.ebuild +++ b/sdk_container/src/third_party/coreos-overlay/app-misc/ca-certificates/ca-certificates-3.120-r1.ebuild @@ -2,7 +2,7 @@ # Distributed under the terms of the GNU General Public License v2 EAPI=7 -PYTHON_COMPAT=( python3_{6..11} ) +PYTHON_COMPAT=( python3_{11..14} ) TMPFILES_OPTIONAL=1 inherit python-any-r1 systemd tmpfiles diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/coreos-init/coreos-init-0.0.1-r201.ebuild b/sdk_container/src/third_party/coreos-overlay/coreos-base/coreos-init/coreos-init-0.0.1-r202.ebuild similarity index 100% rename from sdk_container/src/third_party/coreos-overlay/coreos-base/coreos-init/coreos-init-0.0.1-r201.ebuild rename to sdk_container/src/third_party/coreos-overlay/coreos-base/coreos-init/coreos-init-0.0.1-r202.ebuild diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/coreos-init/coreos-init-9999.ebuild b/sdk_container/src/third_party/coreos-overlay/coreos-base/coreos-init/coreos-init-9999.ebuild index 54b75bb7a0e..0cc6ce030df 100644 --- a/sdk_container/src/third_party/coreos-overlay/coreos-base/coreos-init/coreos-init-9999.ebuild +++ b/sdk_container/src/third_party/coreos-overlay/coreos-base/coreos-init/coreos-init-9999.ebuild @@ -12,7 +12,7 @@ else KEYWORDS="amd64 arm arm64 x86" fi -PYTHON_COMPAT=( python3_{9..11} ) +PYTHON_COMPAT=( python3_{11..14} ) inherit git-r3 systemd python-any-r1 diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/emerge-gitclone/emerge-gitclone-0.0.1-r592.ebuild b/sdk_container/src/third_party/coreos-overlay/coreos-base/emerge-gitclone/emerge-gitclone-0.0.1-r593.ebuild similarity index 100% rename from sdk_container/src/third_party/coreos-overlay/coreos-base/emerge-gitclone/emerge-gitclone-0.0.1-r592.ebuild rename to sdk_container/src/third_party/coreos-overlay/coreos-base/emerge-gitclone/emerge-gitclone-0.0.1-r593.ebuild diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/emerge-gitclone/emerge-gitclone-9999.ebuild b/sdk_container/src/third_party/coreos-overlay/coreos-base/emerge-gitclone/emerge-gitclone-9999.ebuild index 113067d692e..d682d532acd 100644 --- a/sdk_container/src/third_party/coreos-overlay/coreos-base/emerge-gitclone/emerge-gitclone-9999.ebuild +++ b/sdk_container/src/third_party/coreos-overlay/coreos-base/emerge-gitclone/emerge-gitclone-9999.ebuild @@ -11,7 +11,7 @@ else KEYWORDS="amd64 arm arm64 x86" fi -PYTHON_COMPAT=( python3_{6..11} ) +PYTHON_COMPAT=( python3_{11..14} ) inherit git-r3 python-single-r1 diff --git a/sdk_container/src/third_party/coreos-overlay/dev-python/boto/boto-2.49.0-r7.ebuild b/sdk_container/src/third_party/coreos-overlay/dev-python/boto/boto-2.49.0-r8.ebuild similarity index 97% rename from sdk_container/src/third_party/coreos-overlay/dev-python/boto/boto-2.49.0-r7.ebuild rename to sdk_container/src/third_party/coreos-overlay/dev-python/boto/boto-2.49.0-r8.ebuild index 5dc49a7d84f..c9cdfa4ec2b 100644 --- a/sdk_container/src/third_party/coreos-overlay/dev-python/boto/boto-2.49.0-r7.ebuild +++ b/sdk_container/src/third_party/coreos-overlay/dev-python/boto/boto-2.49.0-r8.ebuild @@ -3,7 +3,7 @@ EAPI=8 -PYTHON_COMPAT=( python3_{10..11} ) +PYTHON_COMPAT=( python3_{11..14} ) DISTUTILS_USE_PEP517=setuptools inherit distutils-r1 pypi diff --git a/sdk_container/src/third_party/coreos-overlay/net-misc/google-cloud-sdk/google-cloud-sdk-355.0.0-r3.ebuild b/sdk_container/src/third_party/coreos-overlay/net-misc/google-cloud-sdk/google-cloud-sdk-355.0.0-r4.ebuild similarity index 98% rename from sdk_container/src/third_party/coreos-overlay/net-misc/google-cloud-sdk/google-cloud-sdk-355.0.0-r3.ebuild rename to sdk_container/src/third_party/coreos-overlay/net-misc/google-cloud-sdk/google-cloud-sdk-355.0.0-r4.ebuild index 224311acb3e..5c95d908226 100644 --- a/sdk_container/src/third_party/coreos-overlay/net-misc/google-cloud-sdk/google-cloud-sdk-355.0.0-r3.ebuild +++ b/sdk_container/src/third_party/coreos-overlay/net-misc/google-cloud-sdk/google-cloud-sdk-355.0.0-r4.ebuild @@ -3,7 +3,7 @@ EAPI=7 -PYTHON_COMPAT=( python3_{6..11} ) +PYTHON_COMPAT=( python3_{11..14} ) inherit bash-completion-r1 python-single-r1 From b560c371a96d8c6c8142c737089fd55a559830de Mon Sep 17 00:00:00 2001 From: Krzesimir Nowak Date: Wed, 7 Jan 2026 12:09:21 +0100 Subject: [PATCH 3/4] changelog: Add an entry Signed-off-by: Krzesimir Nowak --- changelog/updates/2026-01-07-python-bump.md | 1 + 1 file changed, 1 insertion(+) create mode 100644 changelog/updates/2026-01-07-python-bump.md diff --git a/changelog/updates/2026-01-07-python-bump.md b/changelog/updates/2026-01-07-python-bump.md new file mode 100644 index 00000000000..187a607b7f7 --- /dev/null +++ b/changelog/updates/2026-01-07-python-bump.md @@ -0,0 +1 @@ +- python ([3.12.12](https://www.python.org/downloads/release/python-31212/) (includes [3.12.0](https://www.python.org/downloads/release/python-3120/))) From 44eff64a97d503ccbd01fd1228c65185187a8688 Mon Sep 17 00:00:00 2001 From: Krzesimir Nowak Date: Tue, 13 Jan 2026 10:41:10 +0100 Subject: [PATCH 4/4] overlay profiles: Keep masking unwanted python versions Signed-off-by: Krzesimir Nowak --- .../coreos-overlay/profiles/coreos/base/package.mask | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/sdk_container/src/third_party/coreos-overlay/profiles/coreos/base/package.mask b/sdk_container/src/third_party/coreos-overlay/profiles/coreos/base/package.mask index b2dbf5db182..69b5d00fdcc 100644 --- a/sdk_container/src/third_party/coreos-overlay/profiles/coreos/base/package.mask +++ b/sdk_container/src/third_party/coreos-overlay/profiles/coreos/base/package.mask @@ -13,3 +13,9 @@ # Update engine needs updating to use a newer version of protobuf. >=dev-libs/protobuf-22.0 + +# Do not install python versions that were "disabled" in +# PYTHON_TARGETS. For some reason emerge still insists on installing +# those as a dependency for some packages. +=dev-lang/python-3.13