Bug 2301717 - python-pyside6: please consider providing pyside6-uic, pyside6-rcc, and pyside6-designer
Summary: python-pyside6: please consider providing pyside6-uic, pyside6-rcc, and pysid...
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Fedora
Classification: Fedora
Component: python-pyside6
Version: rawhide
Hardware: Unspecified
OS: Linux
unspecified
medium
Target Milestone: ---
Assignee: loise@kde.org
QA Contact:
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2024-07-30 16:56 UTC by Ben Beasley
Modified: 2024-08-11 04:49 UTC (History)
4 users (show)

Fixed In Version: python-pyside6-6.7.2-3.fc40
Clone Of:
Environment:
Last Closed: 2024-08-11 04:49:00 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)

Description Ben Beasley 2024-07-30 16:56:02 UTC
Without pyside6-uic, pyside6-rcc, and pyside6-designer (especially the first two), many potential dependent packages will be unable to use PySide6. For example, re-enabling the "usdview" application in usd with PySide6 (instead of PySide2) would requires re-generating Python code from .ui files using pyside6-uic.

Reproducible: Always




This package is a little too complicated for me to offer a PR with a reasonable amount of study and effort.

Comment 1 loise@kde.org 2024-07-30 17:57:14 UTC
Hi,

you nailed a known problem :) I've currently only found the solution to call uic and rcc with parameters for generating python output. So as far as I understood other linux distros, those tools are only wrapper scripts but up until now I wasn't able to find what is missing so they get generated during the build process and installed.

Can you have a look into the build during a copr build and try to fetch this ? I've tried literally for month to find that out.

Please let me know if there is any progress to report.

BR, Loise

Comment 2 Łukasz Patron 2024-07-30 22:22:15 UTC
I uploaded my approach to this issue here https://src.fedoraproject.org/fork/luk1337/rpms/python-pyside6/tree/rawhide, this also covers BZ#2301713. Let me know if there's something could be improved etc.

