* [PATCH 2/4] docs: changes: update Python minimal version
2025-02-11 6:19 [PATCH 0/4] Raise the bar with regards to Python and Sphinx requirements Mauro Carvalho Chehab
2025-02-11 6:19 ` [PATCH 1/4] docs: changes: update Sphinx minimal version to 3.4.3 Mauro Carvalho Chehab
@ 2025-02-11 6:19 ` Mauro Carvalho Chehab
2025-02-11 17:58 ` [PATCH 0/4] Raise the bar with regards to Python and Sphinx requirements Kees Cook
2025-02-13 18:39 ` Jonathan Corbet
3 siblings, 0 replies; 5+ messages in thread
From: Mauro Carvalho Chehab @ 2025-02-11 6:19 UTC (permalink / raw)
To: Jonathan Corbet, Linux Doc Mailing List
Cc: Mauro Carvalho Chehab, Mauro Carvalho Chehab, Bill Wendling,
Justin Stitt, Nathan Chancellor, Nick Desaulniers, bpf,
linux-kernel, llvm, workflows
The current minimal version doesn't match what we have currently
at the Kernel:
$ vermin -v $(git ls-files *.py)
...
Minimum required versions: 3.10
Incompatible versions: 2
Those are the Python scripts requiring versions higher than current minimal (3.5):
!2, 3.10 tools/net/sunrpc/xdrgen/generators/__init__.py
!2, 3.10 tools/net/sunrpc/xdrgen/generators/program.py
!2, 3.10 tools/net/sunrpc/xdrgen/subcmds/source.py
!2, 3.10 tools/net/sunrpc/xdrgen/xdr_ast.py
!2, 3.10 tools/power/cpupower/bindings/python/test_raw_pylibcpupower.py
!2, 3.9 tools/testing/selftests/net/rds/test.py
!2, 3.9 tools/net/ynl/ethtool.py
!2, 3.9 tools/net/ynl/cli.py
!2, 3.9 scripts/checktransupdate.py
!2, 3.8 tools/testing/selftests/tc-testing/plugin-lib/nsPlugin.py
!2, 3.8 tools/testing/selftests/hid/tests/base.py
!2, 3.7 tools/testing/selftests/turbostat/smi_aperf_mperf.py
!2, 3.7 tools/testing/selftests/turbostat/defcolumns.py
!2, 3.7 tools/testing/selftests/turbostat/added_perf_counters.py
!2, 3.7 tools/testing/selftests/hid/tests/conftest.py
!2, 3.7 tools/testing/kunit/qemu_config.py
!2, 3.7 tools/testing/kunit/kunit_tool_test.py
!2, 3.7 tools/testing/kunit/kunit.py
!2, 3.7 tools/testing/kunit/kunit_parser.py
!2, 3.7 tools/testing/kunit/kunit_kernel.py
!2, 3.7 tools/testing/kunit/kunit_json.py
!2, 3.7 tools/testing/kunit/kunit_config.py
!2, 3.7 tools/perf/scripts/python/gecko.py
!2, 3.7 scripts/rust_is_available_test.py
!2, 3.7 scripts/bpf_doc.py
!2, 3.6 tools/writeback/wb_monitor.py
!2, 3.6 tools/workqueue/wq_monitor.py
!2, 3.6 tools/workqueue/wq_dump.py
!2, 3.6 tools/usb/p9_fwd.py
!2, 3.6 tools/tracing/rtla/sample/timerlat_load.py
!2, 3.6 tools/testing/selftests/net/openvswitch/ovs-dpctl.py
!2, 3.6 tools/testing/selftests/net/nl_netdev.py
!2, 3.6 tools/testing/selftests/net/lib/py/ynl.py
!2, 3.6 tools/testing/selftests/net/lib/py/utils.py
!2, 3.6 tools/testing/selftests/net/lib/py/nsim.py
!2, 3.6 tools/testing/selftests/net/lib/py/netns.py
!2, 3.6 tools/testing/selftests/net/lib/py/ksft.py
!2, 3.6 tools/testing/selftests/kselftest/ksft.py
!2, 3.6 tools/testing/selftests/hid/tests/test_tablet.py
!2, 3.6 tools/testing/selftests/hid/tests/test_sony.py
!2, 3.6 tools/testing/selftests/hid/tests/test_multitouch.py
!2, 3.6 tools/testing/selftests/hid/tests/test_mouse.py
!2, 3.6 tools/testing/selftests/hid/tests/base_gamepad.py
!2, 3.6 tools/testing/selftests/hid/tests/base_device.py
!2, 3.6 tools/testing/selftests/drivers/net/stats.py
!2, 3.6 tools/testing/selftests/drivers/net/shaper.py
!2, 3.6 tools/testing/selftests/drivers/net/queues.py
!2, 3.6 tools/testing/selftests/drivers/net/ping.py
!2, 3.6 tools/testing/selftests/drivers/net/lib/py/remote_ssh.py
!2, 3.6 tools/testing/selftests/drivers/net/lib/py/load.py
!2, 3.6 tools/testing/selftests/drivers/net/lib/py/__init__.py
!2, 3.6 tools/testing/selftests/drivers/net/lib/py/env.py
!2, 3.6 tools/testing/selftests/drivers/net/hw/rss_ctx.py
!2, 3.6 tools/testing/selftests/drivers/net/hw/pp_alloc_fail.py
!2, 3.6 tools/testing/selftests/drivers/net/hw/nic_performance.py
!2, 3.6 tools/testing/selftests/drivers/net/hw/nic_link_layer.py
!2, 3.6 tools/testing/selftests/drivers/net/hw/lib/py/linkconfig.py
!2, 3.6 tools/testing/selftests/drivers/net/hw/lib/py/__init__.py
!2, 3.6 tools/testing/selftests/drivers/net/hw/devmem.py
!2, 3.6 tools/testing/selftests/drivers/net/hw/devlink_port_split.py
!2, 3.6 tools/testing/selftests/drivers/net/hw/csum.py
!2, 3.6 tools/testing/selftests/devices/probe/test_discoverable_devices.py
!2, 3.6 tools/testing/selftests/bpf/test_bpftool_synctypes.py
!2, 3.6 tools/testing/selftests/bpf/generate_udp_fragments.py
!2, 3.6 tools/testing/kunit/run_checks.py
!2, 3.6 tools/testing/kunit/kunit_printer.py
!2, 3.6 tools/sched_ext/scx_show_state.py
!2, 3.6 tools/perf/tests/shell/lib/perf_metric_validation.py
!2, 3.6 tools/perf/tests/shell/lib/perf_json_output_lint.py
!2, 3.6 tools/perf/scripts/python/parallel-perf.py
!2, 3.6 tools/perf/scripts/python/flamegraph.py
!2, 3.6 tools/perf/scripts/python/arm-cs-trace-disasm.py
!2, 3.6 tools/perf/pmu-events/models.py
!2, 3.6 tools/perf/pmu-events/metric_test.py
!2, 3.6 tools/perf/pmu-events/metric.py
!2, 3.6 tools/perf/pmu-events/jevents.py
!2, 3.6 tools/net/ynl/ynl-gen-rst.py
!2, 3.6 tools/net/ynl/ynl-gen-c.py
!2, 3.6 tools/net/ynl/lib/ynl.py
!2, 3.6 tools/net/ynl/lib/nlspec.py
!2, 3.6 tools/crypto/tcrypt/tcrypt_speed_compare.py
!2, 3.6 tools/cgroup/iocost_monitor.py
!2, 3.6 tools/cgroup/iocost_coef_gen.py
!2, 3.6 scripts/make_fit.py
!2, 3.6 scripts/macro_checker.py
!2, 3.6 scripts/get_abi.py
!2, 3.6 scripts/generate_rust_analyzer.py
!2, 3.6 scripts/gdb/linux/timerlist.py
!2, 3.6 scripts/gdb/linux/pgtable.py
!2, 3.6 scripts/clang-tools/run-clang-tools.py
!2, 3.6 Documentation/sphinx/automarkup.py
Even if we exclude tools/net/sunrpc/xdrgen/, the minimal version is
Python 3.9.
Update process/changes to reflect the current minimal version required to
run Python scripts outside tools.
Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
---
Documentation/process/changes.rst | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/Documentation/process/changes.rst b/Documentation/process/changes.rst
index 66015c768cfc..d564362773b5 100644
--- a/Documentation/process/changes.rst
+++ b/Documentation/process/changes.rst
@@ -62,7 +62,7 @@ Sphinx\ [#f1]_ 3.4.3 sphinx-build --version
GNU tar 1.28 tar --version
gtags (optional) 6.6.5 gtags --version
mkimage (optional) 2017.01 mkimage --version
-Python (optional) 3.5.x python3 --version
+Python (optional) 3.9.x python3 --version
GNU AWK (optional) 5.1.0 gawk --version
====================== =============== ========================================
--
2.48.1
^ permalink raw reply related [flat|nested] 5+ messages in thread
* Re: [PATCH 0/4] Raise the bar with regards to Python and Sphinx requirements
2025-02-11 6:19 [PATCH 0/4] Raise the bar with regards to Python and Sphinx requirements Mauro Carvalho Chehab
2025-02-11 6:19 ` [PATCH 1/4] docs: changes: update Sphinx minimal version to 3.4.3 Mauro Carvalho Chehab
2025-02-11 6:19 ` [PATCH 2/4] docs: changes: update Python minimal version Mauro Carvalho Chehab
@ 2025-02-11 17:58 ` Kees Cook
2025-02-13 18:39 ` Jonathan Corbet
3 siblings, 0 replies; 5+ messages in thread
From: Kees Cook @ 2025-02-11 17:58 UTC (permalink / raw)
To: Mauro Carvalho Chehab
Cc: Jonathan Corbet, Linux Doc Mailing List, linux-kernel,
Bill Wendling, Justin Stitt, Nick Desaulniers, bpf, llvm,
workflows
On Tue, Feb 11, 2025 at 07:19:00AM +0100, Mauro Carvalho Chehab wrote:
> This series increases the minimal requirements for Sphinx and Python, and
> drop some backward-compatible code from Sphinx extension.
>
> Looking at Sphinx release dates:
>
> Release 2.4.0 (released Feb 09, 2020)
> Release 2.4.4 (released Mar 05, 2020) (current minimal requirement)
> Release 3.4.0 (released Dec 20, 2020)
> Release 3.4.3 (released Jan 08, 2021)
>
> (https://www.sphinx-doc.org/en/master/changes/index.html)
(And those are positively ancient versions, too! 8.1.3 is current...)
> And Python release dates, we have:
>
> Python Release date
> 3.5 2015-09-13 (current minimal requirement)
> 3.6 2016-12-23
> 3.7 2018-06-27
> 3.8 2019-10-14
> 3.9 2020-10-05
> 3.10 2021-10-04
>
> (according with https://en.wikipedia.org/w/index.php?title=History_of_Python)
>
> The new minimal requirements are now compatible with the toolset available on Jan, 2021,
> e.g.:
> - Sphinx 3.4.3;
> - Python 3.9
I just did a quick sanity check against Ubuntu releases, and it all
looks fine: Ubuntu 20.04 had sphinx 1.8.5, so it already can't build the
docs. Ubuntu 22.04 has sphinx 4.3.2, so all good. Ubuntu 22.04 also has
Python 3.10, so also okay.
Reviewed-by: Kees Cook <kees@kernel.org>
--
Kees Cook
^ permalink raw reply [flat|nested] 5+ messages in thread