[PATCH] perf python: Avoid deprecation warning on distutils

Ian Rogers posted 1 patch 3 years, 10 months ago
tools/perf/util/setup.py | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
[PATCH] perf python: Avoid deprecation warning on distutils
Posted by Ian Rogers 3 years, 10 months ago
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

Signed-off-by: Ian Rogers <irogers@google.com>
---
 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):
-- 
2.34.1
Re: [PATCH] perf python: Avoid deprecation warning on distutils
Posted by James Clark 3 years, 9 months ago

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
> 
> Signed-off-by: Ian Rogers <irogers@google.com>
> ---
>  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@arm.com>
Re: [PATCH] perf python: Avoid deprecation warning on distutils
Posted by Arnaldo Carvalho de Melo 3 years, 9 months ago
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@google.com>
> > ---
> >  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@arm.com>

-- 

- Arnaldo