1. Xulrunner/AArch64 on a way to upstream

    I finally sent Xulrunner support for AArch64 upstream. From 76KB patch I went to 14 patches with 132KB in total due to other diff options like more context lines.

    Will not bother with whole history of a patch. It involved three external projects:

    • libffi (merged upstream long time ago, xulrunner needs to update their copy)
    • double-conversion (see Qt/AArch64 post for details) also update needed
    • libevent got fix for deprecated syscalls which needs to be merged into xulrunner’s copy

    Splitting patch went quite easy thanks to help from Xulrunner developers: mstange froydnj Tomcat Ms2ger glandium which told me how to submit my patch, which already existing bugs to update and who assign to code reviews.

    And for patches please go to dependency tree of bug #962534.

    And one note: AArch64 big endian was not fully covered. Endianness info was provided in most places for both little and big options.

    Written by Marcin Juszkiewicz on
  2. 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.

    Written by Marcin Juszkiewicz on
  3. Another distribution said goodbye to ARMv5 devices

    Fedora 18 just became EOL. Most of the people do not care as F20 is present so they can run it on their PCs. But there is a group of users which may care.

    All those people with ARMv5t hardware are left with Debian/armel now as there is no other big distribution supporting their devices anymore. Someone will ask “what about Ångström or Gentoo?” but who sane would build Gentoo on armv5te?

    I do not remember when last time I used something with arm926 core (or similar - like Kirkwood). Probably few years ago when helped friend to get Sheevaplug booting into Debian.

    But there are still Sheevaplugs, Guruplugs, *plugs and QNAP devices out there serving their users with selected services. And some of their owners will have to decide what next…

    Written by Marcin Juszkiewicz on
  4. Start: Waiting for yumcache lock

    Have you ever tried to build a package under Fedora (or RHEL)? Did you used “mock” for it? If you answered “yes” to both questions I have a task for you: do 2 or 3 builds at SAME time…

    Curses, curses and other ugly words will start in your mind. I have no idea why in days of multiple cpu cores and gigabytes of memory “mock” tool forces users to do one build at time. Sure, there are ways to make several builds at same time but all sucks. And I am going to write why and compare it to “pbuilder” from Debian world.

    Ok, so what “mock” is? It is a tool which do some tasks in defined order:

    • creates chroot with base system
    • installs required development packages
    • creates source package
    • installs build dependencies
    • builds package
    • copies resulting packages and logs into results dir

    So where the problem is? First thing: there are multiple problems ;(

    First issue: mock assumes that there will be one run at time and does it in /var/lib/mock/TARGET/ (where TARGET is ‘fedora-rawhide-aarch64’ for example). This can be solved with “—uniqueext=packagename” argument.

    Second issue: there is ONE yum! Instead of using yum inside of chroot mock is using system one. So if you run few mocks at time (remember: cpu time and memory are cheap) you will see “Start: Waiting for yumcache lock” message for most of time (twice per build).

    Why it drives me mad? Because “pbuilder” in Debian did not have such silly issues. Each build was done in “mktemp” named directory and APT was used inside of chroot. Sure, that could mean more fetching of packages but I had local APT proxy for it which allowed me to do 30-50MB/s downloads.

    And I do not want to mention fact that if you want to configure mock you have to do that system wide…

    Written by Marcin Juszkiewicz on
  5. Internet over GSM abroad? Forget it…

    Several times per year I am abroad for some conferences or holidays. And lack of Internet access from a cellphone there sucks.

    In October I was in Munich, Germany for some internal Red Hat training. Had most of day for sightseeing but doing it without constant access to the Internet was a bit of disaster as I did not have time in previous week to mark interesting spots in Google Maps or to make any notes. And it was Sunday so all stores were closed == no way to buy local prepaid card.

    In February I will visit Brussels, Belgium for FOSDEM and then Brno, Czech Republic for devconf.cz. Local SIM cards for both countries would be nice.

    Did not yet checked Belgium ones yet but did that for Czech Republic. And man… situation there is awful. 200MB for 150CZK from mobil.cz looks like best offer for prepaid. Disaster… I wonder how slow it will be as well.

    But there are exceptions. In United Kingdom and Hong Kong I went to first Three shop and got unlimited data at affordable price. Spain was a bit strange as I had to register SIM card. But for 20€ I got something like 2GB of data.

    In Poland I am topping up my SIM with 100 PLN every 2-3 months and this gives me 6GB of transfer as a bonus. I now have 45GB of data available without any extra costs. And prepaid cards from all operators are available to buy at every corner…

    Written by Marcin Juszkiewicz on
  6. 2013 timeline

    Another year so time for summary post. Mostly spent around AArch64. Changed job. But let go with usual month-by-month style.

    January

    February

    March

    • My blog is now EU cookie crap compliant.
    • Visited Hong Kong again for Linaro Connect Asia. Nice city, good conference. Hint: if you go for street shopping wait for seller to give price and start from 20-40% of it.

    April

    May

    • Left Linaro for good due to end of Canonical<>Linaro contract. This also meant leaving Canonical as I did not want to work there. You may want to read my post from start of May and my good bye Linaro one as well.
    • First discussion with Red Hat about job opportunities.
    • Visited UK for pleasure. London and Cambridge this time. I saw lot of interesting places, did several beers with local friends. Good spent time.
    • Sent ALSA UCM profiles and got it merged. One thing less for distributions to carry.

    June

    • The “we pay you but do not require you to do any work” month at Canonical. Nice move from their side.
    • Visited Pixel Heaven in Warsaw. There was lot of different old computers. One of them was Acorn Archimedes so I was able to play with really old ARM cpus ;)
    • Started playing Ingress because I had 2 hours to return train…
    • Spent some time on Arch Linux ARM forums and found some nice hints for Chromebook usage. Also U-Boot for SPI flash…
    • Wrote post about ARM history which got shared in many places.

    July

    August

    • Got hired by Red Hat as Senior Software Engineer. My wife joked that next position would be Retired Software Engineer ;D
    • Vacations continued.

    September

    October

    November

    December

    • Started merging my stack of AArch64 related patches into Fedora. And into upstream of course. Lot of issues it gave.
    • Got Qt5 nearly complete on AArch64. Still have to get QtWebKit part done but it is close. Good part is that all my patches do not require any contribution agreement papers.

    It was quite good year. Changed job from interesting one at Linaro to also interesting one at Red Hat. Still work on AArch64 porting stuff but this time I have access to real hardware so it goes faster.

    Written by Marcin Juszkiewicz on
  7. I will stay with VirtualBox for a bit longer

    VMWare, VirtualBox, Xen, KVM, LXC and there are probably several other ways to run virtual machine under Linux.

    Years ago I used first one. Then moved to VirtualBox and still use it. But when it comes to rest of list I do not have too much experience. Xen? One of my servers in past was Xen instance. KVM? Maybe used few times to quick boot some ISO image. LXC? never played with.

    From time to time I look at tools I use and check for better replacements. When moved to Fedora I decided to try “virt-manager” to move from VirtualBox to QEMU/KVM. Failed. Tried again…

    Today, after “playing” with virt-manager in Fedora/rawhide I decided to stay with VirtualBox for longer. It may have some issues but runs my WinXP and Linux instances without any extra problems.

    Sorry to say but Virt-manager feels like a tool for its creators only. Error messages which could be in any random language, insisting on using /var/lib/libvirt/images/ for disk images (or do lot of clicks instead) and depending on so many software packages that it will probably take months before someone will finally fix it in rawhide.

    And no, I do not want to go to running QEMU/KVM by hand. It is good for booting image to play with. But I need a way to add/remove USB devices in running system. In an easy way.

    And yes, I know “report all bugs” mantra…

    Written by Marcin Juszkiewicz on
  8. Boże Narodzenia a książki dla dzieci / Christmas and children books

    English version below

    Idą święta. W sobotę Mira poprosiła bym przeczytał jej książkę o Bożym Narodzeniu.

    Książka była tłumaczona z innego języka. Innej kultury.

    Nie żebym miał coś przeciwko indykowi na Wigilię, kalendarzom adwentowym czy świętemu Mikołajowi zostawiającemu prezenty w nocy. Ale wolałbym przeczytać coś bardziej osadzonego w naszych realiach.

    Zarówno u mnie jak i u Ani w rodzinie św. Mikołaj przychodzi w okolicach “pierwszej gwiazdki”, zadaje pytania młodszym i starszym. To jest część świąt, której brak byłby odczuwalny.

    Nie potrzebuję rozrywać “Christmas Crackers” z drugą osobą, zamiast indyka wolę w ten dzień rybkę.

    Mirze różnicę w porze prezentów wyjaśniliśmy w prosty sposób: św. Mikołaj nie ma czasu by odwiedzić wszystkich wieczorem więc niektóre dzieci dostają prezenty w nocy.

    English version

    Christmas is comming. On Saturday my daughter Mira asked me to read her book about it.

    Book was translated from other language. Other culture.

    I do not have anything against turkey on Christmas Eve, advent calendars or Santa leaving presents during night. But I would prefer to read book more related to our way of handling Xmas.

    But both in my and Ania’s families Santa arrives around “a first star”, asks some questions, requests songs etc.

    I do not need to pull Christmas Crackers with other person (did it once) and prefer fish rather than turkey on Christmas’ Eve dinner.

    Our explanation on different timing of leaving presents was quite easy: Santa does not have enough time to visit everyone during evening so children in other countries get their presents during night.

    Chrismas Eve in Poland in wikipedia

    Written by Marcin Juszkiewicz on
Page 29 / 106