Behind (and under) the scenes of the Meson build system
summary
Meson history and hard lessons: how Meson actually builds systemd, X.org, GStreamer and Mesa, how it handled distro upgrades and bootstrapping RISC-V, and why environment variables are the tool of the devil when distros inject flags that break tests. Concrete fixes include sandboxed subprojects to prevent path poking, lessons on noncomposable compiler flags, and the brittle wrap management where wrapdb has vanished and needs hosting. Includes wart anecdotes like one time we were told to rewrite Meson in Perl and pointers to Flatpak-style fixes.
AI-written summary · about
chapters (29)
- 0:00Behind (and under) the scenes of the Meson build system
- 0:41But first
- 1:07The Meson Manual
- 2:39Design challenge
- 2:49Option C
- 4:33Law of bad solutions
- 4:55Combining flags
- 5:23The correct answer is D
- 6:15The D programming language
- 7:28It gets better
- 8:48Extra fun bug stuff
- 10:05Chat with the project leader
- 11:09The source of all complexity
- 13:20Does it handle ...
- 14:15gnustep-config --debug-flags
- 18:08Comment from a BSD developer
- 18:37Backporting fun • Ubuntu LTS releases need e.g. drivers for new graphics cards
- 20:11Even stricter
- 20:52More BSD comments
- 21:51Adopting the new
- 22:21File objects • Files are often used from a different directory than they are stored in
- 23:00Bizarrely common
- 24:41Jussi's Law of Programmers
- 24:52Corollary
- 26:01So what did people do?
- 27:11The usability dilemma
- 28:28Constructive feedback
- 34:47Things we could use help with
- 36:05In conclusion
related talks
13mKeynote Session: QEMU Status Update
16mHermetic builds with Bazel
28mBuild System Analysis for Kernel Development and Customization
36mLinux Kernel Developer Panel
01h 25mSandboxing a Linux Application
01h 23mAlternatives to Modularity in Fedora
29mBehind the Curtains of Making Real Consumer Devices using Debian
38msystemd @ Meta: From upstream to production
