doc: replace deprecated distutils version parsing

Message ID 20220111114356.893127-1-thomas@monjalon.net (mailing list archive)
State Accepted, archived
Delegated to: Thomas Monjalon
Headers
Series doc: replace deprecated distutils version parsing |

Checks

Context Check Description
ci/checkpatch success coding style OK
ci/iol-testing warning apply patch failure

Commit Message

Thomas Monjalon Jan. 11, 2022, 11:43 a.m. UTC
  When using Python 3.10, this warning appears:
  DeprecationWarning: The distutils package is deprecated
  and slated for removal in Python 3.12.
  Use setuptools or check PEP 632 for potential alternatives

The PEP 632 recommends replacing "distutils.version" with "packaging".

Bugzilla ID: 914
Cc: stable@dpdk.org

Reported-by: Jerin Jacob <jerinj@marvell.com>
Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
---
 buildtools/call-sphinx-build.py | 4 ++--
 doc/guides/conf.py              | 6 +++---
 2 files changed, 5 insertions(+), 5 deletions(-)
  

Comments

Jerin Jacob Jan. 11, 2022, 1:11 p.m. UTC | #1
On Tue, Jan 11, 2022 at 5:14 PM Thomas Monjalon <thomas@monjalon.net> wrote:
>
> When using Python 3.10, this warning appears:
>   DeprecationWarning: The distutils package is deprecated
>   and slated for removal in Python 3.12.
>   Use setuptools or check PEP 632 for potential alternatives
>
> The PEP 632 recommends replacing "distutils.version" with "packaging".
>
> Bugzilla ID: 914
> Cc: stable@dpdk.org
>
> Reported-by: Jerin Jacob <jerinj@marvell.com>
> Signed-off-by: Thomas Monjalon <thomas@monjalon.net>

Tested-by: Jerin Jacob <jerinj@marvell.com>


> ---
>  buildtools/call-sphinx-build.py | 4 ++--
>  doc/guides/conf.py              | 6 +++---
>  2 files changed, 5 insertions(+), 5 deletions(-)
>
> diff --git a/buildtools/call-sphinx-build.py b/buildtools/call-sphinx-build.py
> index 26b199220a..39a60d09fa 100755
> --- a/buildtools/call-sphinx-build.py
> +++ b/buildtools/call-sphinx-build.py
> @@ -7,7 +7,7 @@
>  import os
>  from os.path import join
>  from subprocess import run, PIPE, STDOUT
> -from distutils.version import StrictVersion
> +from packaging.version import Version
>
>  # assign parameters to variables
>  (sphinx, version, src, dst, *extra_args) = sys.argv[1:]
> @@ -19,7 +19,7 @@
>  ver = run([sphinx, '--version'], stdout=PIPE,
>            stderr=STDOUT).stdout.decode().split()[-1]
>  sphinx_cmd = [sphinx] + extra_args
> -if StrictVersion(ver) >= StrictVersion('1.7'):
> +if Version(ver) >= Version('1.7'):
>      sphinx_cmd += ['-j', 'auto']
>
>  # find all the files sphinx will process so we can write them as dependencies
> diff --git a/doc/guides/conf.py b/doc/guides/conf.py
> index 1743ce301f..a55ce38800 100644
> --- a/doc/guides/conf.py
> +++ b/doc/guides/conf.py
> @@ -3,7 +3,7 @@
>  # Copyright(c) 2010-2015 Intel Corporation
>
>  from docutils import nodes
> -from distutils.version import LooseVersion
> +from packaging.version import Version
>  from sphinx import __version__ as sphinx_version
>  from os import listdir
>  from os import environ
> @@ -28,7 +28,7 @@
>
>  project = 'Data Plane Development Kit'
>  html_logo = '../logo/DPDK_logo_vertical_rev_small.png'
> -if LooseVersion(sphinx_version) >= LooseVersion('3.5'):
> +if Version(sphinx_version) >= Version('3.5'):
>      html_permalinks = False
>  else:
>      html_add_permalinks = ""
> @@ -427,7 +427,7 @@ def setup(app):
>                              'Features availability for Timer adapters',
>                              'Feature')
>
> -    if LooseVersion(sphinx_version) < LooseVersion('1.3.1'):
> +    if Version(sphinx_version) < Version('1.3.1'):
>          print('Upgrade sphinx to version >= 1.3.1 for '
>                'improved Figure/Table number handling.',
>                file=stderr)
> --
> 2.34.1
>
  
Thomas Monjalon Jan. 11, 2022, 1:33 p.m. UTC | #2
11/01/2022 14:11, Jerin Jacob:
> On Tue, Jan 11, 2022 at 5:14 PM Thomas Monjalon <thomas@monjalon.net> wrote:
> >
> > When using Python 3.10, this warning appears:
> >   DeprecationWarning: The distutils package is deprecated
> >   and slated for removal in Python 3.12.
> >   Use setuptools or check PEP 632 for potential alternatives
> >
> > The PEP 632 recommends replacing "distutils.version" with "packaging".
> >
> > Bugzilla ID: 914
> > Cc: stable@dpdk.org
> >
> > Reported-by: Jerin Jacob <jerinj@marvell.com>
> > Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
> 
> Tested-by: Jerin Jacob <jerinj@marvell.com>

Applied
  

Patch

diff --git a/buildtools/call-sphinx-build.py b/buildtools/call-sphinx-build.py
index 26b199220a..39a60d09fa 100755
--- a/buildtools/call-sphinx-build.py
+++ b/buildtools/call-sphinx-build.py
@@ -7,7 +7,7 @@ 
 import os
 from os.path import join
 from subprocess import run, PIPE, STDOUT
-from distutils.version import StrictVersion
+from packaging.version import Version
 
 # assign parameters to variables
 (sphinx, version, src, dst, *extra_args) = sys.argv[1:]
@@ -19,7 +19,7 @@ 
 ver = run([sphinx, '--version'], stdout=PIPE,
           stderr=STDOUT).stdout.decode().split()[-1]
 sphinx_cmd = [sphinx] + extra_args
-if StrictVersion(ver) >= StrictVersion('1.7'):
+if Version(ver) >= Version('1.7'):
     sphinx_cmd += ['-j', 'auto']
 
 # find all the files sphinx will process so we can write them as dependencies
diff --git a/doc/guides/conf.py b/doc/guides/conf.py
index 1743ce301f..a55ce38800 100644
--- a/doc/guides/conf.py
+++ b/doc/guides/conf.py
@@ -3,7 +3,7 @@ 
 # Copyright(c) 2010-2015 Intel Corporation
 
 from docutils import nodes
-from distutils.version import LooseVersion
+from packaging.version import Version
 from sphinx import __version__ as sphinx_version
 from os import listdir
 from os import environ
@@ -28,7 +28,7 @@ 
 
 project = 'Data Plane Development Kit'
 html_logo = '../logo/DPDK_logo_vertical_rev_small.png'
-if LooseVersion(sphinx_version) >= LooseVersion('3.5'):
+if Version(sphinx_version) >= Version('3.5'):
     html_permalinks = False
 else:
     html_add_permalinks = ""
@@ -427,7 +427,7 @@  def setup(app):
                             'Features availability for Timer adapters',
                             'Feature')
 
-    if LooseVersion(sphinx_version) < LooseVersion('1.3.1'):
+    if Version(sphinx_version) < Version('1.3.1'):
         print('Upgrade sphinx to version >= 1.3.1 for '
               'improved Figure/Table number handling.',
               file=stderr)