Accepting request 581951 from GNOME:Factory

OBS-URL: https://build.opensuse.org/request/show/581951
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/gdm?expand=0&rev=205
This commit is contained in:
Dominique Leuenberger 2018-03-05 12:33:08 +00:00 committed by Git OBS Bridge
commit e48ca1c67e
6 changed files with 170 additions and 17 deletions

View File

@ -4,6 +4,16 @@ gdm_vars() {
RELOADSIGNAL="-USR1" RELOADSIGNAL="-USR1"
DISPLAYMANAGER=/usr/sbin/gdm DISPLAYMANAGER=/usr/sbin/gdm
PIDFILE=/run/gdm/gdm.pid 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 0 ;;
*) return 1 ;; *) return 1 ;;
esac esac

View File

@ -0,0 +1,40 @@
From f4f7b6914ad2b9b0b7da036dde4028751eb49eb7 Mon Sep 17 00:00:00 2001
From: Ray Strode <rstrode@redhat.com>
Date: Wed, 14 Feb 2018 16:07:15 -0500
Subject: [PATCH 01/16] Revert "session: don't call
gdm_session_defaults_changed from setup"
This reverts commit 572a19324b75cc1f1b2db4908e2d7c9f06e4e335.
It turns out we need this call for more than just the session type,
we also need to it to inform the greeter about the default session
to use.
https://bugzilla.gnome.org/show_bug.cgi?id=793609
---
daemon/gdm-session.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/daemon/gdm-session.c b/daemon/gdm-session.c
index 610ebcd0..19d26c92 100644
--- a/daemon/gdm-session.c
+++ b/daemon/gdm-session.c
@@ -2295,6 +2295,7 @@ gdm_session_setup (GdmSession *self,
update_session_type (self);
initialize (self, service_name, NULL, NULL);
+ gdm_session_defaults_changed (self);
}
@@ -2313,6 +2314,7 @@ gdm_session_setup_for_user (GdmSession *self,
self->priv->is_program_session = FALSE;
initialize (self, service_name, self->priv->selected_user, NULL);
+ gdm_session_defaults_changed (self);
}
void
--
2.12.3

View File

@ -0,0 +1,91 @@
From a19b51ad9e446948ba60c359641f6c4c14fec1da Mon Sep 17 00:00:00 2001
From: Michal Srb <msrb@suse.com>
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.
---
daemon/gdm-local-display-factory.c | 10 ++++++----
daemon/gdm-session.c | 13 +++++++++----
2 files changed, 15 insertions(+), 8 deletions(-)
diff --git a/daemon/gdm-local-display-factory.c b/daemon/gdm-local-display-factory.c
index b29f5ac5..7c687cf6 100644
--- a/daemon/gdm-local-display-factory.c
+++ b/daemon/gdm-local-display-factory.c
@@ -207,8 +207,11 @@ gdm_local_display_factory_create_transient_display (GdmLocalDisplayFactory *fact
g_debug ("GdmLocalDisplayFactory: Creating transient display");
#ifdef ENABLE_USER_DISPLAY_SERVER
- display = gdm_local_display_new ();
-#else
+ if (getenv ("GDM_DISABLE_USER_DISPLAY_SERVER") == NULL) {
+ display = gdm_local_display_new ();
+ }
+#endif
+
if (display == NULL) {
guint32 num;
@@ -216,7 +219,6 @@ gdm_local_display_factory_create_transient_display (GdmLocalDisplayFactory *fact
display = gdm_legacy_display_new (num);
}
-#endif
g_object_set (display,
"seat-id", "seat0",
@@ -369,7 +371,7 @@ create_display (GdmLocalDisplayFactory *factory,
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);
diff --git a/daemon/gdm-session.c b/daemon/gdm-session.c
index 610ebcd0..cb37ed4e 100644
--- a/daemon/gdm-session.c
+++ b/daemon/gdm-session.c
@@ -360,7 +360,11 @@ get_system_session_dirs (GdmSession *self)
#ifdef ENABLE_WAYLAND_SUPPORT
if (!self->priv->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);
+ }
#else
g_array_append_val (search_array, wayland_search_dir);
#endif
@@ -3147,8 +3151,10 @@ gdm_session_get_display_mode (GdmSession *self)
* 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
@@ -3159,7 +3165,6 @@ gdm_session_get_display_mode (GdmSession *self)
}
#endif
return GDM_SESSION_DISPLAY_MODE_REUSE_VT;
-#endif
}
void
--
2.13.6

View File

