Accepting request 499842 from GNOME:Next
Resub, spelling OBS-URL: https://build.opensuse.org/request/show/499842 OBS-URL: https://build.opensuse.org/package/show/GNOME:Factory/gdm?expand=0&rev=335
This commit is contained in:
parent
b023643f17
commit
29785e3ad8
@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:1ee22139fe0a3fc1ff897ca1c626b28b4e997275ca8dd4d7e48e019a2f2c2179
|
||||
size 1113540
|
3
gdm-3.24.2.tar.xz
Normal file
3
gdm-3.24.2.tar.xz
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:4378b9fad5536e03c56ad138d0e249fbcaa09977b867895426cb41c978fe5de8
|
||||
size 1113644
|
@ -1,165 +0,0 @@
|
||||
Index: gdm-3.19.90/daemon/gdm-session-worker.c
|
||||
===================================================================
|
||||
--- gdm-3.19.90.orig/daemon/gdm-session-worker.c
|
||||
+++ gdm-3.19.90/daemon/gdm-session-worker.c
|
||||
@@ -175,6 +175,8 @@ struct GdmSessionWorkerPrivate
|
||||
GdmSessionSettings *user_settings;
|
||||
|
||||
GDBusMethodInvocation *pending_invocation;
|
||||
+
|
||||
+ char *suse_session_name;
|
||||
};
|
||||
|
||||
enum {
|
||||
@@ -1045,6 +1047,9 @@ gdm_session_worker_initialize_pam (GdmSe
|
||||
gdm_session_worker_set_environment_variable (worker, "XDG_SESSION_CLASS", "greeter");
|
||||
}
|
||||
|
||||
+ if (worker->priv->suse_session_name)
|
||||
+ gdm_session_worker_set_environment_variable (worker, "DESKTOP_SESSION", worker->priv->suse_session_name);
|
||||
+
|
||||
g_debug ("GdmSessionWorker: state SETUP_COMPLETE");
|
||||
worker->priv->state = GDM_SESSION_WORKER_STATE_SETUP_COMPLETE;
|
||||
|
||||
@@ -2306,6 +2311,12 @@ gdm_session_worker_handle_set_session_na
|
||||
{
|
||||
GdmSessionWorker *worker = GDM_SESSION_WORKER (object);
|
||||
g_debug ("GdmSessionWorker: session name set to %s", session_name);
|
||||
+
|
||||
+ if (worker->priv->pam_handle != NULL)
|
||||
+ gdm_session_worker_set_environment_variable (worker, "DESKTOP_SESSION", session_name);
|
||||
+ g_free (worker->priv->suse_session_name);
|
||||
+ worker->priv->suse_session_name = g_strdup (session_name);
|
||||
+
|
||||
gdm_session_settings_set_session_name (worker->priv->user_settings,
|
||||
session_name);
|
||||
gdm_dbus_worker_complete_set_session_name (object, invocation);
|
||||
@@ -2313,6 +2324,23 @@ gdm_session_worker_handle_set_session_na
|
||||
}
|
||||
|
||||
static gboolean
|
||||
+gdm_session_worker_handle_set_default_session_name (GdmDBusWorker *object,
|
||||
+ GDBusMethodInvocation *invocation,
|
||||
+ const char *session_name)
|
||||
+{
|
||||
+ GdmSessionWorker *worker = GDM_SESSION_WORKER (object);
|
||||
+ g_debug ("GdmSessionWorker: default session name set to %s", session_name);
|
||||
+
|
||||
+ if (worker->priv->pam_handle != NULL)
|
||||
+ gdm_session_worker_set_environment_variable (worker, "DESKTOP_SESSION", session_name);
|
||||
+ g_free (worker->priv->suse_session_name);
|
||||
+ worker->priv->suse_session_name = g_strdup (session_name);
|
||||
+
|
||||
+ gdm_dbus_worker_complete_set_default_session_name (object, invocation);
|
||||
+ return TRUE;
|
||||
+}
|
||||
+
|
||||
+static gboolean
|
||||
gdm_session_worker_handle_set_session_display_mode (GdmDBusWorker *object,
|
||||
GDBusMethodInvocation *invocation,
|
||||
const char *str)
|
||||
@@ -3119,6 +3147,7 @@ worker_interface_init (GdmDBusWorkerIfac
|
||||
interface->handle_open = gdm_session_worker_handle_open;
|
||||
interface->handle_set_language_name = gdm_session_worker_handle_set_language_name;
|
||||
interface->handle_set_session_name = gdm_session_worker_handle_set_session_name;
|
||||
+ interface->handle_set_default_session_name = gdm_session_worker_handle_set_default_session_name;
|
||||
interface->handle_set_session_display_mode = gdm_session_worker_handle_set_session_display_mode;
|
||||
interface->handle_set_environment_variable = gdm_session_worker_handle_set_environment_variable;
|
||||
interface->handle_start_program = gdm_session_worker_handle_start_program;
|
||||
@@ -3236,6 +3265,8 @@ gdm_session_worker_finalize (GObject *ob
|
||||
|
||||
g_hash_table_unref (worker->priv->reauthentication_requests);
|
||||
|
||||
+ g_free (worker->priv->suse_session_name);
|
||||
+
|
||||
G_OBJECT_CLASS (gdm_session_worker_parent_class)->finalize (object);
|
||||
}
|
||||
|
||||
Index: gdm-3.19.90/daemon/gdm-session-worker.xml
|
||||
===================================================================
|
||||
--- gdm-3.19.90.orig/daemon/gdm-session-worker.xml
|
||||
+++ gdm-3.19.90/daemon/gdm-session-worker.xml
|
||||
@@ -13,6 +13,9 @@
|
||||
<method name="SetSessionName">
|
||||
<arg name="session_name" direction="in" type="s" />
|
||||
</method>
|
||||
+ <method name="SetDefaultSessionName">
|
||||
+ <arg name="default_session_name" direction="in" type="s"/>
|
||||
+ </method>
|
||||
<method name="SetSessionDisplayMode">
|
||||
<arg name="mode" direction="in" type="s"/>
|
||||
</method>
|
||||
Index: gdm-3.19.90/daemon/gdm-session.c
|
||||
===================================================================
|
||||
--- gdm-3.19.90.orig/daemon/gdm-session.c
|
||||
+++ gdm-3.19.90/daemon/gdm-session.c
|
||||
@@ -190,6 +190,8 @@ G_DEFINE_TYPE (GdmSession,
|
||||
gdm_session,
|
||||
G_TYPE_OBJECT);
|
||||
|
||||
+static const char *get_session_name (GdmSession *self);
|
||||
+
|
||||
static GdmSessionConversation *
|
||||
find_conversation_by_name (GdmSession *self,
|
||||
const char *service_name)
|
||||
@@ -607,6 +609,9 @@ get_default_session_name (GdmSession *se
|
||||
static void
|
||||
gdm_session_defaults_changed (GdmSession *self)
|
||||
{
|
||||
+ GHashTableIter iter;
|
||||
+ gpointer key, value;
|
||||
+ const char *text;
|
||||
|
||||
update_session_type (self);
|
||||
|
||||
@@ -616,6 +621,19 @@ gdm_session_defaults_changed (GdmSession
|
||||
gdm_dbus_greeter_emit_default_session_name_changed (self->priv->greeter_interface,
|
||||
get_default_session_name (self));
|
||||
}
|
||||
+
|
||||
+ text = get_session_name (self);
|
||||
+
|
||||
+ g_hash_table_iter_init (&iter, self->priv->conversations);
|
||||
+ while (g_hash_table_iter_next (&iter, &key, &value)) {
|
||||
+ GdmSessionConversation *conversation;
|
||||
+
|
||||
+ conversation = (GdmSessionConversation *) value;
|
||||
+
|
||||
+ gdm_dbus_worker_call_set_default_session_name (conversation->worker_proxy,
|
||||
+ text,
|
||||
+ NULL, NULL, NULL);
|
||||
+ }
|
||||
}
|
||||
|
||||
void
|
||||
@@ -924,6 +942,10 @@ worker_on_saved_session_name_read (GdmDB
|
||||
|
||||
if (strcmp (session_name,
|
||||
get_default_session_name (self)) != 0) {
|
||||
+ GHashTableIter iter;
|
||||
+ gpointer key, value;
|
||||
+ const char *text;
|
||||
+
|
||||
g_free (self->priv->saved_session);
|
||||
self->priv->saved_session = g_strdup (session_name);
|
||||
|
||||
@@ -931,6 +953,19 @@ worker_on_saved_session_name_read (GdmDB
|
||||
gdm_dbus_greeter_emit_default_session_name_changed (self->priv->greeter_interface,
|
||||
session_name);
|
||||
}
|
||||
+
|
||||
+ text = get_session_name (self);
|
||||
+
|
||||
+ g_hash_table_iter_init (&iter, self->priv->conversations);
|
||||
+ while (g_hash_table_iter_next (&iter, &key, &value)) {
|
||||
+ GdmSessionConversation *conversation;
|
||||
+
|
||||
+ conversation = (GdmSessionConversation *) value;
|
||||
+
|
||||
+ gdm_dbus_worker_call_set_default_session_name (conversation->worker_proxy,
|
||||
+ text,
|
||||
+ NULL, NULL, NULL);
|
||||
+ }
|
||||
}
|
||||
}
|
||||
|
12
gdm.changes
12
gdm.changes
@ -1,3 +1,15 @@
|
||||
-------------------------------------------------------------------
|
||||
Tue May 30 14:30:21 UTC 2017 - dimstar@opensuse.org
|
||||
|
||||
- Update to version 3.24.2:
|
||||
+ Update session type when we know username (and user's session).
|
||||
+ Fix bug leading to reauthentication happening outside the
|
||||
session.
|
||||
+ Make sure greeter is killed and reaped when gdm is restarted.
|
||||
- Drop gdm-desktop-session-env-pam.patch: not required for a long
|
||||
time, as gnome-keyring pam module is using only_if for a long
|
||||
time already.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Apr 19 09:48:15 UTC 2017 - zaitor@opensuse.org
|
||||
|
||||
|
5
gdm.spec
5
gdm.spec
@ -25,7 +25,7 @@
|
||||
%define enable_split_authentication 0
|
||||
|
||||
Name: gdm
|
||||
Version: 3.24.1
|
||||
Version: 3.24.2
|
||||
Release: 0
|
||||
Summary: The GNOME Display Manager
|
||||
License: GPL-2.0+
|
||||
@ -45,8 +45,6 @@ Source5: X11-displaymanager-gdm
|
||||
Source8: autogen.sh
|
||||
# PATCH-FEATURE-OPENSUSE gdm-workaround-boo971852.patch zaitor@opensuse.org -- Work around boo971852 - xsessions is just not going to happen for a gdm user - Those users ALL have gnome-shell installed (which is mandatory for gdm to operate) - openSUSE only
|
||||
Patch0: gdm-workaround-boo971852.patch
|
||||
# PATCH-NEEDS-REBASE PATCH-FIX-OPENSUSE gdm-desktop-session-env-pam.patch bnc427744 vuntz@novell.com -- Sets a PAM environment variable to let the pam gnome-keyring module know which session is started
|
||||
Patch6: gdm-desktop-session-env-pam.patch
|
||||
# PATCH-FIX-OPENSUSE gdm-suse-xsession.patch vuntz@novell.com -- Use the /etc/X11/xdm/* scripts
|
||||
Patch7: gdm-suse-xsession.patch
|
||||
# WARNING: do not remove/significantly change patch8 without updating the relevant patch in accountsservice too
|
||||
@ -186,7 +184,6 @@ translation-update-upstream
|
||||
# Disabled for now, see boo#981372 and boo#971852
|
||||
#patch0 -p1
|
||||
%endif
|
||||
%patch6 -p1
|
||||
%patch7 -p1
|
||||
%patch8 -p1
|
||||
%patch9 -p1
|
||||
|
Loading…
x
Reference in New Issue
Block a user