Docker based build environment: images available

For those hitting limitations of SB2 (@piggz have had many recently), it is possible to use docker/podman to build the projects. I have updated the corresponding container generation scripts and container images are now packaged at

Those images don’t use SB2 at all and run in the same arch as your target. So, all you have to do is to make sure that you can run binaries of the target arch and you could use these images in your projects (there is a setup guild for QEMU in the README).

There is one interesting use for these images already in the relation to CI. As some CI providers have Aarch64 runners, you can build your packages natively. Example build:

OBS: As SB2 has relatively large number of bugs that we tend to hit with the larger projects (recent Qt, for example), it makes sense to target native builds at OBS. Ideally, we should have Aarch64 runners available at community OBS and build without SB2 at all. I think that would accelerate platform development.

Docker base environment was introduced here earlier at Docker based build environment: simulating native builds

15 Likes

The latest images have features that simplify its use in cloud providers:

  • it can check out sources for you directly from git (you have to provide repository URL and commit-or-tag id)
  • it can push compiled RPMs to S3 directly

See updated README for documentation. As an example use, I compiled Qt6 QtBase using one cloud provider in native aarch64 environment.

2 Likes

I tried to build BLE scanner | OpenRepos.net — Community Repository System, with the intent to make it work for aarch64.
But the build fails with Project ERROR: Unknown module(s) in QT: bluetooth dbus.
Assuming that this project builds in other build environments (which i did not try!), is there something i need to add for this docker build procedure?
I can see that the spec file does not specify dbus and bluetooth packages … which are specified in .pro file. Should these be part of the build spec in the spec file?

Yes. Add them to BuildRequires.

The SDK comes with more stuff preinstalled, which often results in incomplete .spec files which fail to build in slimmer environments.