Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

qt5: 5.15.0 -> 5.15.2 #106118

Merged
5 commits merged into from Dec 11, 2020
Merged

qt5: 5.15.0 -> 5.15.2 #106118

5 commits merged into from Dec 11, 2020

Conversation

andir
Copy link
Member

@andir andir commented Dec 6, 2020

Motivation for this change

See commit messages.

Things done
  • Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
  • Built on platform(s)
    • NixOS
  • executed cutebrowser with the new Qt build.
  • executed the plasma5 NixOS test.

@andir
Copy link
Member Author

andir commented Dec 7, 2020

I'm still building the plasma5 test locally to identify the blast radius of this change. If it wouldn't be for that QtWebEngine crash I'd retarget to staging.

This is a maintenance release of the Qt 5.15 release series. It focuses on
bug and security fixes. The feature that made me update this package was
the broken u2f support in QtWebEngine when used together with
Qutebrowser. It previously (on older Qt versions) used to work but
stopped working with the switch to 5.15.

As the changelog is rather extensive the reader is advised to inspect
[0] to checkout the changes to each of the components of their
interest.

This also fixes a security issue with QtWebEngine based browsers that
could be crashed by visiting a website that invokes certain WebRTC
features [1].

[0] https://wiki.qt.io/Qt_5.15.2_Change_Files
[1] https://bugreports.qt.io/browse/QTBUG-86752
As of version 3.0.0 tldextract requires filelock during runtime. [0] In
nixpkgs tldextract was bumped from version 2.2.3 to 3.1.0 in
5b2d824 without actually updating the
dependencies breaking packages such as qutebrowser.

This fix is part of this series to verify that bumping qt5 to 5.15.2
actually fixes the crash caused by WebRTC [1].

[0] john-kurkowski/tldextract@2eba0e5
[1] https://bugreports.qt.io/browse/QTBUG-86752
Qt 5.15 carried a change that renamed a getter for the socket error. In
a later relase that change was reverted (to be less ambiguous) thus now
 those that had picked up the change in API had to change their code.
 This has now been reverted [0] and thus the consumers also have to
 revert their changes…

[0] https://codereview.qt-project.org/c/qt/qtbase/+/289693
This keeps the PyQt5 version in sync with the Qt release. While it is
apparently not strictly required it is probably not the worst idea to do
this.
@FRidh
Copy link
Member

FRidh commented Dec 7, 2020

Rebuilding my desktop against this now.

@FRidh
Copy link
Member

FRidh commented Dec 7, 2020

$ nix build .#kompare
...
[ 85%] Building CXX object komparepart/CMakeFiles/komparepart.dir/komparelistview.cpp.o
[ 87%] Building CXX object komparepart/CMakeFiles/komparepart.dir/kompareprefdlg.cpp.o
/build/kompare-20.08.2/komparepart/kompare_part.cpp: In member function 'void KomparePart::slotFilePrint()':
/build/kompare-20.08.2/komparepart/kompare_part.cpp:613:13: error: 'class QPrinter' has no member named 'setOrientation'; did you mean 'Orientation'?
  613 |     printer.setOrientation(QPrinter::Landscape);
      |             ^~~~~~~~~~~~~~
      |             Orientation
/build/kompare-20.08.2/komparepart/kompare_part.cpp: In member function 'void KomparePart::slotFilePrintPreview()':
/build/kompare-20.08.2/komparepart/kompare_part.cpp:628:13: error: 'class QPrinter' has no member named 'setOrientation'; did you mean 'Orientation'?
  628 |     printer.setOrientation(QPrinter::Landscape);
      |             ^~~~~~~~~~~~~~
      |             Orientation
