[FFe] Qt 5.2

Bug #1278329 reported by Timo Jyrinki
20
This bug affects 1 person
Affects Status Importance Assigned to Milestone
qt3d-opensource-src (Ubuntu)
Fix Released
Undecided
Unassigned
qtbase-opensource-src (Ubuntu)
Fix Released
Undecided
Unassigned
qtconnectivity-opensource-src (Ubuntu)
Fix Released
Undecided
Unassigned
qtcreator (Ubuntu)
Fix Released
Undecided
Unassigned
qtcreator-plugin-ubuntu (Ubuntu)
Fix Released
Undecided
Unassigned
qtdeclarative-opensource-src (Ubuntu)
Fix Released
Undecided
Unassigned
qtdoc-opensource-src (Ubuntu)
Fix Released
Undecided
Unassigned
qtfeedback-opensource-src (Ubuntu)
Fix Released
Undecided
Unassigned
qtgraphicaleffects-opensource-src (Ubuntu)
Fix Released
Undecided
Unassigned
qtimageformats-opensource-src (Ubuntu)
Fix Released
Undecided
Unassigned
qtlocation-opensource-src (Ubuntu)
Fix Released
Undecided
Unassigned
qtmultimedia-opensource-src (Ubuntu)
Fix Released
Undecided
Unassigned
qtpim-opensource-src (Ubuntu)
Fix Released
Undecided
Unassigned
qtquick1-opensource-src (Ubuntu)
Fix Released
Undecided
Unassigned
qtquickcontrols-opensource-src (Ubuntu)
Fix Released
Undecided
Unassigned
qtscript-opensource-src (Ubuntu)
Fix Released
Undecided
Unassigned
qtsensors-opensource-src (Ubuntu)
Fix Released
Undecided
Unassigned
qtserialport-opensource-src (Ubuntu)
Fix Released
Undecided
Unassigned
qtsystems-opensource-src (Ubuntu)
Fix Released
Undecided
Unassigned
qttools-opensource-src (Ubuntu)
Fix Released
Undecided
Unassigned
qttranslations-opensource-src (Ubuntu)
Fix Released
Undecided
Unassigned
qtwebkit-examples-opensource-src (Ubuntu)
Fix Released
Undecided
Unassigned
qtwebkit-opensource-src (Ubuntu)
Fix Released
Undecided
Unassigned
qtx11extras-opensource-src (Ubuntu)
Fix Released
Undecided
Unassigned
qtxmlpatterns-opensource-src (Ubuntu)
Fix Released
Undecided
Unassigned

Bug Description

Dear Release Team,

