Date: Thursday, July 2, 2015 @ 16:47:11 Author: heftig Revision: 241708
3.16.2 Modified: gdm/trunk/0001-Add-Arch-Linux-PAM-config-files.patch gdm/trunk/0002-Xsession-Don-t-start-ssh-agent-by-default.patch gdm/trunk/PKGBUILD Deleted: gdm/trunk/0003-manager-fix-monitor-hotplug-segfault.patch gdm/trunk/0004-gdm-x-wayland-session-don-t-start-dbus-daemon-if-unn.patch -----------------------------------------------------------------+ 0001-Add-Arch-Linux-PAM-config-files.patch | 6 0002-Xsession-Don-t-start-ssh-agent-by-default.patch | 6 0003-manager-fix-monitor-hotplug-segfault.patch | 43 ---- 0004-gdm-x-wayland-session-don-t-start-dbus-daemon-if-unn.patch | 88 ---------- PKGBUILD | 18 -- 5 files changed, 12 insertions(+), 149 deletions(-) Modified: 0001-Add-Arch-Linux-PAM-config-files.patch =================================================================== --- 0001-Add-Arch-Linux-PAM-config-files.patch 2015-07-02 14:13:46 UTC (rev 241707) +++ 0001-Add-Arch-Linux-PAM-config-files.patch 2015-07-02 14:47:11 UTC (rev 241708) @@ -1,7 +1,7 @@ -From b186cda5f6320126cf0804e05592a73c605845a5 Mon Sep 17 00:00:00 2001 +From 54c780b7d4124e990726cb7afb3aa387979b7094 Mon Sep 17 00:00:00 2001 From: "Jan Alexander Steffens (heftig)" <[email protected]> Date: Thu, 9 Oct 2014 00:55:31 +0200 -Subject: [PATCH 1/4] Add Arch Linux PAM config files +Subject: [PATCH 1/2] Add Arch Linux PAM config files --- configure.ac | 6 ++++-- @@ -195,5 +195,5 @@ +session optional pam_keyinit.so force revoke +session include system-local-login -- -2.4.4 +2.4.5 Modified: 0002-Xsession-Don-t-start-ssh-agent-by-default.patch =================================================================== --- 0002-Xsession-Don-t-start-ssh-agent-by-default.patch 2015-07-02 14:13:46 UTC (rev 241707) +++ 0002-Xsession-Don-t-start-ssh-agent-by-default.patch 2015-07-02 14:47:11 UTC (rev 241708) @@ -1,7 +1,7 @@ -From 5e39419518da2f081348ae1771d71800a9696f0f Mon Sep 17 00:00:00 2001 +From 8bf4d553ba9e7a5978ed8920ca0b06e624de2eda Mon Sep 17 00:00:00 2001 From: "Jan Alexander Steffens (heftig)" <[email protected]> Date: Sat, 20 Jun 2015 17:22:38 +0200 -Subject: [PATCH 2/4] Xsession: Don't start ssh-agent by default +Subject: [PATCH 2/2] Xsession: Don't start ssh-agent by default --- data/Xsession.in | 8 -------- @@ -27,5 +27,5 @@ eval exec $command -- -2.4.4 +2.4.5 Deleted: 0003-manager-fix-monitor-hotplug-segfault.patch =================================================================== --- 0003-manager-fix-monitor-hotplug-segfault.patch 2015-07-02 14:13:46 UTC (rev 241707) +++ 0003-manager-fix-monitor-hotplug-segfault.patch 2015-07-02 14:47:11 UTC (rev 241708) @@ -1,43 +0,0 @@ -From 45fe287fd83b06ad1260cf91c49be8990b423ae4 Mon Sep 17 00:00:00 2001 -From: Richard Bradfield <[email protected]> -Date: Sun, 24 May 2015 21:48:01 +0100 -Subject: [PATCH 3/4] manager: fix monitor hotplug segfault - -commit e5a0e92f59e256edc6489f2234fbe54c25ba9743 introduced a way to -find a user session associated with a display object. - -That function has a bug in it, where it skips every even -registered user session because it follows the next pointer -twice per iteration of the loop. - -This can cause a crash on monitor hotplug, and in other scenarios -if there are an odd number of user sessions (since the -terminating NULL will be even and skipped over). - -https://bugzilla.gnome.org/show_bug.cgi?id=749987 ---- - daemon/gdm-manager.c | 7 +++---- - 1 file changed, 3 insertions(+), 4 deletions(-) - -diff --git a/daemon/gdm-manager.c b/daemon/gdm-manager.c -index 64f11dd..5e496f7 100644 ---- a/daemon/gdm-manager.c -+++ b/daemon/gdm-manager.c -@@ -1126,11 +1126,10 @@ static GdmSession * - get_user_session_for_display (GdmManager *self, - GdmDisplay *display) - { -- GList *node; - -- for (node = self->priv->user_sessions; -- node != NULL; -- node = node->next) { -+ GList *node = self->priv->user_sessions; -+ -+ while (node != NULL) { - GdmSession *session = node->data; - GdmDisplay *candidate_display; - GList *next_node = node->next; --- -2.4.4 - Deleted: 0004-gdm-x-wayland-session-don-t-start-dbus-daemon-if-unn.patch =================================================================== --- 0004-gdm-x-wayland-session-don-t-start-dbus-daemon-if-unn.patch 2015-07-02 14:13:46 UTC (rev 241707) +++ 0004-gdm-x-wayland-session-don-t-start-dbus-daemon-if-unn.patch 2015-07-02 14:47:11 UTC (rev 241708) @@ -1,88 +0,0 @@ -From a5184cdd92faeba9967afe26d677f1103a9a34c0 Mon Sep 17 00:00:00 2001 -From: David Herrmann <[email protected]> -Date: Wed, 3 Jun 2015 20:07:18 +0200 -Subject: [PATCH 4/4] gdm-{x,wayland}-session: don't start dbus-daemon if - unneeded - -Desktop sessions require a message bus to be present for IPC between -the various desktop services and applications. - -GDM handles that by manually, unconditionally spawning an instance of -dbus-daemon at login time before starting the user session (from the -gdm-x-session and gdm-wayland-session launcher programs). - -Newer versions of the kernel will support this message bus functionality -without needing to start dbus-daemon (via kdbus). The message bus is -initialized as part of the login process by a kernel interface exercised -from pam_systemd. - -Since gdm-x-session and gdm-wayland-session spawn a dbus-daemon -unconditionally as part of session startup, users using kdbus end up with -two message buses per session. The extra bus gets in the way, confusing -programs and wasting resources. - -This commit changes gdm-x-session and gdm-wayland-session to check for -DBUS_SESSION_BUS_ADDRESS in the environment, and if set, skip spawning -a dbus-daemon based session bus. - -https://bugzilla.gnome.org/show_bug.cgi?id=750358 ---- - daemon/gdm-wayland-session.c | 8 ++++++++ - daemon/gdm-x-session.c | 8 ++++++++ - 2 files changed, 16 insertions(+) - -diff --git a/daemon/gdm-wayland-session.c b/daemon/gdm-wayland-session.c -index b2f3808..b6eccc2 100644 ---- a/daemon/gdm-wayland-session.c -+++ b/daemon/gdm-wayland-session.c -@@ -95,6 +95,7 @@ spawn_bus (State *state, - GInputStream *input_stream = NULL; - GDataInputStream *data_stream = NULL; - GError *error = NULL; -+ const char *bus_env = NULL; - char *bus_address_fd_string = NULL; - char *bus_address = NULL; - gsize bus_address_size; -@@ -105,6 +106,13 @@ spawn_bus (State *state, - - g_debug ("Running session message bus"); - -+ bus_env = g_getenv ("DBUS_SESSION_BUS_ADDRESS"); -+ if (bus_env != NULL) { -+ g_debug ("session message bus already running, not starting another one"); -+ state->bus_address = g_strdup (bus_env); -+ return TRUE; -+ } -+ - ret = g_unix_open_pipe (pipe_fds, FD_CLOEXEC, &error); - - if (!ret) { -diff --git a/daemon/gdm-x-session.c b/daemon/gdm-x-session.c -index 3cc7d40..bcb884c 100644 ---- a/daemon/gdm-x-session.c -+++ b/daemon/gdm-x-session.c -@@ -367,6 +367,7 @@ spawn_bus (State *state, - GInputStream *input_stream = NULL; - GDataInputStream *data_stream = NULL; - GError *error = NULL; -+ const char *bus_env = NULL; - char *bus_address_fd_string; - char *bus_address = NULL; - gsize bus_address_size; -@@ -377,6 +378,13 @@ spawn_bus (State *state, - - g_debug ("Running session message bus"); - -+ bus_env = g_getenv ("DBUS_SESSION_BUS_ADDRESS"); -+ if (bus_env != NULL) { -+ g_debug ("session message bus already running, not starting another one"); -+ state->bus_address = g_strdup (bus_env); -+ return TRUE; -+ } -+ - ret = g_unix_open_pipe (pipe_fds, FD_CLOEXEC, &error); - - if (!ret) { --- -2.4.4 - Modified: PKGBUILD =================================================================== --- PKGBUILD 2015-07-02 14:13:46 UTC (rev 241707) +++ PKGBUILD 2015-07-02 14:47:11 UTC (rev 241708) @@ -4,8 +4,8 @@ pkgbase=gdm pkgname=(gdm libgdm) -pkgver=3.16.1.1 -pkgrel=3 +pkgver=3.16.2 +pkgrel=1 pkgdesc="Gnome Display Manager" arch=(i686 x86_64) license=(GPL) @@ -15,14 +15,10 @@ checkdepends=('check') source=(http://ftp.gnome.org/pub/gnome/sources/$pkgbase/${pkgver:0:4}/$pkgbase-$pkgver.tar.xz 0001-Add-Arch-Linux-PAM-config-files.patch - 0002-Xsession-Don-t-start-ssh-agent-by-default.patch - 0003-manager-fix-monitor-hotplug-segfault.patch - 0004-gdm-x-wayland-session-don-t-start-dbus-daemon-if-unn.patch) -sha256sums=('2d2409fdc0a53b080377730a7775bc3239f8584829ff327d3465def0b20433db' - 'c1e5aec336ff14a74224b4aa76173e2b40e281431dc299ac991ad550d6cd7f0e' - 'f16effe4d9f015ebf3582e1bdedeaa9b85939d6d1a2aafae250c2a0dcbd6ae3e' - 'e22311e3c690b7127f01cad221cd1626848dbaae283aedc4f9897e2a3c8052e2' - '553dc302b1d8b695a77fcff31ff28867a6eddf1e0775995a922a109225b07711') + 0002-Xsession-Don-t-start-ssh-agent-by-default.patch) +sha256sums=('c32ee80745424da10b94b7216efc2ef1257e2ca63d7f003edc1801f1111e1b56' + 'b8a766de258520e9f9079ce50db5a80c9a22fd4e2813359e9f34f7c29e723912' + '9449da0b6ee58aa3fde65e6d8d1f30513e4176a7dc6d176f17f320ce82cb1d82') prepare() { cd $pkgbase-$pkgver @@ -29,8 +25,6 @@ patch -Np1 -i ../0001-Add-Arch-Linux-PAM-config-files.patch patch -Np1 -i ../0002-Xsession-Don-t-start-ssh-agent-by-default.patch - patch -Np1 -i ../0003-manager-fix-monitor-hotplug-segfault.patch - patch -Np1 -i ../0004-gdm-x-wayland-session-don-t-start-dbus-daemon-if-unn.patch AUTOPOINT='intltoolize --automake -c' autoreconf -fi }
