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.*