On Tue, Apr 7, 2020 at 1:45 PM Christian Göttsche <cgzones@xxxxxxxxxxxxxx> wrote: > On Debian the `distutils` module is patched, so `get_python_lib()` returns by default `/usr/lib/python3/dist-packages` (no minor version). > > But `setuptools` affecting setup.py is not patched to create the library directory at `/usr/lib/python3/dist-packages` by default, rather than a command line argument `--install-layout deb` is added. > > Add this option to `python setup.py install` invocation on Debian. > > See https://www.debian.org/doc/packaging-manuals/python-policy/packaging_tools.html section B.1. > > Fixes: https://github.com/SELinuxProject/selinux/issues/187 > > Signed-off-by: Christian Göttsche <cgzones@xxxxxxxxxxxxxx> > --- > libselinux/src/Makefile | 2 +- > python/sepolicy/Makefile | 2 +- > 2 files changed, 2 insertions(+), 2 deletions(-) > > diff --git a/libselinux/src/Makefile b/libselinux/src/Makefile > index 2d1c654e..3efbe3aa 100644 > --- a/libselinux/src/Makefile > +++ b/libselinux/src/Makefile > @@ -173,7 +173,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.py install --prefix=$(PREFIX) `test -n "$(DESTDIR)" && echo --root $(DESTDIR)` `grep -qxF ID=debian /etc/os-release && echo --install-layout deb` Wouldn't it be cleaner to instead add something like $(PYTHON_SETUP_ARGS) and build with 'make PYTHON_SETUP_ARGS=--install-layout=deb ...' on Debian? > 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 69f29fa9..54cd27ca 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.py install --prefix=$(PREFIX) `test -n "$(DESTDIR)" && echo --root $(DESTDIR)` `grep -qxF ID=debian /etc/os-release && echo --install-layout deb` > [ -d $(DESTDIR)$(BINDIR) ] || mkdir -p $(DESTDIR)$(BINDIR) > install -m 755 sepolicy.py $(DESTDIR)$(BINDIR)/sepolicy > (cd $(DESTDIR)$(BINDIR); ln -sf sepolicy sepolgen) > -- > 2.26.0 > -- Ondrej Mosnacek <omosnace at redhat dot com> Software Engineer, Security Technologies Red Hat, Inc.