In my proposal I stated that this week should be dedicated to squashing bugs, getting test suites to pass and just getting the Plasma desktop itself to be “daily driver ready” (not the KDE apps). As the Plasma desktop basically ran flawlessly as I got the dependencies to build, this went a lot quicker than I originally thought. I ran the test suites for the Plasma desktop and various dependencies and every test passed.
So instead I’ve been mostly working on getting my old patches merged, and also taken some time learning about cross compilation, u-boot and nftables to get my router to run Gentoo musl aarch64. I have gotten everything in kde-apps-meta to compile except packages that depend on qtwebengine, and that’ll be worked on next week. In the last weekly report I said that I’d work on qtwebengine this week but I misread my schedule back then.
To start off with I made a better plocate patch. Last week I sent a patch upstream including a compat/error.h file that got conditionally included if error.h wasn’t found by the build system. This was a little ugly so I instead sent in another patch which replaced the error usage with fprintf+exit, and that got merged upstream.
At the start of the week I also reinstalled my desktop with Gentoo musl since I had since the start of this project “make install”:ed a bunch of packages and I had some random patches in /etc/portage/patches. I wanted to start fresh to see exactly what still actually needed to still be merged to get a Plasma desktop running with only ::gentoo. To my surprise only AccountsService is left, which I’ll do some work on either later next week or week 7 depending on how long QtWebEngine takes. A fix for AccountsService is PR:ed to ::gentoo, but the code needs a rewrite since the program itself is wrong (enumerates /etc/shadow).
As I said previously I installed Gentoo musl on my espressobin v7 to use as a router. This took a while as I had some issues both getting crossdev and fchroot to work, but both of these issues were solved when I reinstalled my computer. Fchroot also needed a small change to the DEPENDS array. After that I messed a lot with u-boot and nftables, and now I feel comfortable using both at a basic level. Once I got that working basically everything compiled and ran just fine, except miniupnpd which did not have the ~arm64 keyword. Reinstalling my desktop and getting Gentoo musl on my router took a lot longer than expected but I learnt a lot, and my choices this week was either that or start early on QtWebEngine.
I have also done some work on k3b (new), glib (new), fchroot (trivial), the musl-compat-* libs (some c+p), speech-dispatcher, and a proposed patch on gettext.
To summarize this report I’ll say that I’ve been mostly focused cleaning up old stuff to and to get a clearer picture of exactly what needs additional work, and reinstalling my computer was really helpful in doing so. In the future I’ll do stuff like this in a container or from my “clean stage4” btrfs snapshot, but I needed a reinstall for other reasons as well. I also learnt a lot from my Gentoo musl aarch64 side project.