[mutter] ci: Include gdm in image



commit abd8032fe59f74af9b765c29408577e1fd553bc9
Author: Florian Müllner <fmuellner gnome org>
Date:   Fri Nov 20 19:13:46 2020 +0100

    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>

 .gitlab-ci.yml                      | 10 +++++++++-
 .gitlab-ci/install-meson-project.sh | 32 ++++++++++++++++++++++++++++++++
 2 files changed, 41 insertions(+), 1 deletion(-)
---
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index a556facab0..28de19cac9 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 0000000000..7cbb662799
--- /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"


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]