diff --git a/X11-displaymanager-gdm b/X11-displaymanager-gdm
index 6273825..161bde9 100644
--- a/X11-displaymanager-gdm
+++ b/X11-displaymanager-gdm
@@ -4,16 +4,6 @@ gdm_vars() {
RELOADSIGNAL="-USR1"
DISPLAYMANAGER=/usr/sbin/gdm
PIDFILE=/run/gdm/gdm.pid
-
- # let gdm run the Xserver as root if access to /dev/fb*
- # is required (bsc#1075805)
- # The GDM_DISABLE_USER_DISPLAY_SERVER variable is added by patch
- # gdm-add-runtime-option-to-disable-starting-X-server-as-u.patch
- if [ ! -c /dev/dri/card0 -a \
- ! -c /dev/nvidiactl ]; then
- export GDM_DISABLE_USER_DISPLAY_SERVER=1
- fi
-
return 0 ;;
*) return 1 ;;
esac
diff --git a/_service b/_service
deleted file mode 100644
index c40fb1e..0000000
--- a/_service
+++ /dev/null
@@ -1,15 +0,0 @@
-
-
- git
- https://gitlab.gnome.org/GNOME/gdm.git
- 3.36.3
- @PARENT_TAG@
-
-
-
- *.tar
- xz
-
-
-
-
diff --git a/autogen.sh b/autogen.sh
deleted file mode 100644
index 9b36458..0000000
--- a/autogen.sh
+++ /dev/null
@@ -1,29 +0,0 @@
-#!/bin/sh
-# Run this to generate all the initial makefiles, etc.
-
-test -n "$srcdir" || srcdir=`dirname "$0"`
-test -n "$srcdir" || srcdir=.
-
-olddir=`pwd`
-cd $srcdir
-
-AUTORECONF=`which autoreconf`
-if test -z $AUTORECONF; then
- echo "*** No autoreconf found, please intall it ***"
- exit 1
-fi
-
-INTLTOOLIZE=`which intltoolize`
-if test -z $INTLTOOLIZE; then
- echo "*** No intltoolize found, please install the intltool package ***"
- exit 1
-fi
-
-set -e
-
-intltoolize --force --copy --automake
-autoreconf --force --install --verbose
-
-cd $olddir
-test -n "$NOCONFIGURE" || "$srcdir/configure" "$@"
-
diff --git a/gdm-3.36.3.obscpio b/gdm-3.36.3.obscpio
deleted file mode 100644
index a0d6ce5..0000000
--- a/gdm-3.36.3.obscpio
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:ea12e1285a6fd39cddcca34b1a64c1fa140131f25a9e920d314115f0d498329a
-size 7167501
diff --git a/gdm-3.38.2.tar.xz b/gdm-3.38.2.tar.xz
new file mode 100644
index 0000000..8b7f1c8
--- /dev/null
+++ b/gdm-3.38.2.tar.xz
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:25a26666c3dd4bb6a545decbbe0678439b2b227ee63b67eebd2d7910761e53cc
+size 787024
diff --git a/gdm-add-runtime-option-to-disable-starting-X-server-as-u.patch b/gdm-add-runtime-option-to-disable-starting-X-server-as-u.patch
deleted file mode 100644
index e5c8d86..0000000
--- a/gdm-add-runtime-option-to-disable-starting-X-server-as-u.patch
+++ /dev/null
@@ -1,99 +0,0 @@
-From a19b51ad9e446948ba60c359641f6c4c14fec1da Mon Sep 17 00:00:00 2001
-From: Michal Srb
-Date: Fri, 26 Jan 2018 10:49:18 +0100
-Subject: [PATCH] Add runtime option to disable starting X server as user
-
-If the environmental variable GDM_DISABLE_USER_DISPLAY_SERVER is defined, the
-X server will be started under root. The same way as if gdm was built with
---disable-user-display-server option.
-
-This allows system to run X server under root if and only-if necessary.
----
-Index: gdm-3.34.1/daemon/gdm-local-display-factory.c
-===================================================================
---- gdm-3.34.1.orig/daemon/gdm-local-display-factory.c
-+++ gdm-3.34.1/daemon/gdm-local-display-factory.c
-@@ -231,11 +231,12 @@ gdm_local_display_factory_create_transie
-
- g_debug ("GdmLocalDisplayFactory: Creating transient display");
-
--#ifdef ENABLE_USER_DISPLAY_SERVER
-- display = gdm_local_display_new ();
-- if (gdm_local_display_factory_use_wayland ())
-- g_object_set (G_OBJECT (display), "session-type", "wayland", NULL);
--#else
-+ if (getenv ("GDM_DISABLE_USER_DISPLAY_SERVER") == NULL) {
-+ display = gdm_local_display_new ();
-+ if (gdm_local_display_factory_use_wayland ())
-+ g_object_set (G_OBJECT (display), "session-type", "wayland", NULL);
-+ }
-+
- if (display == NULL) {
- guint32 num;
-
-@@ -243,7 +244,6 @@ gdm_local_display_factory_create_transie
-
- display = gdm_legacy_display_new (num);
- }
--#endif
-
- g_object_set (display,
- "seat-id", "seat0",
-@@ -502,7 +502,7 @@ create_display (GdmLocalDisplayFactory *
- g_debug ("GdmLocalDisplayFactory: Adding display on seat %s", seat_id);
-
- #ifdef ENABLE_USER_DISPLAY_SERVER
-- if (g_strcmp0 (seat_id, "seat0") == 0) {
-+ if (getenv ("GDM_DISABLE_USER_DISPLAY_SERVER") == NULL && g_strcmp0 (seat_id, "seat0") == 0) {
- display = gdm_local_display_new ();
- if (session_type != NULL) {
- g_object_set (G_OBJECT (display), "session-type", session_type, NULL);
-@@ -772,6 +772,10 @@ on_vt_changed (GIOChannel *source,
- g_debug ("GdmLocalDisplayFactory: VT changed from %u to %u",
- previous_vt, factory->active_vt);
-
-+ if (getenv ("GDM_DISABLE_USER_DISPLAY_SERVER") != NULL) {
-+ return G_SOURCE_CONTINUE;
-+ }
-+
- store = gdm_display_factory_get_display_store (GDM_DISPLAY_FACTORY (factory));
-
- /* if the old VT was running a wayland login screen kill it
-Index: gdm-3.34.1/daemon/gdm-session.c
-===================================================================
---- gdm-3.34.1.orig/daemon/gdm-session.c
-+++ gdm-3.34.1/daemon/gdm-session.c
-@@ -373,7 +373,11 @@ get_system_session_dirs (GdmSession *sel
- #ifdef ENABLE_WAYLAND_SUPPORT
- if (!self->ignore_wayland) {
- #ifdef ENABLE_USER_DISPLAY_SERVER
-- g_array_prepend_val (search_array, wayland_search_dir);
-+ if (getenv ("GDM_DISABLE_USER_DISPLAY_SERVER") == NULL) {
-+ g_array_prepend_val (search_array, wayland_search_dir);
-+ } else {
-+ g_array_append_val (search_array, wayland_search_dir);
-+ }
-
- for (i = 0; system_data_dirs[i]; i++) {
- gchar *dir = g_build_filename (system_data_dirs[i], "wayland-sessions", NULL);
-@@ -3315,8 +3319,10 @@ gdm_session_get_display_mode (GdmSession
- * right now. It will die with an error if logind devices
- * are paused when handed out.
- */
-- return GDM_SESSION_DISPLAY_MODE_NEW_VT;
--#else
-+ if (getenv ("GDM_DISABLE_USER_DISPLAY_SERVER") == NULL) {
-+ return GDM_SESSION_DISPLAY_MODE_NEW_VT;
-+ }
-+#endif
-
- #ifdef ENABLE_WAYLAND_SUPPORT
- /* Wayland sessions are for now assumed to run in a
-@@ -3327,7 +3333,6 @@ gdm_session_get_display_mode (GdmSession
- }
- #endif
- return GDM_SESSION_DISPLAY_MODE_REUSE_VT;
--#endif
- }
-
- void
diff --git a/gdm-disable-wayland-on-mgag200-chipsets.patch b/gdm-disable-wayland-on-mgag200-chipsets.patch
index 297b284..f439204 100644
--- a/gdm-disable-wayland-on-mgag200-chipsets.patch
+++ b/gdm-disable-wayland-on-mgag200-chipsets.patch
@@ -1,11 +1,11 @@
-Index: gdm-3.36.2/data/61-gdm.rules.in
+Index: gdm-3.37.90/data/61-gdm.rules.in
===================================================================
---- gdm-3.36.2.orig/data/61-gdm.rules.in
-+++ gdm-3.36.2/data/61-gdm.rules.in
-@@ -2,3 +2,12 @@
- ATTR{vendor}=="0x19e5", ATTR{device}=="0x1711", RUN+="@libexecdir@/gdm-disable-wayland"
- # disable Wayland when using the proprietary nvidia driver
+--- gdm-3.37.90.orig/data/61-gdm.rules.in
++++ gdm-3.37.90/data/61-gdm.rules.in
+@@ -4,3 +4,13 @@ ATTR{vendor}=="0x19e5", ATTR{device}=="0
DRIVER=="nvidia", RUN+="@libexecdir@/gdm-disable-wayland"
+ # disable Wayland if modesetting is disabled
+ IMPORT{cmdline}="nomodeset", RUN+="@libexecdir@/gdm-disable-wayland"
+# disable Wayland on Matrox Electronics Systems Ltd. MGA G200 server engines
+ATTR{vendor}=="0x102b", ATTR{device}=="0x0522", RUN+="@libexecdir@/gdm-disable-wayland"
+ATTR{vendor}=="0x102b", ATTR{device}=="0x0524", RUN+="@libexecdir@/gdm-disable-wayland"
@@ -15,3 +15,4 @@ Index: gdm-3.36.2/data/61-gdm.rules.in
+ATTR{vendor}=="0x102b", ATTR{device}=="0x0534", RUN+="@libexecdir@/gdm-disable-wayland"
+ATTR{vendor}=="0x102b", ATTR{device}=="0x0536", RUN+="@libexecdir@/gdm-disable-wayland"
+ATTR{vendor}=="0x102b", ATTR{device}=="0x0538", RUN+="@libexecdir@/gdm-disable-wayland"
++
diff --git a/gdm-initial-setup-hardening.patch b/gdm-initial-setup-hardening.patch
index 698a995..691edd3 100644
--- a/gdm-initial-setup-hardening.patch
+++ b/gdm-initial-setup-hardening.patch
@@ -1,7 +1,7 @@
-Index: gdm-3.36.2/daemon/gdm-display.c
+Index: gdm-3.37.90/daemon/gdm-display.c
===================================================================
---- gdm-3.36.2.orig/daemon/gdm-display.c
-+++ gdm-3.36.2/daemon/gdm-display.c
+--- gdm-3.37.90.orig/daemon/gdm-display.c
++++ gdm-3.37.90/daemon/gdm-display.c
@@ -1523,12 +1523,12 @@ can_create_environment (const char *sess
return session_exists;
}
@@ -27,10 +27,10 @@ Index: gdm-3.36.2/daemon/gdm-display.c
return FALSE;
}
-Index: gdm-3.36.2/daemon/gdm-manager.c
+Index: gdm-3.37.90/daemon/gdm-manager.c
===================================================================
---- gdm-3.36.2.orig/daemon/gdm-manager.c
-+++ gdm-3.36.2/daemon/gdm-manager.c
+--- gdm-3.37.90.orig/daemon/gdm-manager.c
++++ gdm-3.37.90/daemon/gdm-manager.c
@@ -62,7 +62,7 @@
#define GDM_MANAGER_DISPLAYS_PATH GDM_DBUS_PATH "/Displays"
@@ -45,11 +45,11 @@ Index: gdm-3.36.2/daemon/gdm-manager.c
GdmDisplay *display;
const char *session_id;
+ int fd = -1;
- #if defined(ENABLE_WAYLAND_SUPPORT) && defined(ENABLE_USER_DISPLAY_SERVER)
- g_autofree char *display_session_type = NULL;
- #endif
-@@ -1813,6 +1814,15 @@ on_start_user_session (StartUserSessionO
- #endif
+
+ g_debug ("GdmManager: start or jump to session");
+
+@@ -1807,6 +1808,15 @@ on_start_user_session (StartUserSessionO
+ "doing-initial-setup", &doing_initial_setup,
NULL);
+ fd = open(BLOCK_INITIAL_SETUP, O_RDONLY|O_CREAT|O_EXCL|O_NOFOLLOW|O_CLOEXEC, 0644);
@@ -64,19 +64,14 @@ Index: gdm-3.36.2/daemon/gdm-manager.c
if (doing_initial_setup)
chown_initial_setup_home_dir ();
-@@ -1833,8 +1843,6 @@ on_start_user_session (StartUserSessionO
+@@ -1827,20 +1837,9 @@ on_start_user_session (StartUserSessionO
g_object_ref (display);
if (doing_initial_setup) {
- g_autoptr(GError) error = NULL;
--
- #if defined(ENABLE_WAYLAND_SUPPORT) && defined(ENABLE_USER_DISPLAY_SERVER)
- if (g_strcmp0 (display_session_type, "wayland") == 0) {
- g_debug ("GdmManager: closing down initial setup display in background");
-@@ -1847,16 +1855,6 @@ on_start_user_session (StartUserSessionO
- gdm_display_unmanage (display);
- gdm_display_finish (display);
- }
+
+ g_debug ("GdmManager: closing down initial setup display in background");
+ g_object_set (G_OBJECT (display), "status", GDM_DISPLAY_WAITING_TO_FINISH, NULL);
-
- if (!g_file_set_contents (ALREADY_RAN_INITIAL_SETUP_ON_THIS_BOOT,
- "1",
@@ -90,3 +85,15 @@ Index: gdm-3.36.2/daemon/gdm-manager.c
} else {
g_debug ("GdmManager: session has its display server, reusing our server for another login screen");
}
+Index: gdm-3.37.90/daemon/meson.build
+===================================================================
+--- gdm-3.37.90.orig/daemon/meson.build
++++ gdm-3.37.90/daemon/meson.build
+@@ -199,6 +199,7 @@ endif
+
+ gdm_daemon = executable('gdm',
+ [ gdm_daemon_sources, gdm_daemon_gen_sources ],
++ c_args: '-DLOCALSTATEDIR="'+get_option('localstatedir')+'"',
+ dependencies: gdm_daemon_deps,
+ include_directories: config_h_dir,
+ install: true,
diff --git a/gdm-sysconfig-settings.patch b/gdm-sysconfig-settings.patch
index 7ef9b6f..5b414b4 100644
--- a/gdm-sysconfig-settings.patch
+++ b/gdm-sysconfig-settings.patch
@@ -1,27 +1,7 @@
-Index: gdm-3.36.2/common/Makefile.am
-===================================================================
---- gdm-3.36.2.orig/common/Makefile.am
-+++ gdm-3.36.2/common/Makefile.am
-@@ -45,11 +45,15 @@ libgdmcommon_la_SOURCES = \
- gdm-settings-backend.h \
- gdm-settings-desktop-backend.c \
- gdm-settings-desktop-backend.h \
-+ gdm-settings-system-backend.c \
-+ gdm-settings-system-backend.h \
- gdm-settings-keys.h \
- gdm-settings-utils.h \
- gdm-settings-utils.c \
- gdm-settings-direct.c \
- gdm-settings-direct.h \
-+ gdm-sysconfig.c \
-+ gdm-sysconfig.h \
- gdm-log.h \
- gdm-log.c \
- $(NULL)
-Index: gdm-3.36.2/common/gdm-settings-system-backend.c
+Index: gdm-3.37.90/common/gdm-settings-system-backend.c
===================================================================
--- /dev/null
-+++ gdm-3.36.2/common/gdm-settings-system-backend.c
++++ gdm-3.37.90/common/gdm-settings-system-backend.c
@@ -0,0 +1,369 @@
+/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 8 -*-
+ *
@@ -392,10 +372,10 @@ Index: gdm-3.36.2/common/gdm-settings-system-backend.c
+
+ return GDM_SETTINGS_BACKEND (object);
+}
-Index: gdm-3.36.2/common/gdm-settings-system-backend.h
+Index: gdm-3.37.90/common/gdm-settings-system-backend.h
===================================================================
--- /dev/null
-+++ gdm-3.36.2/common/gdm-settings-system-backend.h
++++ gdm-3.37.90/common/gdm-settings-system-backend.h
@@ -0,0 +1,56 @@
+/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 8 -*-
+ *
@@ -453,10 +433,10 @@ Index: gdm-3.36.2/common/gdm-settings-system-backend.h
+G_END_DECLS
+
+#endif /* __GDM_SETTINGS_SYSTEM_BACKEND_H */
-Index: gdm-3.36.2/common/gdm-settings.c
+Index: gdm-3.37.90/common/gdm-settings.c
===================================================================
---- gdm-3.36.2.orig/common/gdm-settings.c
-+++ gdm-3.36.2/common/gdm-settings.c
+--- gdm-3.37.90.orig/common/gdm-settings.c
++++ gdm-3.37.90/common/gdm-settings.c
@@ -38,6 +38,7 @@
#include "gdm-settings.h"
@@ -474,10 +454,10 @@ Index: gdm-3.36.2/common/gdm-settings.c
backend = gdm_settings_desktop_backend_new (GDM_RUNTIME_CONF);
if (backend)
settings->backends = g_list_prepend (settings->backends, backend);
-Index: gdm-3.36.2/common/gdm-sysconfig.c
+Index: gdm-3.37.90/common/gdm-sysconfig.c
===================================================================
--- /dev/null
-+++ gdm-3.36.2/common/gdm-sysconfig.c
++++ gdm-3.37.90/common/gdm-sysconfig.c
@@ -0,0 +1,484 @@
+/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 8 -*-
+ *
@@ -963,10 +943,10 @@ Index: gdm-3.36.2/common/gdm-sysconfig.c
+ g_strfreev (lines);
+ return result;
+}
-Index: gdm-3.36.2/common/gdm-sysconfig.h
+Index: gdm-3.37.90/common/gdm-sysconfig.h
===================================================================
--- /dev/null
-+++ gdm-3.36.2/common/gdm-sysconfig.h
++++ gdm-3.37.90/common/gdm-sysconfig.h
@@ -0,0 +1,43 @@
+/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 8 -*-
+ *
@@ -1011,10 +991,10 @@ Index: gdm-3.36.2/common/gdm-sysconfig.h
+G_END_DECLS
+
+#endif /* __GDM_SYSCONFIG_H */
-Index: gdm-3.36.2/data/gdm.conf-custom.in
+Index: gdm-3.37.90/data/gdm.conf-custom.in
===================================================================
---- gdm-3.36.2.orig/data/gdm.conf-custom.in
-+++ gdm-3.36.2/data/gdm.conf-custom.in
+--- gdm-3.37.90.orig/data/gdm.conf-custom.in
++++ gdm-3.37.90/data/gdm.conf-custom.in
@@ -1,4 +1,7 @@
# GDM configuration storage
+#
@@ -1023,3 +1003,19 @@ Index: gdm-3.36.2/data/gdm.conf-custom.in
[daemon]
# Uncomment the line below to force the login screen to use Xorg
+Index: gdm-3.37.90/common/meson.build
+===================================================================
+--- gdm-3.37.90.orig/common/meson.build
++++ gdm-3.37.90/common/meson.build
+@@ -5,9 +5,11 @@ libgdmcommon_src = files(
+ 'gdm-profile.c',
+ 'gdm-settings-backend.c',
+ 'gdm-settings-desktop-backend.c',
++ 'gdm-settings-system-backend.c',
+ 'gdm-settings-direct.c',
+ 'gdm-settings-utils.c',
+ 'gdm-settings.c',
++ 'gdm-sysconfig.c',
+ )
+
+ libgdmcommon_deps = [
diff --git a/gdm.changes b/gdm.changes
index 7fc6cfc..e93c9d5 100644
--- a/gdm.changes
+++ b/gdm.changes
@@ -1,9 +1,34 @@
+-------------------------------------------------------------------
+Wed Nov 4 10:05:13 UTC 2020 - Dominique Leuenberger
+
+- Update to version 3.38.2:
+ + Fix localization bug to prevented translated messages from
+ showing up.
+ + Deal more appropriately with broken accountsservice.
+
-------------------------------------------------------------------
Tue Oct 20 20:10:53 UTC 2020 - Dominique Leuenberger
- Update gdm-suse-xsession.patch: Handle the fact that xdm moved
its files from /etc to /usr/etc (boo#1177918).
+-------------------------------------------------------------------
+Thu Oct 15 13:13:20 UTC 2020 - dimstar@opensuse.org
+
+- Update to version 3.38.1:
+ + Fix bug leading to users /etc/gdm/custom.conf getting
+ overwritten on nvidia systems.
+ + Fix typo in comment.
+ + Updated translations.
+
+-------------------------------------------------------------------
+Tue Oct 13 00:31:42 UTC 2020 - Xiaoguang Wang
+
+- Using Xorg.wrap to start X server to solve X server working as root
+ in bsc#1075805 (bsc#1175867).
+ + Delete gdm-add-runtime-option-to-disable-starting-X-server-as-u.patch
+ + Update X11-displaymanager-gdm
+
-------------------------------------------------------------------
Wed Sep 16 09:17:43 UTC 2020 - Stefan Dirsch
@@ -11,6 +36,52 @@ Wed Sep 16 09:17:43 UTC 2020 - Stefan Dirsch
* needed changes for xdm/xinit/xmodmap move to /usr/etc/X11
(boo#1173049, boo#1173052, boo#1173053)
+-------------------------------------------------------------------
+Mon Sep 14 12:30:36 UTC 2020 - dimstar@opensuse.org
+
+- Update to version 3.38.0:
+ + Crasher fix.
+ + Systemd unit file improvements.
+ + Updated translations.
+- Drop gdm-Xsession-inputname.patch: fixed upstream.
+
+-------------------------------------------------------------------
+Sun Sep 6 15:14:36 UTC 2020 - Michael Gorse
+
+- Rebase
+ gdm-add-runtime-option-to-disable-starting-X-server-as-u.patch.
+
+-------------------------------------------------------------------
+Sat Sep 5 10:48:29 UTC 2020 - dimstar@opensuse.org
+
+- Update to version 3.37.90:
+ + Updates to systemd integration.
+ + Support killling X on login even when wayland support is
+ disabled.
+- Changes from version 3.37.3:
+ + PAM file updates for archlinux.
+ + User switching fix.
+ + Don't keep login screen running in background on Xorg.
+- Changes from version 3.37.1:
+ + Switch from autogoo t.o meson
+ + Fixes for when GDM isn't started on its configured initial VT.
+ + Don't hardcode path to plymouth.
+ + keyutils has a .pc file so use it.
+ + Enable wayland on cirrus.
+ + Chrome remote desktop fix.
+ + Always use separate session bus for greeter sessions.
+ + Updated translations.
+- Add pkgconfig(audit) BuildRequires: new dependency.
+- Rebase patches: gdm-disable-wayland-on-mgag200-chipsets.patch,
+ gdm-initial-setup-hardening.patch and
+ gdm-sysconfig-settings.patch.
+- Add gdm-Xsession-inputname.patch:Fix Xsession input file name.
+- Port to meson build system:
+ + Add meson BuildRequires.
+ + Drop autogen.sh source file.
+ + Replace configure/make/make_install macros with
+ meson/meson_build/meson_install.
+
-------------------------------------------------------------------
Tue Jul 14 05:10:44 UTC 2020 - Bjørn Lie
diff --git a/gdm.obsinfo b/gdm.obsinfo
deleted file mode 100644
index 87d91d3..0000000
--- a/gdm.obsinfo
+++ /dev/null
@@ -1,5 +0,0 @@
-name: gdm
-version: 3.36.3
-mtime: 1594672671
-commit: 24a4c0afe337a7a381397c87a39e3a666c0ae6cc
-
diff --git a/gdm.spec b/gdm.spec
index b7c3e9a..056c569 100644
--- a/gdm.spec
+++ b/gdm.spec
@@ -21,14 +21,14 @@
%define enable_split_authentication 0
Name: gdm
-Version: 3.36.3
+Version: 3.38.2
Release: 0
Summary: The GNOME Display Manager
License: GPL-2.0-or-later
Group: System/GUI/GNOME
URL: https://wiki.gnome.org/Projects/GDM
-Source0: %{name}-%{version}.tar.xz
+Source0: https://download.gnome.org/sources/gdm/3.38/%{name}-%{version}.tar.xz
Source1: gdm.pamd
Source2: gdm-autologin.pamd
Source3: gdm-launch-environment.pamd
@@ -38,8 +38,6 @@ Source5: gdm-smartcard.pamd
Source6: gdmflexiserver-wrapper
# /etc/xinit.d/xdm integration script
Source7: X11-displaymanager-gdm
-# GDM does not boostrap using gnome-autogen.sh, but has it's own bootstrap script
-Source8: autogen.sh
# Use tmpfiles to create directories under /var to support transactional updates
Source9: gdm.tmpfiles
# Use reserveVT.conf to make autologin user session not to select tty1
@@ -55,8 +53,6 @@ Patch3: gdm-default-wm.patch
Patch4: gdm-xauthlocalhostname.patch
# PATCH-FIX-OPENSUSE gdm-switch-to-tty1.patch bsc#1113700 xwang@suse.com -- switch to tty1 when stopping gdm service
Patch6: gdm-switch-to-tty1.patch
-# PATCH-NEEDS-REBASE gdm-add-runtime-option-to-disable-starting-X-server-as-u.patch bnc#1075805 bgo#793255 msrb@suse.com -- Add runtime option to start X under root instead of regular user. Necessary if no DRI drivers are present. rejected upstream WAS: PATCH-FIX-OPENSUSE
-Patch8: gdm-add-runtime-option-to-disable-starting-X-server-as-u.patch
# PATCH-FIX-OPENSUSE gdm-initial-setup-hardening.patch boo#1140851, glgo#GNOME/gnome-initial-setup#76 fezhang@suse.com -- Prevent gnome-initial-setup running if any regular user has perviously logged into the system
Patch9: gdm-initial-setup-hardening.patch
# PATCH-FIX-OPENSUSE gdm-s390-not-require-g-s-d_wacom.patch bsc#1129412 yfjiang@suse.com -- Remove the runtime requirement of g-s-d Wacom plugin
@@ -77,6 +73,7 @@ BuildRequires: dconf
BuildRequires: fdupes
BuildRequires: gnome-common
BuildRequires: gnome-session-core
+BuildRequires: meson >= 0.50.0
BuildRequires: pam-devel
BuildRequires: pkgconfig
BuildRequires: pwdutils
@@ -86,6 +83,7 @@ BuildRequires: update-desktop-files
BuildRequires: xorg-x11-server
BuildRequires: xorg-x11-server-extra
BuildRequires: pkgconfig(accountsservice) >= 0.6.35
+BuildRequires: pkgconfig(audit)
BuildRequires: pkgconfig(check)
BuildRequires: pkgconfig(gio-2.0) >= 2.36.0
BuildRequires: pkgconfig(gio-unix-2.0) >= 2.36.0
@@ -212,13 +210,11 @@ running display manager.
%prep
%setup -q
-cp %{SOURCE8} .
%patch0 -p1
%patch2 -p1
%patch3 -p1
%patch4 -p1
%patch6 -p1
-#patch8 -p1
%patch9 -p1
%ifarch s390 s390x
%patch13 -p1
@@ -233,33 +229,28 @@ cp %{SOURCE8} .
%endif
%build
-NOCONFIGURE=1 ./autogen.sh
-%configure\
- --disable-static \
+%meson \
--libexecdir=%{_libexecdir}/gdm \
- --localstatedir=%{_localstatedir} \
- --with-at-spi-registryd-directory=%{_libexecdir}/at-spi \
- --with-check-accelerated-directory=%{_libexecdir} \
- --with-gnome-settings-daemon-directory=%{_libexecdir}/gnome-settings-daemon-3.0 \
- --with-pam-mod-dir=/%{_lib}/security \
- --enable-ipv6 \
- --enable-gdm-xsession \
- --with-plymouth \
- --enable-wayland-support \
- --enable-systemd-journal \
+ -Dat-spi-registryd-dir=%{_libexecdir}/at-spi \
+ -Dgdm-xsession=true \
+ -Dgnome-settings-daemon-dir=%{_libexecdir}/gnome-settings-daemon-3.0 \
+ -Dinitial-vt=7 \
+ -Dipv6=true \
+ -Dpam-mod-dir=/%{_lib}/security \
+ -Dplymouth=enabled \
+ -Drun-dir=/run/gdm \
%if %{enable_split_authentication}
- --enable-split-authentication \
+ -Dsplit-authentication=true \
%else
- --disable-split-authentication \
+ -Dsplit-authentication=false \
%endif
- --with-initial-vt=7 \
- --with-run-dir=/run/gdm \
- --with-udevdir=%{_prefix}/lib/udev
-%make_build
+ -Dudev-dir=%{_udevrulesdir} \
+ -Dwayland-support=true \
+ %nil
+%meson_build
%install
-%make_install
-find %{buildroot} -type f -name "*.la" -delete -print
+%meson_install
## Install PAM files.
mkdir -p %{buildroot}%{_sysconfdir}/pam.d
# Generic pam config
@@ -298,8 +289,8 @@ mkdir -p %{buildroot}/run/gdm
mkdir -p %{buildroot}%{_bindir}
ln -s ../sbin/gdm %{buildroot}%{_bindir}/gdm
-mkdir -p %{buildroot}%{_prefix}/lib/tmpfiles.d
-install -m 644 %{SOURCE9} %{buildroot}%{_prefix}/lib/tmpfiles.d/gdm.conf
+mkdir -p %{buildroot}%{_tmpfilesdir}
+install -m 644 %{SOURCE9} %{buildroot}%{_tmpfilesdir}/gdm.conf
mkdir -p %{buildroot}%{_prefix}/lib/systemd/logind.conf.d
install -m 644 %{SOURCE10} %{buildroot}%{_prefix}/lib/systemd/logind.conf.d/reserveVT.conf
@@ -308,7 +299,7 @@ install -m 644 %{SOURCE10} %{buildroot}%{_prefix}/lib/systemd/logind.conf.d/rese
%fdupes -s %{buildroot}%{_datadir}/help
%check
-%make_build check
+%meson_test
%pre
%{_sbindir}/groupadd -r gdm 2> /dev/null || :
@@ -370,9 +361,11 @@ dconf update
%{_prefix}/lib/X11/displaymanagers/gdm
%ghost %{_sysconfdir}/alternatives/default-displaymanager
%{_udevrulesdir}/61-gdm.rules
-%{_prefix}/lib/tmpfiles.d/gdm.conf
+%{_tmpfilesdir}/gdm.conf
%dir %{_prefix}/lib/systemd/logind.conf.d
%{_prefix}/lib/systemd/logind.conf.d/reserveVT.conf
+%dir %{_userunitdir}/gnome-session@gnome-login.target.d
+%{_userunitdir}/gnome-session@gnome-login.target.d/session.conf
%files -n libgdm1
%{_libdir}/libgdm.so.*