ci: Include gdm in image

gnome-shell depends on gdm's client library at runtime, but the
new pipeline-built image no longer provides it.

Add it back, but built it from source instead of using the Fedora
package, so we don't draw in all of gdm's runtime dependencies
(which includes a full GNOME session including gnome-shell).

Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1590>
This commit is contained in:
Florian Müllner 2020-11-20 19:13:46 +01:00
parent bfeec27435
commit abd8032fe5
2 changed files with 41 additions and 1 deletions

View File

@ -12,7 +12,7 @@ stages:
.mutter.fedora:33: .mutter.fedora:33:
variables: variables:
FDO_DISTRIBUTION_VERSION: 33 FDO_DISTRIBUTION_VERSION: 33
FDO_DISTRIBUTION_TAG: '2020-11-20.0' FDO_DISTRIBUTION_TAG: '2020-11-20.1'
FDO_UPSTREAM_REPO: GNOME/mutter FDO_UPSTREAM_REPO: GNOME/mutter
FDO_DISTRIBUTION_EXEC: | FDO_DISTRIBUTION_EXEC: |
dnf install -y 'dnf-command(builddep)' && dnf install -y 'dnf-command(builddep)' &&
@ -30,6 +30,14 @@ stages:
dnf remove -y gnome-bluetooth-libs-devel && dnf remove -y gnome-bluetooth-libs-devel &&
dnf remove -y --noautoremove mutter mutter-devel && dnf remove -y --noautoremove mutter mutter-devel &&
./.gitlab-ci/install-meson-project.sh \
-Dlibaudit=disabled \
-Dplymouth=disabled \
-Dselinux=disabled \
-Dxdmcp=disabled \
https://gitlab.gnome.org/GNOME/gdm.git \
3.38.0 . &&
dnf clean all dnf clean all
default: default:

View File

@ -0,0 +1,32 @@
#!/bin/bash
set -e
if [[ $# -lt 3 ]]; then
echo Usage: $0 [options] [repo-url] [commit] [subdir]
echo Options:
echo -Dkey=val
exit 1
fi
MESON_OPTIONS=()
while [[ $1 =~ ^-D ]]; do
MESON_OPTIONS+=( "$1" )
shift
done
REPO_URL="$1"
COMMIT="$2"
SUBDIR="$3"
REPO_DIR="$(basename ${REPO_URL%.git})"
git clone --depth 1 "$REPO_URL" -b "$COMMIT"
pushd "$REPO_DIR"
pushd "$SUBDIR"
meson --prefix=/usr _build "${MESON_OPTIONS[@]}"
ninja -C _build install
popd
popd
rm -rf "$REPO_DIR"