Re: [RFC PATCH] Use `pip install` instead of `setup.py install`

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

 



On Wed, Nov 23, 2022 at 11:04 AM James Carter <jwcart2@xxxxxxxxx> wrote:
>
> On Tue, Nov 22, 2022 at 11:15 AM Petr Lautrbach <lautrbach@xxxxxxxxxx> wrote:
> >
> > Fixes:
> >     /usr/lib/python3.11/site-packages/setuptools/command/install.py:34: SetuptoolsDeprecationWarning: setup.py install is deprecated. Use build and pip and other standards-based tools.
> >
> > Signed-off-by: Petr Lautrbach <lautrbach@xxxxxxxxxx>
>
> Acked-by: James Carter <jwcart2@xxxxxxxxx>
>
> > ---
> >  README.md                | 4 +++-
> >  libselinux/src/Makefile  | 2 +-
> >  python/sepolicy/Makefile | 2 +-
> >  3 files changed, 5 insertions(+), 3 deletions(-)
> >
> > diff --git a/README.md b/README.md
> > index 529b7e46c871..e11b0028f4ba 100644
> > --- a/README.md
> > +++ b/README.md
> > @@ -62,6 +62,7 @@ dnf install \
> >  # For Python and Ruby bindings
> >  dnf install \
> >      python3-devel \
> > +    python3-pip \

So I noticed that I get the following message when building:
  Processing /home/jim/work/selinux/python/sepolicy
    Preparing metadata (setup.py): started
    Preparing metadata (setup.py): finished with status 'done'
  Using legacy 'setup.py install' for sepolicy, since package 'wheel'
is not installed.

Installing python3-wheel gives the following instead:
  Building wheels for collected packages: sepolicy
    Building wheel for sepolicy (setup.py): started
    Building wheel for sepolicy (setup.py): finished with status 'done'

It is not a strict dependency, but maybe we should add python3-wheel.
Unless, of course, there is some reason we don't want to be creating
these python wheels.

Thanks,
Jim

> >      ruby-devel \
> >      swig
> >  ```
> > @@ -92,6 +93,7 @@ apt-get install --no-install-recommends --no-install-suggests \
> >  # For Python and Ruby bindings
> >  apt-get install --no-install-recommends --no-install-suggests \
> >      python3-dev \
> > +    python3-pip \
> >      ruby-dev \
> >      swig
> >  ```
> > @@ -102,7 +104,7 @@ To build and install everything under a private directory, run:
> >
> >      make DESTDIR=~/obj install install-rubywrap install-pywrap
> >
> > -On Debian `PYTHON_SETUP_ARGS=--install-layout=deb` needs to be set when installing the python wrappers in order to create the correct python directory structure.
> > +On Debian `PYTHON_SETUP_ARGS='--install-option "--install-layout=deb"'` needs to be set when installing the python wrappers in order to create the correct python directory structure.
> >
> >  To run tests with the built libraries and programs, several paths (relative to `$DESTDIR`) need to be added to variables `$LD_LIBRARY_PATH`, `$PATH` and `$PYTHONPATH`.
> >  This can be done using [./scripts/env_use_destdir](./scripts/env_use_destdir):
> > diff --git a/libselinux/src/Makefile b/libselinux/src/Makefile
> > index dc2848322e4d..0f6396ababa4 100644
> > --- a/libselinux/src/Makefile
> > +++ b/libselinux/src/Makefile
> > @@ -187,7 +187,7 @@ install: all
> >         ln -sf --relative $(DESTDIR)$(SHLIBDIR)/$(LIBSO) $(DESTDIR)$(LIBDIR)/$(TARGET)
> >
> >  install-pywrap: pywrap
> > -       $(PYTHON) setup.py install --prefix=$(PREFIX) `test -n "$(DESTDIR)" && echo --root $(DESTDIR)` $(PYTHON_SETUP_ARGS)
> > +       $(PYTHON) -m pip install --prefix=$(PREFIX) `test -n "$(DESTDIR)" && echo --root $(DESTDIR)` $(PYTHON_SETUP_ARGS) .
> >         install -m 644 $(SWIGPYOUT) $(DESTDIR)$(PYTHONLIBDIR)/selinux/__init__.py
> >         ln -sf --relative $(DESTDIR)$(PYTHONLIBDIR)/selinux/_selinux$(PYCEXT) $(DESTDIR)$(PYTHONLIBDIR)/_selinux$(PYCEXT)
> >
> > diff --git a/python/sepolicy/Makefile b/python/sepolicy/Makefile
> > index d983e409e5e6..57a2e55edbbf 100644
> > --- a/python/sepolicy/Makefile
> > +++ b/python/sepolicy/Makefile
> > @@ -27,7 +27,7 @@ test:
> >         @$(PYTHON) test_sepolicy.py -v
> >
> >  install:
> > -       $(PYTHON) setup.py install --prefix=$(PREFIX) `test -n "$(DESTDIR)" && echo --root $(DESTDIR)` $(PYTHON_SETUP_ARGS)
> > +       $(PYTHON) -m pip install --prefix=$(PREFIX) `test -n "$(DESTDIR)" && echo --root $(DESTDIR)` $(PYTHON_SETUP_ARGS) .
> >         [ -d $(DESTDIR)$(BINDIR) ] || mkdir -p $(DESTDIR)$(BINDIR)
> >         install -m 755 sepolicy.py $(DESTDIR)$(BINDIR)/sepolicy
> >         (cd $(DESTDIR)$(BINDIR); ln -sf sepolicy sepolgen)
> > --
> > 2.38.1
> >



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

  Powered by Linux