Use a custom base sysroot for the integration tests

We have been using the Freedesktop SDK binaries to provide a base system to run the integration tests. This works OK but it weighs in at 985MB of content, and there is no simple way to customize it so that we only download the bits we actually need.

This commit changes the tests to use a custom sysroot based on the Alpine Linux distribution. The sysroot is 155MB unpacked, and packs down to a 27MB .tar.xz.

This change depends on !233 (merged)

We have previously talked about using a minimal base derived from the Freedesktop SDK 1.8 project. I did look into this, but currently the Freedesktop BaseSDK 1.8 is 2.2GB in size -- see freedesktop-sdk/freedesktop-sdk#41 (closed). It's not exactly clear how we could go from that to a minimal runtime, especially as it would still need to contain a C compiler, Autotools, CMake and Python 3 in order to satisfy the requirements of the test suite.

I did look at building the Alpine sysroot using the Docker build machinery in the buildstream-docker-images repo, but to do that and export the result as a tarball proved more complicated than using bwrap from a shell script to create a simple container environment in which we run the Alpine package manager.

Edited by Sam Thursfield

Merge request reports

Loading