Jason Zaman <jason@xxxxxxxxxxxxx> writes: > When installing to a destdir with pip install --prefix= --root=, pip tries to > uninstall the existing root-owned package and fails > > Fixes: > python3 -m pip install --prefix=/usr `test -n "/tmp/selinux-release//build-master" && echo --root /tmp/selinux-release//build-master` . > Processing /tmp/selinux-release/selinux-master/python/sepolicy > Preparing metadata (setup.py) ... done > Building wheels for collected packages: sepolicy > Building wheel for sepolicy (setup.py) ... done > Created wheel for sepolicy: filename=sepolicy-3.4-py3-none-any.whl size=1663564 sha256=229546db123e7d84613d190d49c192291b1a4f7f2a037657b39283b04ac391a4 > Stored in directory: /tmp/pip-ephem-wheel-cache-50r2x4cn/wheels/b2/9e/63/6a6212a84d65a709923228719d065ed34e66a90c7fed01e8cf > Successfully built sepolicy > Installing collected packages: sepolicy > Attempting uninstall: sepolicy > Found existing installation: sepolicy 3.4 > Uninstalling sepolicy-3.4: > ERROR: Could not install packages due to an OSError: [Errno 13] Permission denied: 'generate.py' > Consider using the `--user` option or check the permissions. Acked-by: Petr Lautrbach <lautrbach@xxxxxxxxxx> > --- > python/sepolicy/Makefile | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/python/sepolicy/Makefile b/python/sepolicy/Makefile > index 57a2e55e..4e9e93d0 100644 > --- a/python/sepolicy/Makefile > +++ b/python/sepolicy/Makefile > @@ -27,7 +27,7 @@ test: > @$(PYTHON) test_sepolicy.py -v > > install: > - $(PYTHON) -m pip install --prefix=$(PREFIX) `test -n "$(DESTDIR)" && echo --root $(DESTDIR)` $(PYTHON_SETUP_ARGS) . > + $(PYTHON) -m pip install --prefix=$(PREFIX) `test -n "$(DESTDIR)" && echo --root $(DESTDIR) --ignore-installed --no-deps` $(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.2