Regarding Qt 5.2, what has been already achieved:
- Qt modules built in a PPA https://launchpad.net/~canonical-qt5-edgers/+archive/qt5-beta2, including the git snapshot ones
- Qt packaging synced up with Debian at least once during 5.2 cycle. Private headers usage dropped from many Ubuntu Touch packages so that Qt modules could drop them too. Most of the modules are syncable from Debian as is, although for PPA building reasons there are bzr packaging branches also for them.
- ~80 dependent source packages have daily recipe builds from trunks to the same PPA, because of the Qt 5.2 ABI break and libqt5core5 -> libqt5core5a library rename (http://bugs.debian.org/731261)
- The ~80 packages build successfully both against Qt 5.0 and Qt 5.2, and all unit tests pass. This was tracked at http://pad.ubuntu.com/qt52-dependencies until now the work is essentially complete.
- Ubuntu Touch mostly works, also the desktop Qt 5 applications work
- Most of the system integration autopilot tests pass, but there has been found some work remaining.
- The needed qtbase changes for Unity appmenu support for Qt 5 contributed to upstream - see bug #1157213.

Key remaining tasks that are being worked upon daily by the respective teams:
- A handful of unfixed critical bugs https://bugs.launchpad.net/bugs/+bugs?field.tag=qt5.2
- Functional multimedia support on Ubuntu Touch - unfortunately the separate qtmultimedia-opensource-src-touch package still needs to be maintained by the Multimedia team to not modify upstream Qt Multimedia too much. This was earlier believed to be dropped with Qt 5.2, but the dropping is now targeted to happen with Qt 5.3.
- More packaging syncing with 5.2.1, contribute remaining test enablement to Debian, provided by the QA team (most contributed already).
- Get 'OK' from QA team image validation of Ubuntu Touch using Qt 5.2 - this means all Autopilot tests pass + dogfooding
- Upload Qt + rebuild ~80 packages in the archive

Considering all of the above, we'd like you to consider allowing a Feature Freeze Exception. Ubuntu is preaching daily quality even during the development cycle and so we want to avoid creating any regression in any flavor of Ubuntu before pushing it to the archive. For that, we'd like to continue working a little bit longer on this stabilization before pushing it to the archive, to ensure the upgrade will be as smooth as possible.

The FFe would include the Qt modules listed at the following document: https://docs.google.com/a/canonical.com/spreadsheet/ccc?key=0AjuCdq68GSyVdFI4QzNQdWpfME5aMEV2VXo0cUpOMkE#gid=19 , including the Qt Creator 3.0 + Ubuntu plugin update from the SDK team. The other packages need only rebuild since all sources have been updated to detect Qt version where necessary and use a different codepath accordingly.

Summaries of main Ubuntu-specific branch changes for packages not to be synced directly from Debian unstable (current status, see the doc linked above for details):
- qtbase: Additional patches (5 upstream, 1 disabling Ubuntu's overlay scrollbar), small packaging changes that have been selected earlier or are related to Ubuntu's additional architectures
- qtdeclarative: Additional submitted/backported patches, to V4 etc
- qtwebkit: Additional backported patches, additional build deps (qtlocation/qtsensors), private headers for webbrowser-app

At the same time Qt 5.2.1 is being prepared in parallel (https://launchpad.net/~canonical-qt5-edgers/+archive/qt5-proper), and if it works at least as well, it will be used instead. Ubuntu developers have worked with upstream to stabilize the new V4 engine among else, which is why our "5.2.0" Qt Declarative module is near 5.2.1 already.

Build logs are available at https://launchpad.net/~canonical-qt5-edgers/+archive/qt5-beta2/+packages?field.series_filter=trusty

Qt 5.2.0 was a big release, a changes summary is included at http://blog.qt.digia.com/blog/2013/12/12/qt-5-2-released-the-best-qt-yet/. Summary changelogs for 5.2.1 releases are found at https://qt-project.org/wiki/Change-files-in-Qt-5.2.1 - modules not listed there typically have only minor changes. Qt Creator 3.0.0 and 3.0.1 changelogs can be found at https://qt.gitorious.org/qt-creator/qt-creator/source/dist/changes-3.0.0 and https://qt.gitorious.org/qt-creator/qt-creator/source/cdc2a0f72334268684e0407e9b04b3188e00d4bf:dist/changes-3.0.1

Dist-upgrade log with Ubuntu trusty having ubuntu-sdk installed attached.

Revision history for this message
Timo Jyrinki (timo-jyrinki) wrote :
affects: ubuntu → qtbase-opensource-src (Ubuntu)
Revision history for this message
Scott Kitterman (kitterman) wrote :

What's blocking this from landing now? This has waited far too long in my opinion. I'm afraid we have so many rules about the development release working perfectly now that it's almost impossible to use for development. This is in Debian Testing already.

Revision history for this message
Timo Jyrinki (timo-jyrinki) wrote :

You're correct that development release is now kept releasable each day, and each daily Ubuntu Touch image should be flawless (http://ci.ubuntu.com/smokeng/trusty/touch/). The new "CI Train" integration does not allow code merges to trunks unless they don't regress those results.

The effects of the development method may not have been discussed enough after the "CI Airline" vUDS discussion in November, from which the current method has evolved. Everything is now worked in silos until they are perfect, and there are tools to allow that. With Qt it's more manual ensuring but still similar to smaller components. Parallel work until all but polishing problems are fixed.

The current Qt 5.2.x blockers include:
- QA team has started testing 5.2.0, but only this week we've gotten tools to create system images using the PPA to be able to get more automated testing
- No multimedia related apps work yet because of lacking qtmultimedia-touch (Multimedia team is working on this)
- Some critical bugs making Touch images unusable like the inability to turn the screen back on once it has blanked
- The V4 engine is seen a bit risky considering the already identified bugs, so the complete 5.2.1 release seems better all around
- 5.2.1 has not been tested yet by QA team. The packaging syncs I've done with 5.2.1 may cause some rebuild problems since the mkspecs directory changed.
- Debian has part of the 5.2.1 in experimental now, with more coming. I'd like to see all of 5.2.1 syncable from Debian for those modules that can be synced (most of them).

Lastly, the process of uploading and building the 20 Qt modules and rebuilding 80 source packages, taking into account the dependencies and architectures, may take several days in case there are any last minute surprises that weren't noticed even with careful preparation.

All in all, 2.5 weeks from now sounds like something when pieces could fall together. I'm putting 5.2.1 into use right now, which should be the start of the final push.

Revision history for this message
Scott Kitterman (kitterman) wrote : Re: [Bug 1278329] Re: [FFe] Qt 5.2

Starting next cycle, Kubuntu will be a major user of Qt5. Landing the major
Qt5 revision just days before, or maybe even after, feature freeze, is totally
unworkable. I think we're likely not to introduce KDE Frameworks 5 packages
in this development cycle, but to do post-release backports once it's more
mature, so it turns out not to have a major impact for 14.04, but something
better will have to be thought out for "U".

Revision history for this message
Timo Jyrinki (timo-jyrinki) wrote :

I know this it not a workable solution for U. This is the first ever major upgrade of Qt 5, because the Qt 5.1.1 already didn't happen despite plans. 5.2 on the other hand is too important to not have. The Qt 5.3 timeframe is such that we shouldn't delay moving to that in U, but just bite the bullet as soon as possible (I expect KDE Frameworks 5 will also move to 5.3). 5.3 should also be about "stabilization and performance" according to upstream, which sounds good; the QML engine rewrite in 5.2 was a quite ambitious project.

Revision history for this message
Dmitry Shachnev (mitya57) wrote :

Hi Timo, which of the blockers are still relevant? When do you expect it to be ready?

Revision history for this message
Timo Jyrinki (timo-jyrinki) wrote :

Dmitry: The relevant blockers are autopilot test failures and multimedia on Ubuntu Touch. Some manual autopilot testing with phablet-test-run and Nexus 4 can be seen at http://is.gd/JA1jg1. The latest news on multimedia was that they know what needs to be done, but I don't have the latest update from end of last week.

Additionally there is a handful of new build or unit test failures with Qt 5.2.1 visible in the PPA, which look minor but need small fixes.

Fixed blockers include Qt 5.2.1 found to fix the "can't unblank after blanking" bug and probably others that were lurking with 5.2.0. Many bugs like crash on start of Dialer + Address book apps have been fixed. Last week Debian also got up to speed with 5.2.1 so now syncing should be possible to do properly.

People needed for the remaining fixes should be available this week, but I will need some confirmations on above issues (when out of my own hands) before making an updated prediction on the readiness. End of this week should still be possible if the Qt 5.2.1 is validated as good enough to fix remaining Touch problems later, although next week seems more likely.

Revision history for this message
Timo Jyrinki (timo-jyrinki) wrote :

This week is seeing great progress, and the ETA would be now set to March 6th, if the FFe is accepted.

The following remaining issues have been fixed or about to be fixed:

- qtvideo-node has been fixed, a manual upload to PPA done while merge is pending
- qtmultimedia-opensource-src-touch has a fix too and a manual upload to the PPA - about to be tested
- newly found build problems fixed in eg. telephony-service, qtorganizer5-eds
- regarding mkspecs move, maliit-framework and pyqt5 will pose no problem (at least they can be fixed after Qt has been uploaded, if not updated before for 'just do a rebuild' functionality)
- the Ubuntu plugin for Qt Creator 3.0.1 is ready and published in the PPA for desktop users
- QA team has started testing 5.2.1, and we have also automated autopilot test results (not currently in proper Dashboard style, but visible from Jenkins logs)

The following issues remain:
- various smaller items starting to pop up at https://bugs.launchpad.net/bugs/+bugs?field.tag=qt5.2 like wrong character rendering in certain cases
- a filtered view of the above link http://is.gd/pNalUg - fix all critical and high bugs or demote to be lower importance
- some small build problems may still pop up that are triggered by 5.2.1
- fix remaining autopilot errors as much as possible

The balance will be made between accepting some regressions in case it seems overall there's nothing that can't be fixed.

Revision history for this message
Steve Langasek (vorlon) wrote :

From a release standpoint, the hurdles put in place of this upload via the CI process exceed anything the release team would normally require for such an FFe. And considering the Ubuntu phone image is currently the predominant consumer of Qt5, there's no reason to be concerned that the CI testing won't adequately cover us. FFe granted.

Changed in qtbase-opensource-src (Ubuntu):
status: New → Confirmed
Changed in qtfeedback-opensource-src (Ubuntu):
status: New → Fix Released
Changed in qt3d-opensource-src (Ubuntu):
status: New → Fix Released
Changed in qtpim-opensource-src (Ubuntu):
status: New → Fix Released
Changed in qtbase-opensource-src (Ubuntu):
status: Confirmed → Fix Released
Changed in qtconnectivity-opensource-src (Ubuntu):
status: New → Fix Released
Changed in qtmultimedia-opensource-src (Ubuntu):
status: New → Fix Released
Changed in qtcreator (Ubuntu):
status: New → Fix Released
Changed in qtdoc-opensource-src (Ubuntu):
status: New → Fix Released
Changed in qtquick1-opensource-src (Ubuntu):
status: New → Fix Released
Changed in qtquickcontrols-opensource-src (Ubuntu):
status: New → Fix Released
Changed in qtxmlpatterns-opensource-src (Ubuntu):
status: New → Fix Released
Changed in qtx11extras-opensource-src (Ubuntu):
status: New → Fix Released
Changed in qtcreator-plugin-ubuntu (Ubuntu):
status: New → Fix Released
Changed in qtwebkit-opensource-src (Ubuntu):
status: New → Fix Released
Changed in qtdeclarative-opensource-src (Ubuntu):
status: New → Fix Released
Changed in qtwebkit-examples-opensource-src (Ubuntu):
status: New → Fix Released
Changed in qtgraphicaleffects-opensource-src (Ubuntu):
status: New → Fix Released
Changed in qttranslations-opensource-src (Ubuntu):
status: New → Fix Released
Changed in qttools-opensource-src (Ubuntu):
status: New → Fix Released
Changed in qtsystems-opensource-src (Ubuntu):
status: New → Fix Released
Changed in qtimageformats-opensource-src (Ubuntu):
status: New → Fix Released
Changed in qtserialport-opensource-src (Ubuntu):
status: New → Fix Released
Changed in qtlocation-opensource-src (Ubuntu):
status: New → Fix Released
Changed in qtscript-opensource-src (Ubuntu):
status: New → Fix Released
Changed in qtsensors-opensource-src (Ubuntu):
status: New → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.