Re: [PATCH 3/5] python: Remove dependency on the Python module distutils

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



James Carter <jwcart2@xxxxxxxxx> writes:

> The distutils package is deprecated and scheduled to be removed in
> Python 3.12. Use the setuptools and sysconfig modules instead.
>
> Signed-off-by: James Carter <jwcart2@xxxxxxxxx>
> ---
>  python/semanage/Makefile              | 2 +-
>  python/sepolgen/src/sepolgen/Makefile | 2 +-
>  python/sepolicy/sepolicy/gui.py       | 2 +-
>  python/sepolicy/setup.py              | 2 +-
>  4 files changed, 4 insertions(+), 4 deletions(-)
>
> diff --git a/python/semanage/Makefile b/python/semanage/Makefile
> index 024e9640..b1f1bd3a 100644
> --- a/python/semanage/Makefile
> +++ b/python/semanage/Makefile
> @@ -5,7 +5,7 @@ LINGUAS ?= ru
>  PREFIX ?= /usr
>  SBINDIR ?= $(PREFIX)/sbin
>  MANDIR = $(PREFIX)/share/man
> -PYTHONLIBDIR ?= $(shell $(PYTHON) -c "from distutils.sysconfig import *; print(get_python_lib(prefix='$(PREFIX)'))")
> +PYTHONLIBDIR ?= $(shell $(PYTHON) -c "import sysconfig; print(sysconfig.get_path('platlib', vars={'platbase': '$(PREFIX)', 'base': '$(PREFIX)'}))")

$ python3 -c "from distutils.sysconfig import *; print(get_python_lib(prefix='/usr'))"     
/usr/lib/python3.10/site-packages

vs

$ python3 -c "import sysconfig; print(sysconfig.get_path('platlib', vars={'platbase': '/usr', 'base': '/usr'}))"
/usr/lib64/python3.10/site-packages

Given that python/ is not platform specific this should use 'purelib' -
https://docs.python.org/3/library/sysconfig.html#installation-paths

$ python3 -c "import sysconfig; print(sysconfig.get_path('purelib', vars={'platbase': '/usr', 'base': '/usr'}))"
/usr/lib/python3.10/site-packages




>  PACKAGEDIR ?= $(PYTHONLIBDIR)
>  BASHCOMPLETIONDIR ?= $(PREFIX)/share/bash-completion/completions
>  
> diff --git a/python/sepolgen/src/sepolgen/Makefile b/python/sepolgen/src/sepolgen/Makefile
> index cac8def7..9578af23 100644
> --- a/python/sepolgen/src/sepolgen/Makefile
> +++ b/python/sepolgen/src/sepolgen/Makefile
> @@ -1,6 +1,6 @@
>  PREFIX ?= /usr
>  PYTHON ?= python3
> -PYTHONLIBDIR ?= $(shell $(PYTHON) -c "from distutils.sysconfig import *; print(get_python_lib(prefix='$(PREFIX)'))")
> +PYTHONLIBDIR ?= $(shell $(PYTHON) -c "import sysconfig; print(sysconfig.get_path('platlib', vars={'platbase': '$(PREFIX)', 'base': '$(PREFIX)'}))")
>  PACKAGEDIR ?= /$(PYTHONLIBDIR)/sepolgen
>  
>  all:
> diff --git a/python/sepolicy/sepolicy/gui.py b/python/sepolicy/sepolicy/gui.py
> index 5bdbfeba..63f2371f 100644
> --- a/python/sepolicy/sepolicy/gui.py
> +++ b/python/sepolicy/sepolicy/gui.py
> @@ -77,7 +77,7 @@ def cmp(a, b):
>          return 1
>      return (a > b) - (a < b)
>  
> -import distutils.sysconfig
> +import sysconfig
>  ADVANCED_LABEL = (_("Advanced >>"), _("Advanced <<"))
>  ADVANCED_SEARCH_LABEL = (_("Advanced Search >>"), _("Advanced Search <<"))
>  OUTBOUND_PAGE = 0
> diff --git a/python/sepolicy/setup.py b/python/sepolicy/setup.py
> index b0f9650d..c8220664 100644
> --- a/python/sepolicy/setup.py
> +++ b/python/sepolicy/setup.py
> @@ -2,7 +2,7 @@
>  
>  # Author: Thomas Liu <tliu@xxxxxxxxxx>
>  # Author: Dan Walsh <dwalsh@xxxxxxxxxx>
> -from distutils.core import setup
> +from setuptools import setup
>  
>  setup(
>      name="sepolicy",
> -- 
> 2.37.3




[Index of Archives]     [Selinux Refpolicy]     [Linux SGX]     [Fedora Users]     [Fedora Desktop]     [Yosemite Photos]     [Yosemite Camping]     [Yosemite Campsites]     [KDE Users]     [Gnome Users]

  Powered by Linux