Details
-
User Story
-
Resolution: Out of scope
-
P3: Somewhat important
-
None
-
5.11.0
-
None
Description
A typical Debian package build will first build the python extension for all supported Python versions, then install all those built extensions in a second step:
python2.7 setup.py configure python3.6 setup.py configure python3.7 setup.py configure python2.7 setup.py build --build-lib ... python3.6 setup.py build --build-lib ... python3.6 setup.py build --build-lib ... python2.7 setup.py install --root ... python3.6 setup.py install --root ... python3.6 setup.py install --root ...
The build step is passed a different build-lib each time so that the built files do not overwrite each other.
The install step is heavily customized to pass many options in order to install files in a different temporary location used for the package build. It receives at least --root and also --install-layout=deb --install-scripts='$base/bin' --install-lib=... --prefix=/usr.
The pyside build system appears like a regular setup.py from the outside but it doesn't respect all those options and variables and it is thus impossible for me to package it like a set of regular Python extensions. It would be nice if your customized build system could implement/respect those options.
(In truth, the python packaging helper tool relies on a temporary .pydistutils.cfg file to pass all those options so that the customized --build-lib sticks even in the install step.)