#1041200 chromium: Uses deprecated Python distutils

Package:
chromium
Source:
chromium
Description:
web browser
Submitter:
Soren Stoutner
Date:
2023-07-25 16:27:03 UTC
Severity:
normal
Tags:
#1041200#5
Date:
2023-07-15 15:32:04 UTC
From:
To:
There are a number of files that depend on Python's deprecated distutils.

From https://udd.debian.org/lintian/?&packages=chromium&format=html<_information=on

build/win/message_compiler.py:11
chrome/updater/test/service/win/run_command_as_standard_user.py:24
third_party/angle/src/tests/capture_replay_tests.py:26
third_party/depot_tools/external_bin/gsutil/gsutil_4.68/gsutil/third_party/crcmod/setup.py:1
third_party/depot_tools/external_bin/gsutil/gsutil_4.68/gsutil/third_party/crcmod/setup.py:2
third_party/depot_tools/fetch.py:34
third_party/depot_tools/scm.py:7
third_party/depot_tools/testing_support/coverage_utils.py:7
third_party/depot_tools/tests/fetch_test.py:17
third_party/grpc/src/setup.py:22
third_party/grpc/src/setup.py:27
third_party/grpc/src/setup.py:28
third_party/grpc/src/setup.py:29
third_party/grpc/src/src/python/grpcio/_parallel_compile_patch.py:20
third_party/grpc/src/src/python/grpcio/_spawn_patch.py:21
third_party/grpc/src/src/python/grpcio/support.py:15
third_party/grpc/src/src/python/grpcio_tests/commands.py:16
third_party/grpc/src/src/python/grpcio_tests/tests/protoc_plugin/_python_plugin_test.py:17
third_party/grpc/src/tools/distrib/python/grpcio_tools/_parallel_compile_patch.py:20
third_party/grpc/src/tools/distrib/python/grpcio_tools/setup.py:15
third_party/grpc/src/tools/distrib/python/grpcio_tools/setup.py:16
third_party/grpc/src/tools/distrib/python/grpcio_tools/setup.py:17
third_party/logilab/logilab/astroid/modutils.py:36
third_party/logilab/logilab/astroid/modutils.py:37
third_party/logilab/logilab/common/modutils.py:37
third_party/logilab/logilab/common/modutils.py:38
third_party/perfetto/python/setup.py:1
third_party/protobuf/python/protobuf_distutils/protobuf_distutils/generate_py_protobufs.py:38
third_party/protobuf/python/protobuf_distutils/protobuf_distutils/generate_py_protobufs.py:39
third_party/protobuf/python/protobuf_distutils/protobuf_distutils/generate_py_protobufs.py:40
third_party/protobuf/python/setup.py:24
third_party/protobuf/python/setup.py:25
third_party/protobuf/python/setup.py:26
third_party/protobuf/python/setup.py:27
third_party/protobuf/python/setup.py:7
third_party/pycoverage/setup.py:46
third_party/pycoverage/setup.py:47
third_party/pycoverage/setup.py:48
third_party/skia/infra/bots/assets/skp/create.py:14
third_party/tflite/src/tensorflow/api_template.__init__.py:29
third_party/tflite/src/tensorflow/api_template_v1.__init__.py:17
third_party/tflite/src/tensorflow/lite/python/convert.py:17
third_party/tflite/src/tensorflow/python/ops/math_ops_linspace_test.py:19
third_party/tflite/src/tensorflow/python/tpu/profiler/capture_tpu_profile.py:22
third_party/vulkan-deps/glslang/src/update_glslang_sources.py:24
third_party/webdriver/pylib/setup.py:18
third_party/wpt_tools/wpt/tools/wpt/browser.py:11
third_party/wpt_tools/wpt/tools/wptrunner/wptrunner/browsers/safari.py:5
third_party/wpt_tools/wpt/tools/wptrunner/wptrunner/browsers/safari.py:6
third_party/wpt_tools/wpt/tools/wptrunner/wptrunner/wptcommandline.py:7
third_party/wpt_tools/wpt/tools/wpt/run.py:7
third_party/wpt_tools/wpt/tools/wpt/virtualenv.py:7
tools/binary_size/libsupersize/main.py:9
tools/bisect-builds.py:97
tools/ipc_fuzzer/scripts/cf_package_builder.py:12
tools/real_world_impact/real_world_impact.py:26
tools/valgrind/asan/third_party/asan_symbolize.py:31
v8/tools/release/common_includes.py:31


The description of this lintian tag reads as follows:

This package uses the Python distutils module.

In Python 3.10 and 3.11, distutils has been formally marked as deprecated.
Code that imports distutils will no longer work from Python 3.12.

Please prepare for this deprecation and migrate away from the Python
distutils module.

See-Also: https://peps.python.org/pep-0632


Python 3.12 is already in Debian and, presumably, at some point soon will become the default.

https://tracker.debian.org/pkg/python3.12


This problem also affects qtwebengine-opensource-src and qt6-webengine, although the list of affected files is different.

Does anyone know if upstream is working on removing the distutils dependency?

#1041200#14
Date:
2023-07-25 16:23:19 UTC
From:
To:
Thanks for the heads-up. Annoyingly, most of the distutils usage is in
third_party/, which is going to be interesting to get upstream.
Chromium likely won't want to patch distutils out (unless Ubuntu drops
it), so we'll likely need to go to each third party project and file
bugs.

Thanks for filing the bug upstream!