With PySide2 shiboken2, pyside2, and pyside2-tools are provided in one big
source archive.
I'm working on packaging it[1] but the provided setuptools build system
calls CMake to perform builds and essentially fakeroot installs for build
dependencies between the three projects and then uses setuptools to
manipulate and copy/install the tree.
Problem 1:
Whether a bug in the setuptools script or a bug in setuptools itself
(exposed by their install method) instead of "installing" all three project
in %install it instead installs the same project 3 times when the --root
option is used[2].
I have worked around this temporarily by skipping %build and just
performing the install which also automatically performs builds. Any advice
setuptools experts would be appreciated.
Problem 2:
Trying to rationally break up the monolithic project into rational
sub-packages (including -devel).
Right now I've got the following:
pyside2-tools-5.12.1-1.fc31.x86_64.rpm
python3-pyside2-5.12.1-1.fc31.x86_64.rpm
python3-pyside2-devel-5.12.1-1.fc31.x86_64.rpm
python3-shiboken2-5.12.1-1.fc31.x86_64.rpm
python-pyside2-5.12.1-1.fc31.src.rpm
shiboken2-5.12.1-1.fc31.x86_64.rpm
But getting the inter-package dependencies setup correctly is proving to be
a pain because I'm only building for Rawhide in mock.
Options:
Other distros, notably Arch just call the cmake projects directly instead
of using setuptools. There is a concern that the package may not be 100%
complete since setuptools does some install massaging. But we're not doing
a standalone install (embedded QT libraries) and I think I can pass the
correct options to the CMake build to make sure things install correctly, I
just having tried it yet.
Option A:
Continue fighting setuptools...
Option B1:
Build all the packages using CMake, which would require some sort of
fakeroot install for shiboken2 and pyside2.
Option B2:
Build all the packages using CMake but use the same source 3 times for 3
separate packages. like the original pyside and build in the typical
fashion:
shiboken2 -> buildroot override -> Pyside2 -> buildroot override ->
pyside2-tools -> All in one update.
Thoughts?
Thanks,
Richard
[1]
https://bugzilla.redhat.com/show_bug.cgi?id=1634658
[2]
https://bugreports.qt.io/browse/PYSIDE-970