The script is used to install dependencies that are needed both
for the CI image and the gnome os system extension.
To avoid installing dependencies in an environment where they are
already satisfied, they should be guarded by an appropriate check,
most commonly pkgconf.
Right now these checks are straight-forward:
- if a dependency is not in the base image, it will
be built when building the CI image
- if a dependency is not in GNOME OS, it will be
built when building the GNOME OS system extension
However we will soon add another caller of the script, when
allowing to export a system extension from our development
toolboxes to the host.
That case is trickier, as the dependency *is* satisfied by
the build environment (because it is based on the CI image),
but it will still be needed by the exported system extension.
To account for that case, add a pkgconf wrapper that only searches
in PKG_CONFIG_DIRS in the specified destdirs.
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/4075>
The option is advertised as alternative to --help, but doesn't
actually work. While not super important for a script that isn't
user facing, it's a trivial fix and doesn't hurt.
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/4074>
Build upstream version 1.2.0 for the CI image if needed.
v2:
* Build upstream 1.2.0 tag instead of 1.2.2.
v3:
* Build upstream 1.2.3 tag for CI, it has a needed fix.
v4:
* Enable systemd support in pipewire build. (Jonas Ådahl)
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3876>