
This allows bwrap to be built as a subproject in larger Meson projects. When built as a subproject, we install into the --libexecdir and require a program prefix to be specified: for example, Flatpak would use program_prefix=flatpak- to get /usr/libexec/flatpak-bwrap. Verified to be backwards-compatible as far as Meson 0.49.0 (Debian 9 backports). Loosely based on previous work by Jussi Pakkanen (see #133). Differences between the Autotools and Meson builds: The Meson build requires a version of libcap that has pkg-config metadata (introduced in libcap 2.23, in 2013). The Meson build has no equivalent of --with-priv-mode=setuid. On distributions like Debian <= 10 and RHEL <= 7 that require a setuid bwrap executable, the sysadmin or distribution packaging will need to set the correct permissions on the bwrap executable; Debian already did this via packaging rather than the upstream build system. The Meson build supports being used as a subproject, and there is CI for this. It automatically disables shell completions and man pages, moves the bubblewrap executable to ${libexecdir}, and renames the bubblewrap executable according to a program_prefix option that the caller must specify (for example, Flatpak would use -Dprogram_prefix=flatpak- to get /usr/libexec/flatpak-bwrap). See the tests/use-as-subproject/ directory for an example. Signed-off-by: Simon McVittie <smcv@collabora.com>
20 lines
305 B
Meson
20 lines
305 B
Meson
project(
|
|
'use-bubblewrap-as-subproject',
|
|
'c',
|
|
version : '0',
|
|
meson_version : '>=0.49.0',
|
|
)
|
|
|
|
configure_file(
|
|
output : 'config.h',
|
|
input : 'dummy-config.h.in',
|
|
configuration : configuration_data(),
|
|
)
|
|
|
|
subproject(
|
|
'bubblewrap',
|
|
default_options : [
|
|
'program_prefix=not-flatpak-',
|
|
],
|
|
)
|