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