Re: [PATCH] perf python: Avoid deprecation warning on distutils

From: Arnaldo Carvalho de Melo
Date: Mon Jul 18 2022 - 09:33:42 EST


Em Mon, Jul 18, 2022 at 01:50:22PM +0100, James Clark escreveu:
> On 15/06/2022 02:42, Ian Rogers wrote:
> > Fix the following DeprecationWarning:
> >
> > tools/perf/util/setup.py:31: DeprecationWarning: The distutils
> > package is deprecated and slated for removal in Python 3.12. Use
> > setuptools or check PEP 632 for potential alternatives
> >
> > Note: the setuptools module may need installing, for example:
> > sudo apt install python-setuptools

Thanks, applied, added this to the cset log:

Reviewer comments:

James said:

Tested it with python 2.7 and 3.8 by running "make install-python_ext PYTHON=..."

Committer notes:

Tested with:

$ make -k BUILD_BPF_SKEL=1 PYTHON=python2 O=/tmp/build/perf-urgent -C tools/perf install-bin ; perf test python

$ make -k BUILD_BPF_SKEL=1 PYTHON=python3 O=/tmp/build/perf-urgent -C tools/perf install-bin ; perf test python

$ make -k BUILD_BPF_SKEL=1 O=/tmp/build/perf-urgent -C tools/perf install-bin ; perf test python


- Arnaldo

>
> > Signed-off-by: Ian Rogers <irogers@xxxxxxxxxx>
> > ---
> > tools/perf/util/setup.py | 8 ++++----
> > 1 file changed, 4 insertions(+), 4 deletions(-)
> >
> > diff --git a/tools/perf/util/setup.py b/tools/perf/util/setup.py
> > index c255a2c90cd6..5a3c74bce836 100644
> > --- a/tools/perf/util/setup.py
> > +++ b/tools/perf/util/setup.py
> > @@ -11,7 +11,7 @@ def clang_has_option(option):
> > return [o for o in cc_output if ((b"unknown argument" in o) or (b"is not supported" in o))] == [ ]
> >
> > if cc_is_clang:
> > - from distutils.sysconfig import get_config_vars
> > + from sysconfig import get_config_vars
> > vars = get_config_vars()
> > for var in ('CFLAGS', 'OPT'):
> > vars[var] = sub("-specs=[^ ]+", "", vars[var])
> > @@ -28,10 +28,10 @@ if cc_is_clang:
> > if not clang_has_option("-ffat-lto-objects"):
> > vars[var] = sub("-ffat-lto-objects", "", vars[var])
> >
> > -from distutils.core import setup, Extension
> > +from setuptools import setup, Extension
> >
> > -from distutils.command.build_ext import build_ext as _build_ext
> > -from distutils.command.install_lib import install_lib as _install_lib
> > +from setuptools.command.build_ext import build_ext as _build_ext
> > +from setuptools.command.install_lib import install_lib as _install_lib
> >
> > class build_ext(_build_ext):
> > def finalize_options(self):
>
> Tested it with python 2.7 and 3.8 by running "make install-python_ext PYTHON=..."
>
> Reviewed-by: James Clark <james.clark@xxxxxxx>

--

- Arnaldo