Brussels / 3 & 4 February 2018


Introducing BuildStream

A distribution agnostic build tool

In this talk, I will be introducing our new distribution agnostic build tool which we presently use in GNOME for the purpose of unifying our software build story, allowing us to achive multiple goals using the same flexible build metadata. I will talk about the motivations behind creating BuildStream, how it has been helping us so far, and how the rich feature set we've created can help software developers and integrators.

The target audience for this talk includes software developers who have the need or experience of creating packages and bundles for various downstreams as well as software integrators and distributors in general.

Many build systems available today are tightly coupled with a given distribution mechanism, be it packaging technology for specific distributions, or bundling technology for specific platforms. As a result, the build metadata created for building for one platform cannot normally be reused for another target, and upstream maintainers typically need to maintain various sets of build metadata to get their software out to users on different platforms.

One of our goals in BuildStream is to reduce the redundancy of build metadata overall, by providing a declarative format and build system which allows one to model build pipelines flexibly, allowing the same build metadata to be leveraged to perform different tasks.

Another goal for us is to bring the software developer and the integrator closer together. By providing a workflow where the developer of a single module is easily capable of testing their changes against an integrated system, or an integrator can easily change a line of code at any level of the stack and quickly test the integrated result, we hope to bridge the gap between development and integration.


Photo of Tristan Van Berkom Tristan Van Berkom