This is to introduce a newest app and lib build environment for SFOS based on Docker:
In contrast to official SDKs (as well as @coderus Docker images), it is not using Scratchbox2 (SB2). Instead, it relies on running either native or through QEMU hardware emulation.
What is this environment made for? It is designed to avoid SB2 bugs and possible limitations by 32-bit chroot environment used by the official SDK. It has resolved faults in QtWebEngine compilation. New build environment doesn’t induce wrong file permissions, as SB2 does.
All comes with the costs. If you don’t run it natively, QEMU has to be setup on the build server. When using QEMU emulation, expect slow compilation speeds when compared to SB2.
Scripts used in the environment are, obviously, not as refined as
mb2. Some outstanding issues are:
- updating generated version-release pair of RPMs
- how to link it to Chum? i.e. how we can submit compiled packages into community OBS repo?
Right now, the environment is tested by compiling some larger projects, such as QtWebEngine.
Docker images are not published, so you have to generate them yourself if you want to test it. That’s easy with the included script. See documentation in project repository for details.
Edit: QtWebEngine compilation for aarch64 worked and resulted in working library. So, that fixes SB2 leads to faulty QtWebengine compilation