← Back to team overview

ubuntu-phone team mailing list archive

Re: Qt 5.2 info, fixes and rebuilds needed

 

It's now possible to test drive Qt 5.2 on Ubuntu 14.04 (trusty)
desktop without removal of too many packages: sudo apt-add-repository
ppa:canonical-qt5-edgers/qt5-beta2 && sudo apt-get update && sudo
apt-get dist-upgrade - Qt Creator Ubuntu plugin is not there yet
though so you will lose that for now. To revert back to archive
versions: sudo ppa-purge ppa:canonical-qt5-edgers/qt5-beta2

To get the last blockers workarounded I needed to disable some failing
Ubuntu UI Toolkit tests on x86 (armhf ok) and the QML tests on
webbrowser-app (all archs). Bugs remain open on those. Some test
failures were earlier tracked to Qt, so a Qt Declarative release
branch snapshot from a week ago is already in the PPA which fixes some
issues. Further upstream versions will be tried out separately, and
the final 5.2.1 is also approaching.

There starts to be a lot of green at
https://launchpad.net/~canonical-qt5-edgers/+archive/qt5-beta2/+packages
build wise. A couple of key packages still have problems, so I'd like
to highlight the following bugs after which I believe there'd be a
good chance of building Qt 5.2 enabled Touch images to start
functionality tests:

- http://pad.lv/1267917 unity-scopes-api (tests)
- http://pad.lv/1267831 unity-scopes-shell (build)
- http://pad.lv/1271034 qtubuntu-sensors (build)
- http://pad.lv/1271039 accounts-qml-module (tests)
- http://pad.lv/1270778 telephony-service (tests)
- http://pad.lv/1267818 qtubuntu-media and other related media packages (build)

The 'tests' ones could be workarounded by disabling the affected tests
temporarily. But at least a level of investigation would be useful
first. Some test failures are more easily reproducible in pbuilder or
PPA:s. You can configure a personal PPA to build against the qt5-beta2
in "Edit PPA dependencies".

Please also test/approve my not yet merged fixes against
telepathy-qt5, maliit-framework, telephony-service,
click-update-manager and qtubuntu-sensors :)

All bug reports are at
https://bugs.launchpad.net/bugs/+bugs?field.tag=qt5.2 while the build
only related progress is maybe best visualized at
http://pad.ubuntu.com/qt52-dependencies - please add to the bottom if
you notice any package depending on Qt 5 that is not included in the
auto or manual builds in the PPA.

Bug filing, triaging, fixing, upstreaming and testing welcome from all parties!

-Timo

