Hello community, here is the log from the commit of package lightdm for openSUSE:Factory checked in at 2017-05-22 10:46:40 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/lightdm (Old) and /work/SRC/openSUSE:Factory/.lightdm.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "lightdm" Mon May 22 10:46:40 2017 rev:91 rq:495571 version:1.22.0 Changes: -------- --- /work/SRC/openSUSE:Factory/lightdm/lightdm.changes 2017-04-06 11:03:24.364933652 +0200 +++ /work/SRC/openSUSE:Factory/.lightdm.new/lightdm.changes 2017-05-22 10:46:42.739435503 +0200 @@ -1,0 +2,8 @@ +Tue May 16 07:05:20 UTC 2017 - [email protected] + +- Add patch to support new autologin mechanism needed for the + role-based desktop selection (boo#1030873): + * ignore-known-symlink-sessions.patch +- Use "default" instead of "twm" as default session + +------------------------------------------------------------------- New: ---- ignore-known-symlink-sessions.patch ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ lightdm.spec ++++++ --- /var/tmp/diff_new_pack.PMkI5s/_old 2017-05-22 10:46:43.555320508 +0200 +++ /var/tmp/diff_new_pack.PMkI5s/_new 2017-05-22 10:46:43.559319945 +0200 @@ -51,6 +51,8 @@ Patch3: lightdm-disable-utmp-handling.patch # PATCH-FIX-OPENSUSE lightdm-use-run-dir.patch [email protected] -- Use /run instead of /var/run Patch4: lightdm-use-run-dir.patch +# PATCH-FIX-OPENSUSE +Patch5: ignore-known-symlink-sessions.patch BuildRequires: autoconf BuildRequires: automake BuildRequires: gcc-c++ @@ -173,6 +175,7 @@ %patch2 -p1 %patch3 -p1 %patch4 -p1 +%patch5 -p1 %build export MOC4='%{_bindir}/moc' @@ -181,7 +184,7 @@ %configure \ --disable-static \ --enable-gtk-doc \ - --with-user-session=twm \ + --with-user-session=default \ --with-greeter-session=lightdm-default-greeter \ --with-greeter-user=lightdm make %{?_smp_mflags} V=1 ++++++ ignore-known-symlink-sessions.patch ++++++ From: Fabian Vogt <[email protected]> Subject: Do not show symlinked session files more than once References: boo#1030873 If a session file is a symlink that points into the currently searched directory, ignore it. Index: lightdm-1.22.0/liblightdm-gobject/session.c =================================================================== --- lightdm-1.22.0.orig/liblightdm-gobject/session.c +++ lightdm-1.22.0/liblightdm-gobject/session.c @@ -8,6 +8,10 @@ * See http://www.gnu.org/copyleft/lgpl.html the full text of the license. */ +#define _GNU_SOURCE +#include <libgen.h> +#include <stdlib.h> + #include <string.h> #include <gio/gdesktopappinfo.h> @@ -162,6 +166,23 @@ load_sessions_dir (GList *sessions, cons path = g_build_filename (sessions_dir, filename, NULL); + /* Ignore symlinks that point to files we will visit manually later. */ + if (g_file_test (path, G_FILE_TEST_IS_SYMLINK)) + { + gboolean skip = FALSE; + + char *ltarget = canonicalize_file_name ((char*) path), + *ltarget_dir = ltarget == NULL ? NULL : dirname(ltarget); + + /* Link target is absolute -> compare with sessions_dir. */ + skip = g_strcmp0 (ltarget_dir, sessions_dir) == 0; + + free (ltarget); + + if (skip) + continue; + } + key_file = g_key_file_new (); result = g_key_file_load_from_file (key_file, path, G_KEY_FILE_NONE, &error); if (error)
