Bug 2265554 - Review Request: python-pyside6 - Qt for Python packages
Summary: Review Request: python-pyside6 - Qt for Python packages
Keywords:
Status: CLOSED CURRENTRELEASE
Alias: None
Product: Fedora
Classification: Fedora
Component: Package Review
Version: rawhide
Hardware: All
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Neal Gompa
QA Contact: Fedora Extras Quality Assurance
URL: https://wiki.qt.io/Qt_for_Python
Whiteboard:
: 2255537 (view as bug list)
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2024-02-22 16:52 UTC by loise@kde.org
Modified: 2025-02-10 09:04 UTC (History)
7 users (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed: 2025-02-10 09:04:11 UTC
Type: ---
Embargoed:
ngompa13: fedora-review+


Attachments (Terms of Use)
The .spec file difference from Copr build 7050248 to 7053368 (530 bytes, patch)
2024-02-23 18:55 UTC, Fedora Review Service
no flags Details | Diff

Comment 1 Neal Gompa 2024-02-22 17:09:36 UTC
Taking this review.

Comment 2 Fedora Review Service 2024-02-22 18:00:23 UTC
Copr build:
https://copr.fedorainfracloud.org/coprs/build/7050248
(succeeded)

Review template:
https://download.copr.fedorainfracloud.org/results/@fedora-review/fedora-review-2265554-python-pyside6/fedora-rawhide-x86_64/07050248-python-pyside6/fedora-review/review.txt

Please take a look if any issues were found.


---
This comment was created by the fedora-review-service
https://github.com/FrostyX/fedora-review-service

If you want to trigger a new Copr build, add a comment containing new
Spec and SRPM URLs or [fedora-review-service-build] string.

Comment 3 Neal Gompa 2024-02-23 14:22:36 UTC
Initial spec review:

> %global toolchain clang
> %global _lto_cflags %{nil}

Why are we setting these? We should be able to build with GCC just fine, and there's no explanation for why LTO needs to be disabled.

> %undefine __cmake_in_source_build

We already don't define in source builds on RHEL 9+, so this is superfluous.

> BuildRequires:  /usr/bin/xvfb-run

We should be using "/usr/bin/wlheadless-run" instead.

See man page: https://www.mankier.com/1/wlheadless-run

Comment 4 Neal Gompa 2024-02-23 16:20:41 UTC
> BuildRequires:  gcc

We also need "BuildRequires:  gcc-c++"

> export CXX=$(which clang++)

This should also be dropped since we are using gcc.

Comment 5 loise@kde.org 2024-02-23 18:11:10 UTC
(In reply to Neal Gompa from comment #4)
> > BuildRequires:  gcc
> 
> We also need "BuildRequires:  gcc-c++"
> 
> > export CXX=$(which clang++)
> 
> This should also be dropped since we are using gcc.

[142/1994] /usr/bin/g++ -DPySidePlugin_EXPORTS -DQDESIGNER_EXPORT_WIDGETS -DQT_CORE_LIB -DQT_DEPRECATED_WARNINGS -DQT_GUI_LIB -DQT_NO_DEBUG -DQT_PLUGIN -DQT_UIPLUGIN_LIB -DQT_WIDGETS_LIB -I/builddir/build/BUILD/pyside-setup-everywhere-src-6.6.2/redhat-linux-build/sources/pyside6/plugins/designer -I/builddir/build/BUILD/pyside-setup-everywhere-src-6.6.2/sources/pyside6/plugins/designer -I/builddir/build/BUILD/pyside-setup-everywhere-src-6.6.2/redhat-linux-build/sources/pyside6/plugins/designer/PySidePlugin_autogen/include -I/builddir/build/BUILD/pyside-setup-everywhere-src-6.6.2/sources/pyside6/plugins/designer/../uitools -I/usr/include/python3.12 -isystem /usr/include/qt6/QtCore -isystem /usr/include/qt6 -isystem /usr/lib64/qt6/mkspecs/linux-g++ -isystem /usr/include/qt6/QtGui -isystem /usr/include/qt6/QtUiPlugin -isystem /usr/include/qt6/QtWidgets -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1  -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -Wall -Wextra -Wno-strict-aliasing -Wno-cast-function-type -fvisibility=hidden -std=gnu++17 -fPIC   -fPIC -MD -MT sources/pyside6/plugins/designer/CMakeFiles/PySidePlugin.dir/PySidePlugin_autogen/mocs_compilation.cpp.o -MF sources/pyside6/plugins/designer/CMakeFiles/PySidePlugin.dir/PySidePlugin_autogen/mocs_compilation.cpp.o.d -o sources/pyside6/plugins/designer/CMakeFiles/PySidePlugin.dir/PySidePlugin_autogen/mocs_compilation.cpp.o -c /builddir/build/BUILD/pyside-setup-everywhere-src-6.6.2/redhat-linux-build/sources/pyside6/plugins/designer/PySidePlugin_autogen/mocs_compilation.cpp
[143/1994] cd /builddir/build/BUILD/pyside-setup-everywhere-src-6.6.2/sources/pyside6/PySide6/QtCore && /builddir/build/BUILD/pyside-setup-everywhere-src-6.6.2/redhat-linux-build/.qfp/bin/shiboken_wrapper.sh /builddir/build/BUILD/pyside-setup-everywhere-src-6.6.2/redhat-linux-build/sources/shiboken6/generator/shiboken6 --generator-set=shiboken --enable-parent-ctor-heuristic --enable-pyside-extensions --enable-return-value-heuristic --use-isnull-as-nb-bool --include-paths=/builddir/build/BUILD/pyside-setup-everywhere-src-6.6.2/sources/pyside6/PySide6:/usr/lib64/qt6/mkspecs/linux-g++:/usr/include/qt6:/usr/include/qt6/QtCore:/usr/include/qt6 --typesystem-paths=/builddir/build/BUILD/pyside-setup-everywhere-src-6.6.2/redhat-linux-build/sources/pyside6/PySide6:/builddir/build/BUILD/pyside-setup-everywhere-src-6.6.2/sources/pyside6/PySide6:/builddir/build/BUILD/pyside-setup-everywhere-src-6.6.2/sources/pyside6/PySide6/QtCore --output-directory=/builddir/build/BUILD/pyside-setup-everywhere-src-6.6.2/redhat-linux-build/sources/pyside6/PySide6/QtCore --license-file=/builddir/build/BUILD/pyside-setup-everywhere-src-6.6.2/sources/pyside6/PySide6/QtCore/../licensecomment.txt --lean-headers --api-version=6.6.2 /builddir/build/BUILD/pyside-setup-everywhere-src-6.6.2/redhat-linux-build/sources/pyside6/PySide6/QtCore_global.h /builddir/build/BUILD/pyside-setup-everywhere-src-6.6.2/sources/pyside6/PySide6/QtCore/typesystem_core.xml
FAILED: sources/pyside6/PySide6/QtCore/mjb_rejected_classes.log sources/pyside6/PySide6/QtCore/PySide6/QtCore/qabstractanimation_wrapper.cpp sources/pyside6/PySide6/QtCore/PySide6/QtCore

[...]
--lean-headers --api-version=6.6.2 /builddir/build/BUILD/pyside-setup-everywhere-src-6.6.2/redhat-linux-build/sources/pyside6/PySide6/QtCore_global.h /builddir/build/BUILD/pyside-setup-everywhere-src-6.6.2/sources/pyside6/PySide6/QtCore/typesystem_core.xml
(core) findClangBuiltInIncludesDir: No subdirectories found in /usr/lib64/clang.
qt.shiboken: (core) CLANG v0.64, builtins includes directory: /usr/include
/usr/lib/gcc/x86_64-redhat-linux/14/../../../../include/c++/14/cstddef:50:10: fatal error: 'stddef.h' file not found
(core) Errors in /tmp/QtCore_global_tjzroM.hpp:
/usr/lib/gcc/x86_64-redhat-linux/14/../../../../include/c++/14/cstddef:50:10: fatal: 'stddef.h' file not found
   /tmp/QtCore_global_tjzroM.hpp:1:10: note: in file included from /tmp/QtCore_global_tjzroM.hpp:1:
   /builddir/build/BUILD/pyside-setup-everywhere-src-6.6.2/redhat-linux-build/sources/pyside6/PySide6/QtCore_global.h:5:10: note: in file included from /builddir/build/BUILD/pyside-setup-everywhere-src-6.6.2/redhat-linux-build/sources/pyside6/PySide6/QtCore_global.h:5:
   /usr/include/qt6/QtCore/qnamespace.h:12:10: note: in file included from /usr/include/qt6/QtCore/qnamespace.h:12:
   /usr/include/qt6/QtCore/qglobal.h:14:12: note: in file included from /usr/include/qt6/QtCore/qglobal.h:14:


(core) Clang: 1 diagnostic messages:
  /usr/lib/gcc/x86_64-redhat-linux/14/../../../../include/c++/14/cstddef:50:10: fatal: 'stddef.h' file not found
   /tmp/QtCore_global_tjzroM.hpp:1:10: note: in file included from /tmp/QtCore_global_tjzroM.hpp:1:
   /builddir/build/BUILD/pyside-setup-everywhere-src-6.6.2/redhat-linux-build/sources/pyside6/PySide6/QtCore_global.h:5:10: note: in file included from /builddir/build/BUILD/pyside-setup-everywhere-src-6.6.2/redhat-linux-build/sources/pyside6/PySide6/QtCore_global.h:5:
   /usr/include/qt6/QtCore/qnamespace.h:12:10: note: in file included from /usr/include/qt6/QtCore/qnamespace.h:12:
   /usr/include/qt6/QtCore/qglobal.h:14:12: note: in file included from /usr/include/qt6/QtCore/qglobal.h:14:


Keeping temporary file: /tmp/QtCore_global_tjzroM.hpp
shiboken: Error running ApiExtractor.

Comment 6 loise@kde.org 2024-02-23 18:15:26 UTC
SPEC: https://download.copr.fedorainfracloud.org/results/loise/update-testing/fedora-rawhide-x86_64/07052943-python-pyside6/python-pyside6.spec

SRPM: https://download.copr.fedorainfracloud.org/results/loise/update-testing/fedora-rawhide-x86_64/07052943-python-pyside6/python-pyside6-6.6.2-1.fc41.src.rpm

This version works :) I fixed the other items you named in your first post. I'm trying to find a solution that works with gcc because I hate rebuilding whenever clang gets updated...

Comment 7 Fedora Review Service 2024-02-23 18:55:59 UTC
Created attachment 2018357 [details]
The .spec file difference from Copr build 7050248 to 7053368

Comment 8 Fedora Review Service 2024-02-23 18:56:02 UTC
Copr build:
https://copr.fedorainfracloud.org/coprs/build/7053368
(succeeded)

Review template:
https://download.copr.fedorainfracloud.org/results/@fedora-review/fedora-review-2265554-python-pyside6/fedora-rawhide-x86_64/07053368-python-pyside6/fedora-review/review.txt

Please take a look if any issues were found.


---
This comment was created by the fedora-review-service
https://github.com/FrostyX/fedora-review-service

If you want to trigger a new Copr build, add a comment containing new
Spec and SRPM URLs or [fedora-review-service-build] string.

Comment 9 Neal Gompa 2024-02-24 17:26:58 UTC
*** Bug 2255537 has been marked as a duplicate of this bug. ***

Comment 10 Neal Gompa 2024-02-24 17:28:48 UTC
(In reply to loise from comment #6)
> SPEC:
> https://download.copr.fedorainfracloud.org/results/loise/update-testing/
> fedora-rawhide-x86_64/07052943-python-pyside6/python-pyside6.spec
> 
> SRPM:
> https://download.copr.fedorainfracloud.org/results/loise/update-testing/
> fedora-rawhide-x86_64/07052943-python-pyside6/python-pyside6-6.6.2-1.fc41.
> src.rpm
> 
> This version works :) I fixed the other items you named in your first post.
> I'm trying to find a solution that works with gcc because I hate rebuilding
> whenever clang gets updated...

It might be worth filing a bug report to PySide? https://bugreports.qt.io/projects/PYSIDE/

Comment 11 Neal Gompa 2024-02-26 02:43:29 UTC
Review notes:

* Package generally follows Fedora packaging guidelines
* Package builds and installs
* Package licensing is correct
* Python dependencies correctly generated

PACKAGE APPROVED.

Also, please file bugs about it failing to build with GCC as the compiler. Just because it uses libclang does not mean it should fail with GCC like this.

Comment 12 Fedora Admin user for bugzilla script actions 2024-02-26 06:54:50 UTC
The Pagure repository was created at https://src.fedoraproject.org/rpms/python-pyside6

Comment 13 Alex Pyrgiotis 2024-02-26 11:54:05 UTC
That's an amazing development, kudos to everyone involved in this.

Quick question, since we already offer a python3-pyside6 RPM (v6.6.1) in a repo of ours: what's the plan for publishing this package in stable releases (e.g., Fedora 38/39)?

Comment 14 loise@kde.org 2024-02-26 12:47:43 UTC
(In reply to Alex Pyrgiotis from comment #13)
> That's an amazing development, kudos to everyone involved in this.
> 
> Quick question, since we already offer a python3-pyside6 RPM (v6.6.1) in a
> repo of ours: what's the plan for publishing this package in stable releases
> (e.g., Fedora 38/39)?

My primary goal now is to work on the docs which don't get generated yet and to integrate everything so it works best with qt-creator. Are you willing to do some tests or help fix things ? WRT other Fedora releases, that very much depends on the KDE SIG and on Jan deciding if qt 6.6.2 as a whole will be handed down to those releases, the focus is on F40 now.

Comment 15 Alex Pyrgiotis 2024-02-26 19:43:45 UTC
> My primary goal now is to work on the docs which don't get generated yet and to integrate everything so it works best with qt-creator. Are you willing to do some tests or help fix things

Yeap, I'd be happy to. I plan to build and check the RPM against our project for starters (we have some automated GUI tests and I can do some manual testing as well). Other than that, I don't have much Qt experience, but if there's any way I can help, let me know.

> WRT other Fedora releases, that very much depends on the KDE SIG and on Jan deciding if qt 6.6.2 as a whole will be handed down to those releases, the focus is on F40 now.

Good to know, thanks.

Comment 16 Ben Beasley 2024-02-28 17:10:11 UTC
(In reply to loise from comment #14)
> My primary goal now is to work on the docs which don't get generated yet and
> to integrate everything so it works best with qt-creator. Are you willing to
> do some tests or help fix things ? WRT other Fedora releases, that very much
> depends on the KDE SIG and on Jan deciding if qt 6.6.2 as a whole will be
> handed down to those releases, the focus is on F40 now.

Are you planning to build the package for F40 soon, or are you trying to do that documentation work first?

Comment 17 Laurent Rineau 2025-02-10 09:04:11 UTC
This package is now in Fedora (from f40 to f43), and in EPEL 10.

  See https://src.fedoraproject.org/rpms/python-pyside6

It seems one forgot to close this bug. Closing it now.


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