On Thu, Dec 19, 2013 at 11:02 AM, Timo Jyrinki
<timo.jyrinki@xxxxxxxxxxxxx> wrote:
> Hello,
>
> It is now possible to experiment with final Qt 5.2.0 via PPA and start
> fixing bugs related to it. You need to use Ubuntu 14.04 development
> version (trusty).
>
> All bug fixes should be made so that the software continues to work
> also against Qt 5.0.2 - #ifdef:s etc. as needed. You can see examples
> from packages that already have needed fixes and done so like
> ubuntu-ui-toolkit and unity8.
>
> == Qt 5.2.0 final and library transition, rebuilds needed ==
>
> Qt 5.2 is now at ppa:canonical-qt5-edgers/qt5-beta2 [1] - updates to
> Qt will come, but for example most synchronizations of packaging with
> Debian have been done already.
>
> [1] https://launchpad.net/~canonical-qt5-edgers/+archive/qt5-beta2/+packages
>
> It is important to note that Qt 5.2 has ABI breakage [2] so all Qt
> depending packages need a rebuilt. It is partially forced by the
> library rename "libqt5core5" to "libqt5core5a", which conflict. When
> upgrading to this PPA, you will need to remove any packages that have
> not successfully rebuilt there, which is as of this moment most of
> them because I only just copied the final Qt packages over, and
> because any problem at the top of the dependency chain prevents others
> from getting built.
>
> [2] http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=731261
>
> === Daily build recipes and the dependency chain ===
>
> I have so far created Launchpad daily build recipes (if new commits)
> for 67 packages [3] where the Launchpad project name and code
> repository (lp:foo) matches the source package name. Furthermore I've
> hacked the build-rdeps command to get a possibly non-complete list of
> 95 packages altogether depending on Qt 5 that need to be rebuilt when
> approaching landing of Qt 5.2 to archives [4].
>
> [3] http://pastebin.ubuntu.com/6598468/
> [4] http://pastebin.ubuntu.com/6598302/
>
> The [4] is reshaped in a pad at [5] to list the rough order of
> dependencies and what's currently blocking from going further.
> Automation of the dependency chain visualization would be welcome if
> someone knows how (I've seen graphs on the web, but this may be more
> complex, and we would need to mark down notes).
>
> [5] http://pad.ubuntu.com/qt52-dependencies
>
> The recipes and the PPA are technically under ~canonical-qt5-edgers so
> you need someone from that team to kick a rebuild of either the whole
> recipe or a single failed build. The recipes can be found via
> https://code.launchpad.net/[project] -> trunk -> "Related source
> package recipes". Do note that Launchpad is extremely slow to load the
> recipe pages or do actions, so be prepared for waiting and reloads in
> case of errors.
>
> If you commit a new commit and you don't find the package rebuild
> attempt in a day in the PPA, it's possible the recipe preparation
> build has failed because of dependencies, in which case the package
> upload is not done to the PPA. The failure will be visible on the
> recipe page.
>
> === Getting bugs fixed to build everything ===
>
> You can check the [1] later for your package and if it still fails to
> build. The failures may be explained by [5] or if the latest build is
> older than today (19.12.2013) in which case it built against older
> version of Qt. The scope is big, so even though I plan to file bugs
> against packages that fail to build, the more people who actively
> start looking at the issues, looking at the dependency chain and
> filing bugs the better. See also the bottom at this e-mail for the Qt
> 5.2 RC1 instructions where you don't need to necessarily remove
> non-rebuilt packages - that way you can "skip" in the dependency chain
> while things at the top are still broken.
>
> Do not seek for permission from me to file bugs, triage bugs, find
> patches, fix bugs etc :) Also merge proposals for patch cherry-picks
> from upstream to Qt packaging branches
> lp:~kubuntu-packagers/kubuntu-packaging/qtxxxx-opensource-src are
> welcome. The tag to use for Qt 5.2 related bugs is "qt5.2" [6]
>
> [6] https://bugs.launchpad.net/bugs/+bugs?field.tag=qt5.2
>
> == Landing plan ==
>
> There are at least four requirements I know of for landing Qt 5.2 into trusty:
>
> 1. All packages need to build against it.
> 2. All critical bugs filed at [6] need to be fixed.
> 3. QA team needs to build Touch image using the PPA, and the image
> testing results need to achieve the levels of current Qt 5.0.2 builds
> [7]
> 4. The app store situation needs to be resolved, ie. apps shouldn't
> start breaking for users of 13.10 release after rebuilds (I don't know
> the details of this one).
>
> [7] http://ci.ubuntu.com/smokeng/trusty/touch/
>
> Contributions will be needed from all directions to achieve these four
> requirements.
>
> == Older Qt test versions (may be useful for testing) ==
>
> A possibly useful shortcut way to give Qt 5.2 a try is to use the
> older RC1 packages from ppa:canonical-qt5-edgers/qt5-beta-proper [8] -
> the package rename was not yet made there, so it's easier to do
> partial upgrade but of course things may be broken. With this PPA you
> can, however, run Qt Creator with Qt 5.2 on the desktop, and Unity 8
> sort of works on device.
>
> [8] https://launchpad.net/~canonical-qt5-edgers/+archive/qt5-beta-proper?field.series_filter=trusty
>
> For the curious, Qt 5.1.1 for trusty is preserved [9]
>
> [9] https://launchpad.net/~canonical-qt5-edgers/+archive/backup-qt511
>
> -Timo (soon away for a while, back in January)


Follow ups

References