@ -1,13 +0,0 @@
diff --git a/daemon/gdm-session.c b/daemon/gdm-session.c
index ad25135..2f27451 100644
--- a/daemon/gdm-session.c
+++ b/daemon/gdm-session.c
@@ -551,7 +551,7 @@ get_fallback_session_name (GdmSession *self)
}
g_free (name);
- name = g_strdup ("gnome");
+ name = g_strdup ("sle-classic");
if (get_session_command_for_name (self, name, NULL)) {
g_free (self->priv->fallback_session_name);
self->priv->fallback_session_name = name;

View File

@ -1,7 +1,20 @@
-------------------------------------------------------------------
Fri Mar 2 01:56:52 UTC 2018 - xwang@suse.com
- Add gdm-Revert-session-don-t-call-gdm_session_defaults_chang.patch:
fix showing right active session of user in login dialog
(bsc#1082958 bgo#793609).
-------------------------------------------------------------------
Thu Mar 1 02:41:45 UTC 2018 - xwang@suse.com
- Remove gdm-default-wm-sle12.patch: default session in SLE15
becomes 'GNOME', don't need this patch anymore.
------------------------------------------------------------------- -------------------------------------------------------------------
Wed Jan 31 10:03:25 UTC 2018 - yfjiang@suse.com Wed Jan 31 10:03:25 UTC 2018 - yfjiang@suse.com
- Add back translation-update-upstream as BuildRequires since - Add back translation-update-upstream as BuildRequires since
SLE still needs it. SLE still needs it.
------------------------------------------------------------------- -------------------------------------------------------------------
@ -11,6 +24,15 @@ Tue Jan 30 07:48:01 UTC 2018 - yfjiang@suse.com
filename argument in gdm_settings_desktop_backend_new instead of filename argument in gdm_settings_desktop_backend_new instead of
examining GDM_RUNTIME_CONF (bsc#1078030). examining GDM_RUNTIME_CONF (bsc#1078030).
-------------------------------------------------------------------
Fri Jan 26 11:27:50 UTC 2018 - msrb@suse.com
- Add runtime option to start X under root instead of regular user.
Necessary if no DRI drivers are present. (bnc#1075805)
* gdm-add-runtime-option-to-disable-starting-X-server-as-u.patch
* Updated X11-displaymanager-gdm to set the
GDM_DISABLE_USER_DISPLAY_SERVER variable when needed.
------------------------------------------------------------------- -------------------------------------------------------------------
Fri Jan 19 10:27:26 UTC 2018 - fezhang@suse.com Fri Jan 19 10:27:26 UTC 2018 - fezhang@suse.com

View File

@ -68,10 +68,12 @@ Patch41: gdm-plymouth-vt1.patch
Patch42: gdm-fails-to-restart-gnome-shell.patch Patch42: gdm-fails-to-restart-gnome-shell.patch
# PATCH-FIX-UPSTREAM gdm-not-run-with-bogus-DISPLAY-XAUTHORITY.patch bsc#1068016 bgo#792150 xwang@suse.com -- When run PreSession script, don't set DISPLAY and XAUTHORITY environment variable # PATCH-FIX-UPSTREAM gdm-not-run-with-bogus-DISPLAY-XAUTHORITY.patch bsc#1068016 bgo#792150 xwang@suse.com -- When run PreSession script, don't set DISPLAY and XAUTHORITY environment variable
Patch43: gdm-not-run-with-bogus-DISPLAY-XAUTHORITY.patch Patch43: gdm-not-run-with-bogus-DISPLAY-XAUTHORITY.patch
# PATCH-FIX-SLE gdm-default-wm-sle12.patch bnc#881659 cxiong@suse.com -- set default/fallback session type to SLE Classic
Patch49: gdm-default-wm-sle12.patch
# PATCH-FIX-SLE gdm-disable-gnome-initial-setup.patch bnc#1067976 qzhao@suse.com -- Disable gnome-initial-setup runs before gdm, g-i-s will only serve for CJK people to choose the input-method after login. # PATCH-FIX-SLE gdm-disable-gnome-initial-setup.patch bnc#1067976 qzhao@suse.com -- Disable gnome-initial-setup runs before gdm, g-i-s will only serve for CJK people to choose the input-method after login.
Patch52: gdm-disable-gnome-initial-setup.patch Patch52: gdm-disable-gnome-initial-setup.patch
# PATCH-FIX-UPSTREAM 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.
Patch53: gdm-add-runtime-option-to-disable-starting-X-server-as-u.patch
# PATCH-FIX-UPSTREAM gdm-Revert-session-don-t-call-gdm_session_defaults_chang.patch bsc#1082958 bgo#793609 xwang@suse.com -- Show right active session of user in login dialog.
Patch54: gdm-Revert-session-don-t-call-gdm_session_defaults_chang.patch
BuildRequires: check-devel BuildRequires: check-devel
# needed for directory ownership # needed for directory ownership
BuildRequires: dconf BuildRequires: dconf
@ -219,9 +221,10 @@ translation-update-upstream
%patch42 -p1 %patch42 -p1
%patch43 -p1 %patch43 -p1
%if !0%{?is_opensuse} %if !0%{?is_opensuse}
%patch49 -p1
%patch52 -p1 %patch52 -p1
%endif %endif
%patch53 -p1
%patch54 -p1
%build %build
NOCONFIGURE=1 sh autogen.sh NOCONFIGURE=1 sh autogen.sh