Comment 3 Łukasz Patron 2024-07-30 23:16:22 UTC
(In reply to Łukasz Patron from comment #2)
> I uploaded my approach to this issue here
> https://src.fedoraproject.org/fork/luk1337/rpms/python-pyside6/tree/rawhide,
> this also covers BZ#2301713. Let me know if there's something could be
> improved etc.

Also, you can find scratch build here https://koji.fedoraproject.org/koji/taskinfo?taskID=121265953

Comment 4 Łukasz Patron 2024-07-31 06:29:09 UTC
(In reply to Łukasz Patron from comment #3)
> (In reply to Łukasz Patron from comment #2)
> > I uploaded my approach to this issue here
> > https://src.fedoraproject.org/fork/luk1337/rpms/python-pyside6/tree/rawhide,
> > this also covers BZ#2301713. Let me know if there's something could be
> > improved etc.
> 
> Also, you can find scratch build here
> https://koji.fedoraproject.org/koji/taskinfo?taskID=121265953

I found out that using setup.py install_scripts instead of egg_info creates pyside6-* scripts automatically, I force pushed my branch with that change and started a new scratch build at https://koji.fedoraproject.org/koji/taskinfo?taskID=121278807

Comment 5 Łukasz Patron 2024-07-31 06:58:35 UTC
(In reply to Łukasz Patron from comment #4)
> (In reply to Łukasz Patron from comment #3)
> > (In reply to Łukasz Patron from comment #2)
> > > I uploaded my approach to this issue here
> > > https://src.fedoraproject.org/fork/luk1337/rpms/python-pyside6/tree/rawhide,
> > > this also covers BZ#2301713. Let me know if there's something could be
> > > improved etc.
> > 
> > Also, you can find scratch build here
> > https://koji.fedoraproject.org/koji/taskinfo?taskID=121265953
> 
> I found out that using setup.py install_scripts instead of egg_info creates
> pyside6-* scripts automatically, I force pushed my branch with that change
> and started a new scratch build at
> https://koji.fedoraproject.org/koji/taskinfo?taskID=121278807

Force pushed again and now shiboken6-genpyi works properly too - https://koji.fedoraproject.org/koji/taskinfo?taskID=121279463

Comment 6 Ben Beasley 2024-07-31 22:22:58 UTC
Thanks for investigating this!

I didn’t have time to do a detailed review (and I probably won’t), but https://src.fedoraproject.org/fork/luk1337/rpms/python-pyside6/c/f226f8a5a287d82b935693a47ecf86752cbb6b51?branch=rawhide *looks* basically reasonable.

I also tried re-enabling the Qt application in usd with https://src.fedoraproject.org/rpms/usd/pull-request/23, and this at least compiled locally. I would like to test it interactively, but I probably won’t have a chance today.

Comment 7 Ben Beasley 2024-08-01 01:18:55 UTC
(In reply to Ben Beasley from comment #6)
> Thanks for investigating this!
> 
> I didn’t have time to do a detailed review (and I probably won’t), but
> https://src.fedoraproject.org/fork/luk1337/rpms/python-pyside6/c/
> f226f8a5a287d82b935693a47ecf86752cbb6b51?branch=rawhide *looks* basically
> reasonable.
> 
> I also tried re-enabling the Qt application in usd with
> https://src.fedoraproject.org/rpms/usd/pull-request/23, and this at least
> compiled locally. I would like to test it interactively, but I probably
> won’t have a chance today.

I posted this prematurely. The USD build actually failed with

[2883/3431] cd /builddir/build/BUILD/usd-24.03-build/OpenUSD-24.03/redhat-linux-build/pxr/usdImaging/usdviewq && /builddir/build/BUILD/usd-24.03-build/OpenUSD-24.03/uic-wrapper -o /builddir/build/BUILD/usd-24.03-build/OpenUSD-24.03/redhat-linux-build/pxr/usdImaging/usdviewq/adjustDefaultMaterialUI.py /builddir/build/BUILD/usd-24.03-build/OpenUSD-24.03/pxr/usdImaging/usdviewq/adjustDefaultMaterialUI.ui            
FAILED: pxr/usdImaging/usdviewq/adjustDefaultMaterialUI.py /builddir/build/BUILD/usd-24.03-build/OpenUSD-24.03/redhat-linux-build/pxr/usdImaging/usdviewq/adjustDefaultMaterialUI.py
cd /builddir/build/BUILD/usd-24.03-build/OpenUSD-24.03/redhat-linux-build/pxr/usdImaging/usdviewq && /builddir/build/BUILD/usd-24.03-build/OpenUSD-24.03/uic-wrapper -o /builddir/build/BUILD/usd-24.03-build/OpenUSD-24.03/redhat-linux-build/pxr/usdImaging/usdviewq/adjustDefaultMaterialUI.py /builddir/build/BUILD/usd-24.03-build/OpenUSD-24.03/pxr/usdImaging/usdviewq/adjustDefaultMaterialUI.ui
Traceback (most recent call last):
  File "/usr/bin/pyside6-uic", line 33, in <module>
    sys.exit(load_entry_point('PySide6==6.7.2', 'console_scripts', 'pyside6-uic')())
             ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/bin/pyside6-uic", line 25, in importlib_load_entry_point
    return next(matches).load()
           ~~~~^^^^^^^^^ 
StopIteration

I will look into this further when I have a chance. "pyside6-uic --help" seems to work fine in a mock chroot.

Comment 8 Ben Beasley 2024-08-01 02:52:50 UTC
I think my problems are due to the scratch build’s EVR being lower than the one in Rawhide. I’m ending up with mixed versions in my local mock build (downgrades are happening). Let me fiddle with it a bit more.

Comment 9 Łukasz Patron 2024-08-01 03:15:31 UTC
(In reply to Ben Beasley from comment #7)
> (In reply to Ben Beasley from comment #6)
> > Thanks for investigating this!
> > 
> > I didn’t have time to do a detailed review (and I probably won’t), but
> > https://src.fedoraproject.org/fork/luk1337/rpms/python-pyside6/c/
> > f226f8a5a287d82b935693a47ecf86752cbb6b51?branch=rawhide *looks* basically
> > reasonable.
> > 
> > I also tried re-enabling the Qt application in usd with
> > https://src.fedoraproject.org/rpms/usd/pull-request/23, and this at least
> > compiled locally. I would like to test it interactively, but I probably
> > won’t have a chance today.
> 
> I posted this prematurely. The USD build actually failed with
> 
> [2883/3431] cd
> /builddir/build/BUILD/usd-24.03-build/OpenUSD-24.03/redhat-linux-build/pxr/
> usdImaging/usdviewq &&
> /builddir/build/BUILD/usd-24.03-build/OpenUSD-24.03/uic-wrapper -o
> /builddir/build/BUILD/usd-24.03-build/OpenUSD-24.03/redhat-linux-build/pxr/
> usdImaging/usdviewq/adjustDefaultMaterialUI.py
> /builddir/build/BUILD/usd-24.03-build/OpenUSD-24.03/pxr/usdImaging/usdviewq/
> adjustDefaultMaterialUI.ui            
> FAILED: pxr/usdImaging/usdviewq/adjustDefaultMaterialUI.py
> /builddir/build/BUILD/usd-24.03-build/OpenUSD-24.03/redhat-linux-build/pxr/
> usdImaging/usdviewq/adjustDefaultMaterialUI.py
> cd
> /builddir/build/BUILD/usd-24.03-build/OpenUSD-24.03/redhat-linux-build/pxr/
> usdImaging/usdviewq &&
> /builddir/build/BUILD/usd-24.03-build/OpenUSD-24.03/uic-wrapper -o
> /builddir/build/BUILD/usd-24.03-build/OpenUSD-24.03/redhat-linux-build/pxr/
> usdImaging/usdviewq/adjustDefaultMaterialUI.py
> /builddir/build/BUILD/usd-24.03-build/OpenUSD-24.03/pxr/usdImaging/usdviewq/
> adjustDefaultMaterialUI.ui
> Traceback (most recent call last):
>   File "/usr/bin/pyside6-uic", line 33, in <module>
>     sys.exit(load_entry_point('PySide6==6.7.2', 'console_scripts',
> 'pyside6-uic')())
>             
> ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
>   File "/usr/bin/pyside6-uic", line 25, in importlib_load_entry_point
>     return next(matches).load()
>            ~~~~^^^^^^^^^ 
> StopIteration
> 
> I will look into this further when I have a chance. "pyside6-uic --help"
> seems to work fine in a mock chroot.

Install debel package and it should work.

Comment 10 Ben Beasley 2024-08-01 03:38:33 UTC
(In reply to Ben Beasley from comment #7)
> > I also tried re-enabling the Qt application in usd with
> > https://src.fedoraproject.org/rpms/usd/pull-request/23, and this at least
> > compiled locally. I would like to test it interactively, but I probably
> > won’t have a chance today.

With a few tweaks to the PR, and with workarounds (commenting out the pyside6-related BR’s) to prevent “pre-installed” pyside6 packages from the scratch build from being “upgraded” to the versions currently in Rawhide, the USD build really does work now. Still haven’t had a chance to see if the resulting application actually runs, but it’s a start!

Comment 11 Łukasz Patron 2024-08-01 06:36:22 UTC
(In reply to Łukasz Patron from comment #9)
> (In reply to Ben Beasley from comment #7)
> > (In reply to Ben Beasley from comment #6)
> > > Thanks for investigating this!
> > > 
> > > I didn’t have time to do a detailed review (and I probably won’t), but
> > > https://src.fedoraproject.org/fork/luk1337/rpms/python-pyside6/c/
> > > f226f8a5a287d82b935693a47ecf86752cbb6b51?branch=rawhide *looks* basically
> > > reasonable.
> > > 
> > > I also tried re-enabling the Qt application in usd with
> > > https://src.fedoraproject.org/rpms/usd/pull-request/23, and this at least
> > > compiled locally. I would like to test it interactively, but I probably
> > > won’t have a chance today.
> > 
> > I posted this prematurely. The USD build actually failed with
> > 
> > [2883/3431] cd
> > /builddir/build/BUILD/usd-24.03-build/OpenUSD-24.03/redhat-linux-build/pxr/
> > usdImaging/usdviewq &&
> > /builddir/build/BUILD/usd-24.03-build/OpenUSD-24.03/uic-wrapper -o
> > /builddir/build/BUILD/usd-24.03-build/OpenUSD-24.03/redhat-linux-build/pxr/
> > usdImaging/usdviewq/adjustDefaultMaterialUI.py
> > /builddir/build/BUILD/usd-24.03-build/OpenUSD-24.03/pxr/usdImaging/usdviewq/
> > adjustDefaultMaterialUI.ui            
> > FAILED: pxr/usdImaging/usdviewq/adjustDefaultMaterialUI.py
> > /builddir/build/BUILD/usd-24.03-build/OpenUSD-24.03/redhat-linux-build/pxr/
> > usdImaging/usdviewq/adjustDefaultMaterialUI.py
> > cd
> > /builddir/build/BUILD/usd-24.03-build/OpenUSD-24.03/redhat-linux-build/pxr/
> > usdImaging/usdviewq &&
> > /builddir/build/BUILD/usd-24.03-build/OpenUSD-24.03/uic-wrapper -o
> > /builddir/build/BUILD/usd-24.03-build/OpenUSD-24.03/redhat-linux-build/pxr/
> > usdImaging/usdviewq/adjustDefaultMaterialUI.py
> > /builddir/build/BUILD/usd-24.03-build/OpenUSD-24.03/pxr/usdImaging/usdviewq/
> > adjustDefaultMaterialUI.ui
> > Traceback (most recent call last):
> >   File "/usr/bin/pyside6-uic", line 33, in <module>
> >     sys.exit(load_entry_point('PySide6==6.7.2', 'console_scripts',
> > 'pyside6-uic')())
> >             
> > ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
> >   File "/usr/bin/pyside6-uic", line 25, in importlib_load_entry_point
> >     return next(matches).load()
> >            ~~~~^^^^^^^^^ 
> > StopIteration
> > 
> > I will look into this further when I have a chance. "pyside6-uic --help"
> > seems to work fine in a mock chroot.
> 
> Install debel package and it should work.

nvm, it was shiboken6-genpyi that needed that workaround, I fixed it buy moving %{_bindir}/shiboken6-genpyi to the correct package.

Comment 12 Ben Beasley 2024-08-02 18:52:38 UTC
I was able to rebuild the source rpm from https://koji.fedoraproject.org/koji/taskinfo?taskID=121279463 for F40, then use it to build USD, and then test the usdview application interactively, and it looks like everything worked! So at least for my use case, it looks like your approach works.

Comment 13 Fedora Update System 2024-08-02 21:16:28 UTC
FEDORA-2024-1e2816743b (python-pyside6-6.7.2-3.fc40) has been submitted as an update to Fedora 40.
https://bodhi.fedoraproject.org/updates/FEDORA-2024-1e2816743b

Comment 14 Ben Beasley 2024-08-03 01:12:28 UTC
Thanks again! This is really helpful.

Comment 15 Fedora Update System 2024-08-03 02:20:46 UTC
FEDORA-2024-1e2816743b has been pushed to the Fedora 40 testing repository.
Soon you'll be able to install the update with the following command:
`sudo dnf upgrade --enablerepo=updates-testing --refresh --advisory=FEDORA-2024-1e2816743b`
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2024-1e2816743b

See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.

Comment 16 Fedora Update System 2024-08-11 04:49:00 UTC
FEDORA-2024-1e2816743b (python-pyside6-6.7.2-3.fc40) has been pushed to the Fedora 40 stable repository.
If problem still persists, please make note of it in this bug report.


Note You need to log in before you can comment on or make changes to this bug.