From abd8032fe59f74af9b765c29408577e1fd553bc9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Florian=20M=C3=BCllner?= Date: Fri, 20 Nov 2020 19:13:46 +0100 Subject: [PATCH] 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: --- .gitlab-ci.yml | 10 ++++++++- .gitlab-ci/install-meson-project.sh | 32 +++++++++++++++++++++++++++++ 2 files changed, 41 insertions(+), 1 deletion(-) create mode 100755 .gitlab-ci/install-meson-project.sh diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index a556facab..28de19cac 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -12,7 +12,7 @@ stages: .mutter.fedora:33: variables: FDO_DISTRIBUTION_VERSION: 33 - FDO_DISTRIBUTION_TAG: '2020-11-20.0' + FDO_DISTRIBUTION_TAG: '2020-11-20.1' FDO_UPSTREAM_REPO: GNOME/mutter FDO_DISTRIBUTION_EXEC: | dnf install -y 'dnf-command(builddep)' && @@ -30,6 +30,14 @@ stages: dnf remove -y gnome-bluetooth-libs-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 default: diff --git a/.gitlab-ci/install-meson-project.sh b/.gitlab-ci/install-meson-project.sh new file mode 100755 index 000000000..7cbb66279 --- /dev/null +++ b/.gitlab-ci/install-meson-project.sh @@ -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"