From 5dfb62c7e87ed9abc98d71cf3e64d966e8c52efa Mon Sep 17 00:00:00 2001 From: Krzesimir Nowak Date: Tue, 6 Jan 2026 16:43:47 +0100 Subject: [PATCH 1/3] overlay profiles: Bump python to 3.12 Try to do it with in a kinda-sorta 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. And we also need to keep masking the other python versions, because emerge still for some reason wants to install python 3.13 or 3.14 for some packages, despite the settings in PYTHON_TARGETS. 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. We only restrict generic images to 3.12 only, otherwise we would end up with two python version installed in sysext images. Signed-off-by: Krzesimir Nowak --- .../profiles/coreos/base/make.defaults | 12 ++++++------ .../profiles/coreos/base/package.mask | 10 ++++++---- .../coreos-overlay/profiles/coreos/base/use.mask | 14 -------------- .../profiles/coreos/targets/generic/make.defaults | 4 ++++ .../profiles/coreos/targets/generic/package.mask | 8 ++++++++ 5 files changed, 24 insertions(+), 24 deletions(-) create mode 100644 sdk_container/src/third_party/coreos-overlay/profiles/coreos/targets/generic/package.mask 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..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 @@ -11,9 +11,11 @@ # 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 + +# 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 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 diff --git a/sdk_container/src/third_party/coreos-overlay/profiles/coreos/targets/generic/make.defaults b/sdk_container/src/third_party/coreos-overlay/profiles/coreos/targets/generic/make.defaults index 41c51cf110a..f2e02104ba8 100644 --- a/sdk_container/src/third_party/coreos-overlay/profiles/coreos/targets/generic/make.defaults +++ b/sdk_container/src/third_party/coreos-overlay/profiles/coreos/targets/generic/make.defaults @@ -3,6 +3,10 @@ FLATCAR_TYPE=generic +# Use Python 3.12 as the default version. +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="acpi usb cryptsetup policykit" USE="${USE} -cros_host -expat -cairo -X -man" USE="${USE} -acl -gpm -python" diff --git a/sdk_container/src/third_party/coreos-overlay/profiles/coreos/targets/generic/package.mask b/sdk_container/src/third_party/coreos-overlay/profiles/coreos/targets/generic/package.mask new file mode 100644 index 00000000000..290a00bc4f0 --- /dev/null +++ b/sdk_container/src/third_party/coreos-overlay/profiles/coreos/targets/generic/package.mask @@ -0,0 +1,8 @@ +# Copyright (c) 2026 The Flatcar Maintainers. +# Distributed under the terms of the GNU General Public License v2 + +# 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 From 1a55092a98d76d9bbb298a7ca06edae1e5e45263 Mon Sep 17 00:00:00 2001 From: Krzesimir Nowak Date: Tue, 6 Jan 2026 15:44:27 +0100 Subject: [PATCH 2/3] 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 0a22231db5f..f7379ce2ff2 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 @@ -4,7 +4,7 @@ EAPI=8 -PYTHON_COMPAT=( python3_{9..11} ) +PYTHON_COMPAT=( python3_{11..14} ) inherit systemd python-any-r1 DESCRIPTION="Init scripts for Flatcar" 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 7c64269095b..abc297fb58f 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 @@ -3,7 +3,7 @@ EAPI=8 -PYTHON_COMPAT=( python3_{6..11} ) +PYTHON_COMPAT=( python3_{11..14} ) inherit python-single-r1 DESCRIPTION="emerge utilities for Flatcar developer images" 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 06328bb286fbef98e6d90bb5803c3d6210b1ff94 Mon Sep 17 00:00:00 2001 From: Krzesimir Nowak Date: Wed, 7 Jan 2026 12:09:21 +0100 Subject: [PATCH 3/3] 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/)))