Hello community,

here is the log from the commit of package lightdm for openSUSE:Factory checked 
in at 2018-07-06 10:44:11
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/lightdm (Old)
 and      /work/SRC/openSUSE:Factory/.lightdm.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "lightdm"

Fri Jul  6 10:44:11 2018 rev:97 rq:620940 version:1.26.0

Changes:
--------
--- /work/SRC/openSUSE:Factory/lightdm/lightdm.changes  2018-03-18 
21:45:15.844807104 +0100
+++ /work/SRC/openSUSE:Factory/.lightdm.new/lightdm.changes     2018-07-06 
10:44:18.339089770 +0200
@@ -1,0 +2,18 @@
+Thu Apr 12 14:19:31 UTC 2018 - [email protected]
+
+- Update to version 1.26.0:
+  * Fix build system to require C99.
+  * Support moc being called moc-qt5.
+  * Fail configure if MOC can't be found.
+  * Use AccountsService extension system for extended greeter
+    information.
+  * Fix incorrect use of ConsoleKit CanSuspend/Hibernate API.
+  * Use standard format for arguments passed to qtchooser.
+  * Modernise code style.
+- Rebase lightdm-disable-utmp-handling.patch,
+  lightdm-set-gdmflexiserver-envvar.patch,
+  lightdm-sysconfig-support.patch,
+  lightdm-xauthlocalhostname-support.patch.
+- Rename and rebase lightdm-ignore-known-symlink-sessions.patch.
+
+-------------------------------------------------------------------

Old:
----
  ignore-known-symlink-sessions.patch
  lightdm-1.24.1.tar.xz

New:
----
  lightdm-1.26.0.tar.xz
  lightdm-ignore-known-symlink-sessions.patch

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ lightdm.spec ++++++
--- /var/tmp/diff_new_pack.aCNH2H/_old  2018-07-06 10:44:19.527088356 +0200
+++ /var/tmp/diff_new_pack.aCNH2H/_new  2018-07-06 10:44:19.531088351 +0200
@@ -27,7 +27,7 @@
 %define typelibname     typelib-1_0-LightDM-1
 %define rundir          /run
 Name:           lightdm
-Version:        1.24.1
+Version:        1.26.0
 Release:        0
 Summary:        Lightweight, Cross-desktop Display Manager
 License:        GPL-3.0-or-later
@@ -50,7 +50,7 @@
 # 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 ignore-known-symlink-sessions.patch boo#1030873 -- Ignore 
known synlink sessions.
-Patch5:         ignore-known-symlink-sessions.patch
+Patch5:         lightdm-ignore-known-symlink-sessions.patch
 BuildRequires:  autoconf
 BuildRequires:  automake
 BuildRequires:  gcc-c++
@@ -303,6 +303,11 @@
 %{_libexecdir}/X11/displaymanagers/default-displaymanager
 %ghost %{_sysconfdir}/alternatives/default-displaymanager
 %{_datadir}/lightdm/
+%dir %{_datadir}/accountsservice/
+%dir %{_datadir}/accountsservice/interfaces/
+%{_datadir}/accountsservice/interfaces/org.freedesktop.DisplayManager.AccountsService.xml
+%{_datadir}/dbus-1/interfaces/org.freedesktop.DisplayManager.AccountsService.xml
+%{_datadir}/polkit-1/actions/org.freedesktop.DisplayManager.AccountsService.policy
 %dir %{_datadir}/bash-completion/
 %dir %{_datadir}/bash-completion/completions/
 %{_datadir}/bash-completion/completions/dm-tool

++++++ lightdm-1.24.1.tar.xz -> lightdm-1.26.0.tar.xz ++++++
++++ 25369 lines of diff (skipped)

++++++ lightdm-disable-utmp-handling.patch ++++++
--- /var/tmp/diff_new_pack.aCNH2H/_old  2018-07-06 10:44:19.859087961 +0200
+++ /var/tmp/diff_new_pack.aCNH2H/_new  2018-07-06 10:44:19.863087956 +0200
@@ -1,5 +1,5 @@
-# HG changeset patch
-# Parent ce2ab1b9285a9408ec9673b555b398c2af18de62
+# git changeset patch
+# Parent e4be60aa2d0234c4c8714033287e482e5673b18c
 disable utmp handling since this is handled in the Xstartup/Xreset scripts
 
 --- a/src/session-child.c
