Use Meson wrap files for bubblewrap and xdg-dbus-proxy

When combined with using `git subtree` for our mandatory vendored
dependencies, this avoids differences between what we ship in our git
repository (available to users via `git clone` or by unpacking the
result of `git archive`), and what's in our official source code
releases (which are the result of `meson dist`).

Differences between those artifacts would provide an attractive place
for attackers to hide malware, for example in CVE-2024-3094, so
avoiding differences is a good "nothing up my sleeve" mechanism to
make it less appealing for attackers to target Flatpak.

With default Meson settings, the wrap files will be used automatically
to download our suggested versions of these dependencies, unless
the `-Dsystem_bubblewrap=...`, `-Dsystem_dbus_proxy=...` Meson options
are used. In environments where automatic downloads are disabled via
`-Dwrap_mode=nodownload`, for example many Linux distributions,
specifying a system copy becomes mandatory.

Signed-off-by: Simon McVittie <smcv@collabora.com>
This commit is contained in:
Simon McVittie
2024-05-06 16:42:50 +01:00
parent bd86ef906f
commit c982e591ba
6 changed files with 12 additions and 11 deletions

9
.gitmodules vendored
View File

@@ -1,9 +0,0 @@
[submodule "bubblewrap"]
path = subprojects/bubblewrap
url = https://github.com/containers/bubblewrap.git
ignore = dirty
branch = main
[submodule "dbus-proxy"]
path = subprojects/dbus-proxy
url = https://github.com/flatpak/xdg-dbus-proxy.git
branch = main

2
subprojects/.gitignore vendored Normal file
View File

@@ -0,0 +1,2 @@
bubblewrap/
dbus-proxy/

View File

@@ -0,0 +1,5 @@
[wrap-git]
url = https://github.com/containers/bubblewrap.git
# v0.9.0
revision = 8e51677abd7e3338e4952370bf7d902e37d8cbb6
depth = 1

View File

@@ -0,0 +1,5 @@
[wrap-git]
url = https://github.com/flatpak/xdg-dbus-proxy
# 0.1.5
revision = 7466c8137fc06f863fde8486521984e43a26cd10
depth = 1