[mutter/ci-update] ci: Include gdm in image




commit 9a41b345b91405788b19b0db3def364becc32eec
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).

 .gitlab-ci.yml                      | 10 +++++++++-
 .gitlab-ci/install-meson-project.sh | 34 ++++++++++++++++++++++++++++++++++
 2 files changed, 43 insertions(+), 1 deletion(-)
---
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 2d69858f9a..127df5e27e 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..feea61149a
--- /dev/null
+++ b/.gitlab-ci/install-meson-project.sh
@@ -0,0 +1,34 @@
+#!/bin/bash
+
+set -e
+
+if [[ $# -lt 4 ]]; 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"
+PREPARE="$4"
+
+REPO_DIR="$(basename ${REPO_URL%.git})"
+
+git clone --depth 1 "$REPO_URL" -b "$COMMIT"
+pushd "$REPO_DIR"
+pushd "$SUBDIR"
+sh -c "$PREPARE"
+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]