[ 89%] Building CXX object komparepart/CMakeFiles/komparepart.dir/komparesaveoptionsbase.cpp.o
make[2]: *** [komparepart/CMakeFiles/komparepart.dir/build.make:105: komparepart/CMakeFiles/komparepart.dir/kompare_part.cpp.o] Error 1
make[2]: *** Waiting for unfinished jobs....
[ 91%] Linking CXX executable kompare
[ 91%] Built target kompare
make[1]: *** [CMakeFiles/Makefile2:926: komparepart/CMakeFiles/komparepart.dir/all] Error 2
make: *** [Makefile:149: all] Error 2

@FRidh
Copy link
Member

FRidh commented Dec 7, 2020

See also #102216 and #104448

@andir
Copy link
Member Author

andir commented Dec 7, 2020 via email

This was referenced Dec 9, 2020
@unclechu
Copy link
Member

unclechu commented Dec 9, 2020

Happy to see that there’s activity here and all the different MRs are shrinked into this only one. Hopefully my eyes will be saved from all that bright light soon. 😄

@ttuegel
Copy link
Member

ttuegel commented Dec 10, 2020

I have re-built qt515 and the only failure was qtwebkit, which was failing before. At this point, I think any other failures can be fixed in the staging stabilization period. Unless there is any objection from @NixOS/qt-kde, I will rebase this onto staging and merge. (I will wait at least 24 hours for objections, but I feel like the risk is low because it has to go into staging.)

@doronbehar
Copy link
Contributor

I have re-built qt515 and the only failure was qtwebkit, which was failing before.

@ttuegel please see #104474 .

@ghost ghost changed the base branch from master to staging December 11, 2020 03:29
@ghost ghost merged commit b583611 into NixOS:staging Dec 11, 2020
@FRidh
Copy link
Member

FRidh commented Dec 11, 2020

@petabyteboy the maintainer wrote to wait with merging

(oh wait we're maintainers as well)

@FRidh
Copy link
Member

FRidh commented Dec 11, 2020

https://invent.kde.org/sdk/kompare/-/commit/68d3eee36c48a2f44ccfd3f9e5a36311b829104b is needed for kompare.

Pushed as cd8b364 to staging.

@ghost
Copy link

ghost commented Dec 11, 2020

@petabyteboy the maintainer wrote to wait with merging

(oh wait we're maintainers as well)

I didn't read it carefully enough and overlooked the "24 hours" part, sorry about that.

Should we put the qtwebkit fix to staging as well to prevent any merge conflicts later or put it on master because it's not a mass rebuild and not directly related to this change?

@ttuegel
Copy link
Member

ttuegel commented Dec 11, 2020

I didn't read it carefully enough and overlooked the "24 hours" part, sorry about that.

Don't worry about it, I was mostly waiting to see if anyone would point out some problem I hadn't noticed, and most of the people who would do that have already commented here. 😅

Should we put the qtwebkit fix to staging as well to prevent any merge conflicts later or put it on master because it's not a mass rebuild and not directly related to this change?

I think we should go ahead and merge the qtwebkit changes to master. There are many packages which can probably be upgraded from Qt 5.14 to Qt 5.15 now, so it would be good if those package maintainers could start testing as soon as possible.

@unclechu
Copy link
Member

Any ideas when I could test it in 20.09 release?

@poelzi
Copy link
Member

poelzi commented Dec 26, 2020

same question. 20.09 is in it's current state just garbage and unusable by any means. One of my main programs I use for performances crashes regularly because of this.

@ttuegel ttuegel mentioned this pull request Dec 27, 2020
10 tasks
@ttuegel
Copy link
Member

ttuegel commented Dec 27, 2020

I opened #107713 to port this update to NixOS 20.09. Please note that this change must go through the staging branch, so it may take several weeks to reach the release channel.

@unclechu
Copy link
Member

unclechu commented Jan 8, 2021

This is now delivered to the nixos-20.09 release branch. vlc, smplayer, audacious, audacity are all using dark theme now.
But only psi-plus for me is still not using dark theme. I checked and discovered that it still linked to Qt 5.14.x. Should it be?

This pull request was closed.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

7 participants