Hello, Richard. On Wednesday, 20 March 2019 at 14:44, Richard Shaw wrote: > 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. That doesn't seem like a good solution. I'm no setuptools expert though. What does upstream say about that? > 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. Why is it a pain? > 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. Why do you need fakeroot here? Nothing wrong with using it though. There's also pseudo which might be better. > 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? I'd go with whatever requires less work to maintain and release. A or B1 seem like the best candidates. You wouldn't need to play the build and add buildroot override game for every update. Regards, Dominik -- Fedora https://getfedora.org | RPM Fusion http://rpmfusion.org There should be a science of discontent. People need hard times and oppression to develop psychic muscles. -- from "Collected Sayings of Muad'Dib" by the Princess Irulan _______________________________________________ devel mailing list -- devel@xxxxxxxxxxxxxxxxxxxxxxx To unsubscribe send an email to devel-leave@xxxxxxxxxxxxxxxxxxxxxxx Fedora Code of Conduct: https://getfedora.org/code-of-conduct.html List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines List Archives: https://lists.fedoraproject.org/archives/list/devel@xxxxxxxxxxxxxxxxxxxxxxx