The story of Qt/AArch64 patching

In over a year of my work as AArch64 porter I saw a lot of patches. But Qt one has the most interesting history.

Around year ago when I was building whatever possible during my Linaro work we got to the point when Qt jumped into a queue. Build failed but fixing was quite easy — all I had to do was to take “webkitgtk” patch written by Riku Voipio and apply it to Qt 4. Resulting file landed in “meta-aarch64″ layer of OpenEmbedded and is still there.

Time passed. More common distributions like Debian, Fedora, OpenSUSE, Ubuntu (alphabetical order) started working on their AArch64 ports. And one day Fedora and Ubuntu started working on building Qt 4. I do not know who wrote QAtomic stuff but I saw few versions/iterations of it and it took me quite long time (first on model, then on real hardware) to get it fully working in Fedora — used Ubuntu version of patches.

Up to this moment it was over 9 months and still no upstreaming was done. So one day I decided to go for it and opened QTBUG #35442. Then reopened issue #33 in “double-conversion” project (which is used in few places in Qt) as they got good fix and merged wrong one (but it is fixed now). For that one I opened a request to update to newer version of “double-conversion” as QTBUG #35528.

But story did not end there. As Qt 4 development is more or less ended I was asked to provide fixes for Qt 5. Took me a while. Had to create a graph of build time dependencies between Qt 5 components (had to break few in meantime) and slowly module after module I got most of it built.

There were 3 components which required patching:

First one is solved upstream and waits for Qt guys. I was told that 5.3 will get it updated. Second one is already reviewed and merged. Last one left and here is a problem as it looks like the only person who does QtWebKit code reviews is Allan Sandfeld Jensen but he can not review code he sent. I am not able to do that due to Qt Contributor License Agreement which needs to be signed and (due to legal stuff) I can not do that.

So how it looks now? I would say that quite good. One 3rd party project needs update (in two places of Qt 5) and one patch needs to get through code review. I still need to send package updates to Fedora bug tracker. Ubuntu will need to merge patches when they move to 5.2 version.

8 thoughts on “The story of Qt/AArch64 patching

  1. Pingback: Marcin Juszkiewicz: The story of Qt/AArch64 patching | Hi-tech news

  2. bochecha

    due to Qt Contributor License Agreement which needs to be signed and (due to legal stuff) I can not do that.

    This is not entirely related, but given the current discussions going on everywhere about CLAs (in the Debian init-system debate, on the Google+ pages and blogs of a few prominent Linux kernel and userspace developers), it would be a very interesting data point if you could elaborate what kind of “legal stuff” prevents you from signing one.

    In another blog post maybe, as I wouldn’t want to derail this one. :-)

        1. Marcin Juszkiewicz Post author

          I work at Red Hat and Fedora bug reports were reported. Ubuntu maintainers were notified about patches before I submitted them and also got urls to Fedora bugs. I do not know how far Debian is with bootstrapping AArch64 but iirc they still do it in fast model so probably not even started with Qt (needs days to build in model).

          1. Lisandro Damián Nicanor Pérez Meyer

            Well, I’m one of Debian’s Qt maintainers. This got to my attention some days ago due to [0]. I’m not porting Qt to arm64 but I really don’t mind to help as best as I can. The current status from my maintainer POV is [1]. In other words, there are things that need to get fixed and some patchs that need the author and license, I can’t apply them as they are.

            [0] http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=735488 [1] http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=735488#82

  3. Pingback: Xulrunner/AArch64 on a way to upstream | Marcin Juszkiewicz

Comments are closed.

  1. […] rights reserved © Marcin Juszkiewicz The story of Qt/AArch64 patching was originally posted on Marcin Juszkiewicz […]

  2. […] (see Qt/AArch64 post for details) also update […]