Following the recent work we’ve been doing at Codethink in cooperation with Endless, it’s been a while now that we have the capability of building flatpak SDKs and apps for ARM architectures, and consequently also for 32bit Intel architectures.
Alex has been tying this together and setting up the Intel build machines and as of this week, flatpak builds are available at sdk.gnome.org in a variety of arches and flavors.
The supported architectures are as follows
- x86_64, the 64bit Intel architecture which is the only one we’ve been building until now
- i386, this is the name we are using for 32bit Intel, this is only i386 in name but the builds are in fact tuned for the i586 instruction set
- aarch64, speaks for itself, this is the 64bit ARM architecture
- arm, like i386, this is a generic name chosen to indicate 32bit arm, this build is tuned for ARMv7-A processors and will make use of modern features such as vfpv3 and the neon simd. In other words, this will not run on older ARM architectures but should run well on modern ARM processors such as the Cortex-A7 featured in the Raspberry Pi 2.
The build bots are currently driven with this set of build scripts, which should be able to turn an Intel or ARM machine with a vanilla Ubuntu 16.04 or RHEL 7 installation into a flatpak build machine.
ARM and Intel builds run on a few distributed build machines and are then propagated to sdk.gnome.org for distribution.
The build machines also push notifications of build status to IRC, currently we have it setup so that only failed builds are announced in #flatpak on freenode, while the fully verbose build notifications are announced in #flatpak-builds also on freenode (so you are invited to lurk in #flatpak-builds if you would like to monitor how your favorite app or library is faring on various build architectures).
Many thanks to all who were involved in making this happen, thanks to Alex for being exceptionally responsive and helpful on IRC, thanks to Endless for sponsoring the development of these build services and ARM support, thanks to Codethink for providing the build machines for the flatpak ARM builds and a special thanks to Dave Page for setting up the ARM build server infrastructure and filling in the IT knowledge gap where I fall short (specifically with things networking related).
2 thoughts on “Flatpak builds available on a variety of architectures”
That’s just the GNOME runtime and apps right? For KDE and other desktop environments they’d have to setup their own thing?
Right now on the existing GNOME infrastructure we are only building the GNOME apps and dependencies (freedesktop base runtime and SDK).
The build scripts should however be usable for anyone who wants to setup their own build servers. We also have more available servers on the codethink supplied arm GNOME build farm, so it’s conceivable that we build some external SDKs and apps on our infrastructure as well. I think the idea though is that GNOME SDKs and apps get published on sdk.gnome.org and external components get distributed from external repositories.