@@ -15,7 +15,7 @@
  #include <sys/mman.h>
  
  #if HAVE_LIBAUDIT
-@@ -202,6 +204,7 @@ read_xauth (void)
+@@ -192,6 +194,7 @@ read_xauth (void)
      return x_authority_new (x_authority_family, x_authority_address, 
x_authority_address_length, x_authority_number, x_authority_name, 
x_authority_data, x_authority_data_length);
  }
  
@@ -23,7 +23,7 @@
  /* GNU provides this but we can't rely on that so let's make our own version 
*/
  static void
  updwtmpx (const gchar *wtmp_file, struct utmpx *ut)
-@@ -224,6 +227,7 @@ updwtmpx (const gchar *wtmp_file, struct
+@@ -213,6 +216,7 @@ updwtmpx (const gchar *wtmp_file, struct
  
      updwtmp (wtmp_file, &u);
  }
@@ -31,7 +31,7 @@
  
  #if HAVE_LIBAUDIT
  static void
-@@ -401,6 +405,7 @@ session_child_run (int argc, char **argv
+@@ -344,6 +348,7 @@ session_child_run (int argc, char **argv
          /* Write record to btmp database */
          if (authentication_result == PAM_AUTH_ERR)
          {
@@ -39,41 +39,44 @@
              struct utmpx ut;
              struct timeval tv;
  
-@@ -422,6 +427,8 @@ session_child_run (int argc, char **argv
+@@ -364,6 +369,7 @@ session_child_run (int argc, char **argv
+             ut.ut_tv.tv_usec = tv.tv_usec;
  
              updwtmpx ("/var/log/btmp", &ut);
- 
-+
 +#endif
+ 
  #if HAVE_LIBAUDIT
              audit_event (AUDIT_USER_LOGIN, username, -1, remote_host_name, 
tty, FALSE);
- #endif
-@@ -726,6 +733,7 @@ session_child_run (int argc, char **argv
+@@ -684,6 +690,7 @@ session_child_run (int argc, char **argv
+     /* Wait for the command to complete (blocks) */
+     if (child_pid > 0)
      {
-         int child_status;
- 
 +#if 0
          /* Log to utmp */
          if (g_strcmp0 (pam_getenv (pam_handle, "XDG_SESSION_CLASS"), 
"greeter") != 0)
          {
-@@ -759,14 +767,14 @@ session_child_run (int argc, char **argv
+@@ -711,11 +718,11 @@ session_child_run (int argc, char **argv
+                 g_printerr ("Failed to write utmpx: %s\n", strerror (errno));
+             endutxent ();
+             updwtmpx ("/var/log/wtmp", &ut);
+-
+ #if HAVE_LIBAUDIT
              audit_event (AUDIT_USER_LOGIN, username, uid, remote_host_name, 
tty, TRUE);
  #endif
          }
--
 +#endif
+ 
+         int child_status;
          waitpid (child_pid, &child_status, 0);
-         child_pid = 0;
-         if (WIFEXITED (child_status))
-             return_code = WEXITSTATUS (child_status);
+@@ -725,6 +732,7 @@ session_child_run (int argc, char **argv
          else
              return_code = EXIT_FAILURE;
--
+ 
 +#if 0
          /* Log to utmp */
          if (g_strcmp0 (pam_getenv (pam_handle, "XDG_SESSION_CLASS"), 
"greeter") != 0)
          {
-@@ -800,6 +808,7 @@ session_child_run (int argc, char **argv
+@@ -757,6 +765,7 @@ session_child_run (int argc, char **argv
              audit_event (AUDIT_USER_LOGOUT, username, uid, remote_host_name, 
tty, TRUE);
  #endif
          }

++++++ lightdm-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.

Special take needs to be taken care to map the default-session
hint passed to the greeter correctly. As symlinked sessions
are not available anymore, the target of those needs to be
passed as session name instead.

--- a/liblightdm-gobject/session.c
+++ b/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>
 
@@ -137,6 +141,23 @@ load_sessions_dir (GList *sessions, cons
 
         g_autofree gchar *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;
+        }
+
         g_autoptr(GKeyFile) key_file = g_key_file_new ();
         g_autoptr(GError) e = NULL;
         gboolean result = g_key_file_load_from_file (key_file, path, 
G_KEY_FILE_NONE, &e);
--- a/src/seat.c
+++ b/src/seat.c
@@ -9,6 +9,8 @@
  * license.
  */
 
+#define _GNU_SOURCE
+#include <libgen.h>
 #include <stdlib.h>
 #include <string.h>
 #include <sys/wait.h>
@@ -520,11 +522,87 @@ find_resettable_greeter (Seat *seat)
     return NULL;
 }
 
+/* Returns basename of the .desktop file at the specified path.
+ * Returned string needs to be g_free'd. */
+static char *
+desktop_basename (const char *path)
+{
+    if (!path)
+        return NULL;
+
+    char *filename = g_path_get_basename (path);
+    if (!filename)
+        return NULL;
+
+    unsigned int len = strlen(filename);
+    if (len >= 8) /* strlen(".desktop") */
+        filename[len - 8] = '\0';
+
+    return filename;
+}
+
+static char *
+find_session_file (Seat *seat, const char *sessions_dir, const char 
*session_name)
+{
+    char **dirs;
+    char *ret_path = NULL;
+    int i;
+
+    g_return_val_if_fail (sessions_dir != NULL, NULL);
+    g_return_val_if_fail (session_name != NULL, NULL);
+
+    dirs = g_strsplit (sessions_dir, ":", -1);
+    for (i = 0; dirs[i]; i++)
+    {
+        g_autofree char *filename;
+        char *path;
+
+        filename = g_strdup_printf ("%s.desktop", session_name);
+        path = g_build_filename (dirs[i], filename, NULL);
+        if (g_file_test (path, G_FILE_TEST_EXISTS))
+        {
+            ret_path = path;
+            break;
+        }
+        else
+            g_free (path);
+    }
+    g_strfreev (dirs);
+
+    return ret_path;
+}
+
 static void
 set_greeter_hints (Seat *seat, Greeter *greeter)
 {
     greeter_clear_hints (greeter);
-    greeter_set_hint (greeter, "default-session", seat_get_string_property 
(seat, "user-session"));
+
+    /* The user-session might be a symlink to the actual default-session. */
+    const char *user_session = seat_get_string_property (seat, "user-session");
+    char *default_session = NULL;
+
+    const char *sessions_dir = config_get_string (config_get_instance (), 
"LightDM", "sessions-directory");
+    g_autofree char *user_session_path = find_session_file (seat, 
sessions_dir, user_session);
+    if (g_file_test (user_session_path, G_FILE_TEST_IS_SYMLINK))
+    {
+        char *ltarget = canonicalize_file_name ((char*) user_session_path);
+
+        /* TODO: Check that the link target points into a valid session_dir. */
+
+        if (g_str_has_suffix (ltarget, ".desktop"))
+            default_session = desktop_basename (ltarget);
+
+        free(ltarget);
+    }
+
+    if (default_session)
+    {
+        greeter_set_hint (greeter, "default-session", default_session);
+        g_free (default_session);
+    }
+    else
+        greeter_set_hint (greeter, "default-session", user_session);
+
     greeter_set_hint (greeter, "hide-users", seat_get_boolean_property (seat, 
"greeter-hide-users") ? "true" : "false");
     greeter_set_hint (greeter, "show-manual-login", seat_get_boolean_property 
(seat, "greeter-show-manual-login") ? "true" : "false");
     greeter_set_hint (greeter, "show-remote-login", seat_get_boolean_property 
(seat, "greeter-show-remote-login") ? "true" : "false");
++++++ lightdm-set-gdmflexiserver-envvar.patch ++++++
--- /var/tmp/diff_new_pack.aCNH2H/_old  2018-07-06 10:44:19.895087918 +0200
+++ /var/tmp/diff_new_pack.aCNH2H/_new  2018-07-06 10:44:19.895087918 +0200
@@ -1,10 +1,8 @@
-set the GDMFLEXISERVER environment variable for the gdmflexiserver wrapper
+Set the GDMFLEXISERVER environment variable for the gdmflexiserver wrapper.
 
-Index: lightdm-1.17.3/src/Makefile.am
-===================================================================
---- lightdm-1.17.3.orig/src/Makefile.am
-+++ lightdm-1.17.3/src/Makefile.am
-@@ -79,6 +79,7 @@ lightdm_CFLAGS = \
+--- a/src/Makefile.am
++++ b/src/Makefile.am
+@@ -85,6 +85,7 @@ lightdm_CFLAGS = \
        $(WARN_CFLAGS) \
        $(LIGHTDM_CFLAGS) \
        -I"$(top_srcdir)/common" \
@@ -12,12 +10,10 @@
        -DSBIN_DIR=\"$(sbindir)\" \
        -DUSERS_DIR=\"$(localstatedir)/lib/lightdm-data\" \
        -DLOG_DIR=\"$(localstatedir)/log/lightdm\" \
-Index: lightdm-1.17.3/src/session-child.c
-===================================================================
---- lightdm-1.17.3.orig/src/session-child.c
-+++ lightdm-1.17.3/src/session-child.c
-@@ -655,6 +655,8 @@ session_child_run (int argc, char **argv
-         g_free (value);
+--- a/src/session-child.c
++++ b/src/session-child.c
+@@ -622,6 +622,8 @@ session_child_run (int argc, char **argv
+         pam_putenv (pam_handle, value);
      }
  
 +    pam_putenv (pam_handle, g_strdup_printf ("GDMFLEXISERVER=%s", 
PKGLIBEXEC_DIR "/gdmflexiserver"));

++++++ lightdm-sysconfig-support.patch ++++++
--- /var/tmp/diff_new_pack.aCNH2H/_old  2018-07-06 10:44:19.903087908 +0200
+++ /var/tmp/diff_new_pack.aCNH2H/_new  2018-07-06 10:44:19.907087903 +0200
@@ -1,7 +1,5 @@
-Index: lightdm-1.22.0/data/lightdm.conf
-===================================================================
---- lightdm-1.22.0.orig/data/lightdm.conf
-+++ lightdm-1.22.0/data/lightdm.conf
+--- a/data/lightdm.conf
++++ b/data/lightdm.conf
 @@ -1,3 +1,26 @@
 +# NOTE: settings under /etc/sysconfig take precendence over those below,
 +#       specifically:
@@ -29,10 +27,8 @@
  #
  # General configuration
  #
-Index: lightdm-1.22.0/src/lightdm.c
-===================================================================
---- lightdm-1.22.0.orig/src/lightdm.c
-+++ lightdm-1.22.0/src/lightdm.c
+--- a/src/lightdm.c
++++ b/src/lightdm.c
 @@ -22,6 +22,7 @@
  #include <errno.h>
  
@@ -41,7 +37,7 @@
  #include "display-manager.h"
  #include "display-manager-service.h"
  #include "xdmcp-server.h"
-@@ -50,6 +51,85 @@ static gint exit_code = EXIT_SUCCESS;
+@@ -52,6 +53,85 @@ static gint exit_code = EXIT_SUCCESS;
  
  static gboolean update_login1_seat (Login1Seat *login1_seat);
  
@@ -127,9 +123,9 @@
  static void
  log_cb (const gchar *log_domain, GLogLevelFlags log_level, const gchar 
*message, gpointer data)
  {
-@@ -933,6 +1013,9 @@ main (int argc, char **argv)
-         g_warning ("Failed to make cache directory %s: %s", dir, strerror 
(errno));
-     g_free (dir);
+@@ -837,6 +917,9 @@ main (int argc, char **argv)
+     if (g_mkdir_with_parents (cache_dir_path, S_IRWXU | S_IXGRP | S_IXOTH) < 
0)
+         g_warning ("Failed to make cache directory %s: %s", cache_dir_path, 
strerror (errno));
  
 +    /* Load sysconfig settings */
 +    config_load_sysconfig (config_get_instance ());
@@ -137,10 +133,8 @@
      log_init ();
  
      /* Show queued messages once logging is complete */
-Index: lightdm-1.22.0/src/Makefile.am
-===================================================================
---- lightdm-1.22.0.orig/src/Makefile.am
-+++ lightdm-1.22.0/src/Makefile.am
+--- a/src/Makefile.am
++++ b/src/Makefile.am
 @@ -77,7 +77,9 @@ lightdm_SOURCES = \
        xdmcp-server.h \
        xdmcp-session.c \
@@ -152,10 +146,8 @@
  
  lightdm_CFLAGS = \
        $(WARN_CFLAGS) \
-Index: lightdm-1.22.0/src/opensuse-sysconfig.c
-===================================================================
 --- /dev/null
-+++ lightdm-1.22.0/src/opensuse-sysconfig.c
++++ b/src/opensuse-sysconfig.c
 @@ -0,0 +1,380 @@
 +/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 8 -*-
 + *
@@ -537,10 +529,8 @@
 +        return boolean_value;
 +}
 +
-Index: lightdm-1.22.0/src/opensuse-sysconfig.h
-===================================================================
---- /dev/null
-+++ lightdm-1.22.0/src/opensuse-sysconfig.h
+--- a/src/opensuse-sysconfig.h
++++ b/src/opensuse-sysconfig.h
 @@ -0,0 +1,50 @@
 +/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 8 -*-
 + *
@@ -592,13 +582,11 @@
 +G_END_DECLS
 +
 +#endif /* __OPENSUSE_SYSCONFIG_H */
-Index: lightdm-1.22.0/src/seat.c
-===================================================================
---- lightdm-1.22.0.orig/src/seat.c
-+++ lightdm-1.22.0/src/seat.c
-@@ -1338,9 +1338,14 @@ create_greeter_session (Seat *seat)
+--- a/src/seat.c
++++ b/src/seat.c
+@@ -1222,9 +1222,14 @@ create_greeter_session (Seat *seat)
+     }
      session_set_argv (SESSION (greeter_session), argv);
-     g_strfreev (argv);
  
 -    greeter_set_pam_services (greeter,
 -                              seat_get_string_property (seat, "pam-service"),
@@ -614,7 +602,7 @@
      g_signal_connect (greeter, GREETER_SIGNAL_CREATE_SESSION, G_CALLBACK 
(greeter_create_session_cb), seat);
      g_signal_connect (greeter, GREETER_SIGNAL_START_SESSION, G_CALLBACK 
(greeter_start_session_cb), seat);
  
-@@ -1589,7 +1594,10 @@ seat_switch_to_user (Seat *seat, const g
+@@ -1459,7 +1464,10 @@ seat_switch_to_user (Seat *seat, const g
      /* Attempt to authenticate them */
      session = create_user_session (seat, username, FALSE);
      g_signal_connect (session, SESSION_SIGNAL_AUTHENTICATION_COMPLETE, 
G_CALLBACK (switch_authentication_complete_cb), seat);

++++++ lightdm-xauthlocalhostname-support.patch ++++++
--- /var/tmp/diff_new_pack.aCNH2H/_old  2018-07-06 10:44:19.915087894 +0200
+++ /var/tmp/diff_new_pack.aCNH2H/_new  2018-07-06 10:44:19.915087894 +0200
@@ -3,9 +3,9 @@
 
 --- a/src/seat-local.c
 +++ b/src/seat-local.c
-@@ -452,6 +452,7 @@ seat_local_run_script (Seat *seat, Displ
-         path = x_server_local_get_authority_file_path (x_server);
-         process_set_env (script, "DISPLAY", x_server_get_address (X_SERVER 
(x_server)));
+@@ -402,6 +402,7 @@ seat_local_run_script (Seat *seat, Displ
+         const gchar *path = x_server_local_get_authority_file_path 
(X_SERVER_LOCAL (display_server));
+         process_set_env (script, "DISPLAY", x_server_get_address (X_SERVER 
(display_server)));
          process_set_env (script, "XAUTHORITY", path);
 +        process_set_env (script, "XAUTHLOCALHOSTNAME", g_get_host_name ());
      }
@@ -13,14 +13,13 @@
      SEAT_CLASS (seat_local_parent_class)->run_script (seat, display_server, 
script);
 --- a/src/x-authority.c
 +++ b/src/x-authority.c
-@@ -70,9 +70,9 @@ x_authority_new_cookie (guint16 family,
+@@ -68,8 +68,8 @@ x_authority_new_cookie (guint16 family,
  XAuthority *
  x_authority_new_local_cookie (const gchar *number)
  {
 -    gchar hostname[1024];
-+    const gchar *hostname;
- 
 -    gethostname (hostname, 1024);
++    const gchar *hostname;
 +    hostname = g_get_host_name ();
      return x_authority_new_cookie (XAUTH_FAMILY_LOCAL, (guint8 *) hostname, 
strlen (hostname), number);
  }
@@ -35,7 +34,7 @@
  
  struct XServerPrivate
  {
-@@ -154,6 +155,8 @@ x_server_connect_session (DisplayServer
+@@ -151,6 +152,8 @@ x_server_connect_session (DisplayServer
      else
          l_debug (session, "Not setting XDG_VTNR");
  


Reply via email to