[PyQt] Packaging with sip5

Antonio Rojas arojas at archlinux.org
Fri Dec 13 16:08:34 GMT 2019


El viernes, 13 de diciembre de 2019 12:30:49 (CET) Antonio Rojas escribió:
> El viernes, 13 de diciembre de 2019 12:22:50 (CET) Phil Thompson escribió:
> > > With SIP4 I did:
> > > ./configure.py
> > > make
> > > make install DESTDIR=foo
> > > The first two commands don't do anything outside the build tree, only
> > > the last one cares about the target install dir.
> > > 
> > > The same commands work with sip5, but IIUC configure.py is deprecated
> > > and one should use sip-build now. What I'm looking for is a way to
> > > build pyqt inside the build tree (similar to the old configure.py +
> > > make) that doesn't try to write to the target dir.
> > 
> > As I said, the Makefile should be very similar so invoke make in the 
> > same way.
> > 
> > Phil
> > 
> 
> Yes, I got that. The probem here is the "doesn't try to write to the target dir" part, because as I said above, 'sip-build --no-make' fails if the target dir is not writable (as it is the case for us: we have separate build and install stages and the target install dir is not writable during the build stage). So I can't simply replace configure.py with 'sip-build --no-make' - this command fails so I don't even get the chance to run make.
> 

Commenting out this line:

 installable.install(target_dir, installed, do_install=False)

from pyqtbuild/builder.py:458 allows sip-build to finish and I can then run make and make-install (almost) succesfully. 

sip-build still complains about the designer and qmlscene plugins though:

The Qt Designer plugin was disabled because you do not have write permission on '/usr/lib/qt/plugins/designer'.
The qmlscene plugin was disabled because you do not have write permission on '/usr/lib/qt/plugins/PyQt5'.

Also, create_distinfo seems to not honor DESTDIR or INSTALL_ROOT, so make install fails at the end with

PermissionError: [Errno 13] Permission denied: '/usr/lib/python3.8/site-packages/PyQt5-5.13.2.dist-info'








More information about the PyQt mailing list