Hello community,

here is the log from the commit of package lightdm for openSUSE:Factory checked 
in at 2017-02-25 00:54:23
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/lightdm (Old)
 and      /work/SRC/openSUSE:Factory/.lightdm.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "lightdm"

Changes:
--------
--- /work/SRC/openSUSE:Factory/lightdm/lightdm.changes  2017-02-03 
17:49:08.683584106 +0100
+++ /work/SRC/openSUSE:Factory/.lightdm.new/lightdm.changes     2017-02-25 
00:54:24.404662372 +0100
@@ -1,0 +2,13 @@
+Thu Feb 23 13:13:21 UTC 2017 - sor.ale...@meowr.ru
+
+- Update to version 1.21.5 (changes since 1.21.3):
+  * Use power management functions from ConsoleKit2 if available.
+  * Correctly pass return value from sessions to LightDM.
+  * Retry VT_WAITACTIVE if we get EINTR.
+  * Ignore SIGHUP by default.
+  * Use SA_RESTART with SIGPIPE.
+  * liblightdm-qt: Use liblightdm-gobject power methods instead of
+    re-implementing in Qt.
+- Rebase lightdm-disable-utmp-handling.patch.
+
+-------------------------------------------------------------------

Old:
----
  lightdm-1.21.3.tar.xz
  lightdm-1.21.3.tar.xz.asc

New:
----
  lightdm-1.21.5.tar.xz
  lightdm-1.21.5.tar.xz.asc

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

Other differences:
------------------
++++++ lightdm.spec ++++++
--- /var/tmp/diff_new_pack.jxGnF0/_old  2017-02-25 00:54:26.036412019 +0100
+++ /var/tmp/diff_new_pack.jxGnF0/_new  2017-02-25 00:54:26.040411405 +0100
@@ -27,7 +27,7 @@
 %define typelibname     typelib-1_0-LightDM-1
 %define rundir          /run
 Name:           lightdm
-Version:        1.21.3
+Version:        1.21.5
 Release:        0
 Summary:        Lightweight, Cross-desktop Display Manager
 License:        GPL-3.0+

++++++ lightdm-1.21.3.tar.xz -> lightdm-1.21.5.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lightdm-1.21.3/NEWS new/lightdm-1.21.5/NEWS
--- old/lightdm-1.21.3/NEWS     2016-12-09 02:05:05.000000000 +0100
+++ new/lightdm-1.21.5/NEWS     2017-02-13 04:32:02.000000000 +0100
@@ -1,3 +1,13 @@
+Overview of changes in lightdm 1.21.4
+
+    * Use power management functions from ConsoleKit2 if available.
+    * Correctly pass return value from sessions to LightDM.
+    * Retry VT_WAITACTIVE if we get EINTR.
+    * Ignore SIGHUP by default.
+    * Use SA_RESTART with SIGPIPE.
+    * liblightdm-qt: Use liblightdm-gobject power methods instead of
+      re-implementing in Qt.
+
 Overview of changes in lightdm 1.21.3
 
     * Fix crashes introduced in 1.21.2 due to environment variable changes
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lightdm-1.21.3/configure new/lightdm-1.21.5/configure
--- old/lightdm-1.21.3/configure        2016-12-09 02:05:22.000000000 +0100
+++ new/lightdm-1.21.5/configure        2017-02-22 00:30:31.000000000 +0100
@@ -1,6 +1,6 @@
 #! /bin/sh
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.69 for lightdm 1.21.3.
+# Generated by GNU Autoconf 2.69 for lightdm 1.21.5.
 #
 #
 # Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc.
@@ -587,8 +587,8 @@
 # Identity of this package.
 PACKAGE_NAME='lightdm'
 PACKAGE_TARNAME='lightdm'
-PACKAGE_VERSION='1.21.3'
-PACKAGE_STRING='lightdm 1.21.3'
+PACKAGE_VERSION='1.21.5'
+PACKAGE_STRING='lightdm 1.21.5'
 PACKAGE_BUGREPORT=''
 PACKAGE_URL=''
 
@@ -1487,7 +1487,7 @@
   # Omit some internal or obsolete options to make the list less imposing.
   # This message is too long to be a string in the A/UX 3.1 sh.
   cat <<_ACEOF
-\`configure' configures lightdm 1.21.3 to adapt to many kinds of systems.
+\`configure' configures lightdm 1.21.5 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -1558,7 +1558,7 @@
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of lightdm 1.21.3:";;
+     short | recursive ) echo "Configuration of lightdm 1.21.5:";;
    esac
   cat <<\_ACEOF
 
@@ -1736,7 +1736,7 @@
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-lightdm configure 1.21.3
+lightdm configure 1.21.5
 generated by GNU Autoconf 2.69
 
 Copyright (C) 2012 Free Software Foundation, Inc.
@@ -2222,7 +2222,7 @@
 This file contains any messages produced by compilers while
 running configure, to aid debugging if configure makes a mistake.
 
-It was created by lightdm $as_me 1.21.3, which was
+It was created by lightdm $as_me 1.21.5, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   $ $0 $@
@@ -3088,7 +3088,7 @@
 
 # Define the identity of the package.
  PACKAGE='lightdm'
- VERSION='1.21.3'
+ VERSION='1.21.5'
 
 
 cat >>confdefs.h <<_ACEOF
@@ -19884,7 +19884,7 @@
 # report actual input values of CONFIG_FILES etc. instead of their
 # values after options handling.
 ac_log="
-This file was extended by lightdm $as_me 1.21.3, which was
+This file was extended by lightdm $as_me 1.21.5, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -19950,7 +19950,7 @@
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; 
s/[\\""\`\$]/\\\\&/g'`"
 ac_cs_version="\\
-lightdm config.status 1.21.3
+lightdm config.status 1.21.5
 configured by $0, generated by GNU Autoconf 2.69,
   with options \\"\$ac_cs_config\\"
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lightdm-1.21.3/configure.ac 
new/lightdm-1.21.5/configure.ac
--- old/lightdm-1.21.3/configure.ac     2016-12-09 02:04:38.000000000 +0100
+++ new/lightdm-1.21.5/configure.ac     2017-02-22 00:30:09.000000000 +0100
@@ -1,6 +1,6 @@
 dnl Process this file with autoconf to produce a configure script.
 
-AC_INIT(lightdm, 1.21.3)
+AC_INIT(lightdm, 1.21.5)
 AC_CONFIG_MACRO_DIR(m4)
 AC_CONFIG_HEADER(config.h)
 AM_INIT_AUTOMAKE([1.11 no-dist-gzip dist-xz foreign])
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lightdm-1.21.3/doc/Makefile.in 
new/lightdm-1.21.5/doc/Makefile.in
--- old/lightdm-1.21.3/doc/Makefile.in  2016-12-09 02:05:23.000000000 +0100
+++ new/lightdm-1.21.5/doc/Makefile.in  2017-02-22 00:30:31.000000000 +0100
@@ -722,6 +722,7 @@
          if test -f $(abs_builddir)/$$file ; then \
            cp $(abs_builddir)/$$file $(abs_builddir)/html; \
          fi; \
+         test -f $$file && cp $$file $(abs_builddir)/html; \
        done;
        $(GTK_DOC_V_XREF)gtkdoc-fixxref --module=$(DOC_MODULE) 
--module-dir=html --html-dir=$(HTML_DIR) $(FIXXREF_OPTIONS)
        $(AM_V_at)touch html-build.stamp
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lightdm-1.21.3/gtk-doc.make 
new/lightdm-1.21.5/gtk-doc.make
--- old/lightdm-1.21.3/gtk-doc.make     2016-12-09 02:05:14.000000000 +0100
+++ new/lightdm-1.21.5/gtk-doc.make     2017-02-22 00:30:25.000000000 +0100
@@ -196,6 +196,7 @@
          if test -f $(abs_builddir)/$$file ; then \
            cp $(abs_builddir)/$$file $(abs_builddir)/html; \
          fi; \
+         test -f $$file && cp $$file $(abs_builddir)/html; \
        done;
        $(GTK_DOC_V_XREF)gtkdoc-fixxref --module=$(DOC_MODULE) 
--module-dir=html --html-dir=$(HTML_DIR) $(FIXXREF_OPTIONS)
        $(AM_V_at)touch html-build.stamp
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lightdm-1.21.3/liblightdm-gobject/power.c 
new/lightdm-1.21.5/liblightdm-gobject/power.c
--- old/lightdm-1.21.3/liblightdm-gobject/power.c       2016-11-02 
08:34:51.000000000 +0100
+++ new/lightdm-1.21.5/liblightdm-gobject/power.c       2017-01-12 
00:56:40.000000000 +0100
@@ -84,6 +84,36 @@
     return r;
 }
 
+static GVariant *
+ck_call_function (const gchar *function, GVariant *parameters, GError **error)
+{
+    GVariant *r;
+
+    if (!ck_proxy)
+    {
+        ck_proxy = g_dbus_proxy_new_for_bus_sync (G_BUS_TYPE_SYSTEM,
+                                                  G_DBUS_PROXY_FLAGS_NONE,
+                                                  NULL,
+                                                  "org.freedesktop.ConsoleKit",
+                                                  
"/org/freedesktop/ConsoleKit/Manager",
+                                                  
"org.freedesktop.ConsoleKit.Manager",
+                                                  NULL,
+                                                  error);
+        if (!ck_proxy)
+            return FALSE;
+    }
+
+    r = g_dbus_proxy_call_sync (ck_proxy,
+                                function,
+                                parameters,
+                                G_DBUS_CALL_FLAGS_NONE,
+                                -1,
+                                NULL,
+                                error);
+
+    return r;
+}
+
 /**
  * lightdm_get_can_suspend:
  *
@@ -107,7 +137,13 @@
             can_suspend = g_strcmp0 (result, "yes") == 0;
         }
     }
-    else
+    if (!r)
+    {
+        r = ck_call_function ("CanSuspend", NULL, NULL);
+        if (r && g_variant_is_of_type (r, G_VARIANT_TYPE ("(b)")))
+            g_variant_get (r, "(b)", &can_suspend);
+    }
+    if (!r)
     {
         r = upower_call_function ("SuspendAllowed", NULL);
         if (r && g_variant_is_of_type (r, G_VARIANT_TYPE ("(b)")))
@@ -137,7 +173,14 @@
     if (!result)
     {
         if (error)
-            g_debug ("Can't suspend using logind; falling back to UPower: %s", 
(*error)->message);
+            g_debug ("Can't suspend using logind; falling back to ConsoleKit: 
%s", (*error)->message);
+        g_clear_error (error);
+        result = ck_call_function ("Suspend", g_variant_new ("(b)", FALSE), 
error);
+    }
+    if (!result)
+    {
+        if (error)
+            g_debug ("Can't suspend using logind or ConsoleKit; falling back 
to UPower: %s", (*error)->message);
         g_clear_error (error);
         result = upower_call_function ("Suspend", error);
     }
@@ -172,7 +215,13 @@
             can_hibernate = g_strcmp0 (result, "yes") == 0;
         }
     }
-    else
+    if (!r)
+    {
+        r = ck_call_function ("CanHibernate", NULL, NULL);
+        if (r && g_variant_is_of_type (r, G_VARIANT_TYPE ("(b)")))
+            g_variant_get (r, "(b)", &can_hibernate);
+    }
+    if (!r)
     {
         r = upower_call_function ("HibernateAllowed", NULL);
         if (r && g_variant_is_of_type (r, G_VARIANT_TYPE ("(b)")))
@@ -202,7 +251,14 @@
     if (!result)
     {
         if (error)
-            g_debug ("Can't hibernate using logind; falling back to UPower: 
%s", (*error)->message);
+            g_debug ("Can't hibernate using logind; falling back to 
ConsoleKit: %s", (*error)->message);
+        g_clear_error (error);
+        result = ck_call_function ("Hibernate", g_variant_new ("(b)", FALSE), 
error);
+    }
+    if (!result)
+    {
+        if (error)
+            g_debug ("Can't hibernate using logind or ConsoleKit; falling back 
to UPower: %s", (*error)->message);
         g_clear_error (error);
         result = upower_call_function ("Hibernate", error);
     }
@@ -214,36 +270,6 @@
     return hibernated;
 }
 
-static GVariant *
-ck_call_function (const gchar *function, GError **error)
-{
-    GVariant *r;
-
-    if (!ck_proxy)
-    {
-        ck_proxy = g_dbus_proxy_new_for_bus_sync (G_BUS_TYPE_SYSTEM,
-                                                  G_DBUS_PROXY_FLAGS_NONE,
-                                                  NULL,
-                                                  "org.freedesktop.ConsoleKit",
-                                                  
"/org/freedesktop/ConsoleKit/Manager",
-                                                  
"org.freedesktop.ConsoleKit.Manager",
-                                                  NULL,
-                                                  error);
-        if (!ck_proxy)
-            return FALSE;
-    }
-
-    r = g_dbus_proxy_call_sync (ck_proxy,
-                                function,
-                                NULL,
-                                G_DBUS_CALL_FLAGS_NONE,
-                                -1,
-                                NULL,
-                                error);
-
-    return r;
-}
-
 /**
  * lightdm_get_can_restart:
  *
@@ -269,7 +295,7 @@
     }
     else
     {
-        r = ck_call_function ("CanRestart", NULL);
+        r = ck_call_function ("CanRestart", NULL, NULL);
         if (r && g_variant_is_of_type (r, G_VARIANT_TYPE ("(b)")))
             g_variant_get (r, "(b)", &can_restart);
     }
@@ -297,7 +323,7 @@
     if (!r)
     {
         g_clear_error (error);
-        r = ck_call_function ("Restart", error);
+        r = ck_call_function ("Restart", NULL, error);
     }
     restarted = r != NULL;
     if (r)
@@ -331,7 +357,7 @@
     }
     else
     {
-        r = ck_call_function ("CanStop", NULL);
+        r = ck_call_function ("CanStop", NULL, NULL);
         if (r && g_variant_is_of_type (r, G_VARIANT_TYPE ("(b)")))
             g_variant_get (r, "(b)", &can_shutdown);
     }
@@ -359,7 +385,7 @@
     if (!r)
     {
         g_clear_error (error);
-        r = ck_call_function ("Stop", error);
+        r = ck_call_function ("Stop", NULL, error);
     }
     shutdown = r != NULL;
     if (r)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lightdm-1.21.3/liblightdm-qt/power.cpp 
new/lightdm-1.21.5/liblightdm-qt/power.cpp
--- old/lightdm-1.21.3/liblightdm-qt/power.cpp  2015-08-10 01:30:00.000000000 
+0200
+++ new/lightdm-1.21.5/liblightdm-qt/power.cpp  2017-01-12 01:10:42.000000000 
+0100
@@ -12,12 +12,7 @@
 
 #include "QLightDM/power.h"
 
-#include <QtCore/QVariant>
-#include <QtDBus/QDBusInterface>
-#include <QtDBus/QDBusReply>
-#include <QDebug>
-
-#include "config.h"
+#include <lightdm.h>
 
 using namespace QLightDM;
 
@@ -25,15 +20,9 @@
 {
 public:
     PowerInterfacePrivate();
-    QScopedPointer<QDBusInterface> powerManagementInterface;
-    QScopedPointer<QDBusInterface> consoleKitInterface;
-    QScopedPointer<QDBusInterface> login1Interface;
 };
 
-PowerInterface::PowerInterfacePrivate::PowerInterfacePrivate() :
-    powerManagementInterface(new 
QDBusInterface("org.freedesktop.UPower","/org/freedesktop/UPower", 
"org.freedesktop.UPower", QDBusConnection::systemBus())),
-    consoleKitInterface(new QDBusInterface("org.freedesktop.ConsoleKit", 
"/org/freedesktop/ConsoleKit/Manager", "org.freedesktop.ConsoleKit.Manager", 
QDBusConnection::systemBus())),
-    login1Interface(new QDBusInterface("org.freedesktop.login1", 
"/org/freedesktop/login1", "org.freedesktop.login1.Manager", 
QDBusConnection::systemBus()))
+PowerInterface::PowerInterfacePrivate::PowerInterfacePrivate()
 {
 }
 
@@ -51,124 +40,42 @@
 
 bool PowerInterface::canSuspend()
 {
-    if (d->login1Interface->isValid())
-    {
-       QDBusReply<QString> reply = d->login1Interface->call("CanSuspend");
-       if (reply.isValid())
-       {
-           return reply.value() == "yes";
-       }
-    }
-
-    qWarning() << d->login1Interface->lastError();
-
-    QDBusReply<bool> reply = 
d->powerManagementInterface->call("SuspendAllowed");
-    if (reply.isValid()) {
-        return reply.value();
-    }
-    else {
-        return false;
-    }
+    return lightdm_get_can_suspend ();
 }
 
 bool PowerInterface::suspend()
 {
-    QDBusReply<void> reply;
-    if (d->login1Interface->isValid())
-        reply = d->login1Interface->call("Suspend", false);
-    else
-        reply = d->powerManagementInterface->call("Suspend");
-
-    return reply.isValid ();
+    return lightdm_suspend (NULL);
 }
 
 bool PowerInterface::canHibernate()
 {
-    if (d->login1Interface->isValid())
-    {
-        QDBusReply<QString> reply = d->login1Interface->call("CanHibernate");
-        if (reply.isValid())
-        {
-            return reply.value() == "yes";
-        }
-    }
-
-    qWarning() << d->login1Interface->lastError();
-
-    QDBusReply<bool> reply = 
d->powerManagementInterface->call("HibernateAllowed");
-    if (reply.isValid()) {
-        return reply.value();
-    }
-    else {
-        return false;
-    }
+    return lightdm_get_can_hibernate ();
 }
 
 bool PowerInterface::hibernate()
 {
-    QDBusReply<void> reply;
-    if (d->login1Interface->isValid())
-        reply = d->login1Interface->call("Hibernate", false);
-    else
-        reply = d->powerManagementInterface->call("Hibernate");
-
-    return reply.isValid ();
+    return lightdm_hibernate (NULL);  
 }
 
 bool PowerInterface::canShutdown()
 {
-    if (d->login1Interface->isValid()) {
-        QDBusReply<QString> reply1 = d->login1Interface->call("CanPowerOff");
-        if (reply1.isValid()) {
-            return reply1.value() == "yes";
-        }
-    }
-    qWarning() << d->login1Interface->lastError();
-
-    QDBusReply<bool> reply = d->consoleKitInterface->call("CanStop");
-    if (reply.isValid()) {
-        return reply.value();
-    }
-
-    return false;
+    return lightdm_get_can_shutdown ();
 }
 
 bool PowerInterface::shutdown()
 {
-    QDBusReply<void> reply;
-    if (d->login1Interface->isValid())
-        reply = d->login1Interface->call("PowerOff", false);
-    else
-        reply = d->consoleKitInterface->call("Stop");
-    return reply.isValid();
+    return lightdm_shutdown (NULL);
 }
 
 bool PowerInterface::canRestart()
 {
-    if (d->login1Interface->isValid()) {
-        QDBusReply<QString> reply1 = d->login1Interface->call("CanReboot");
-        if (reply1.isValid()) {
-            return reply1.value() == "yes";
-        }
-    }
-    qWarning() << d->login1Interface->lastError();
-
-    QDBusReply<bool> reply = d->consoleKitInterface->call("CanRestart");
-    if (reply.isValid()) {
-        return reply.value();
-    }
-
-    return false;
+    return lightdm_get_can_restart ();
 }
 
 bool PowerInterface::restart()
 {
-    QDBusReply<void> reply;
-    if (d->login1Interface->isValid())
-        reply = d->login1Interface->call("Reboot", false);
-    else
-        reply = d->consoleKitInterface->call("Restart");
-    return reply.isValid();
+    return lightdm_restart (NULL);
 }
 
 #if QT_VERSION >= QT_VERSION_CHECK(5, 0, 0)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lightdm-1.21.3/src/lightdm.c 
new/lightdm-1.21.5/src/lightdm.c
--- old/lightdm-1.21.3/src/lightdm.c    2016-12-07 03:20:55.000000000 +0100
+++ new/lightdm-1.21.5/src/lightdm.c    2017-01-27 00:04:43.000000000 +0100
@@ -597,6 +597,7 @@
 int
 main (int argc, char **argv)
 {
+    struct sigaction action;
     FILE *pid_file;
     GOptionContext *option_context;
     gboolean result;
@@ -645,10 +646,15 @@
     GError *error = NULL;
 
     /* Disable the SIGPIPE handler - this is a stupid Unix hangover behaviour.
-     * We will handle piples / sockets being closed instead of having the 
whole daemon be killed...
+     * We will handle pipes / sockets being closed instead of having the whole 
daemon be killed...
      * http://stackoverflow.com/questions/8369506/why-does-sigpipe-exist
+     * Similar case for SIGHUP.
      */
-    signal (SIGPIPE, SIG_IGN);
+    action.sa_handler = SIG_IGN;
+    sigemptyset (&action.sa_mask);
+    action.sa_flags = SA_RESTART;
+    sigaction (SIGPIPE, &action, NULL);
+    sigaction (SIGHUP, &action, NULL);  
 
     /* When lightdm starts sessions it needs to run itself in a new mode */
     if (argc >= 2 && strcmp (argv[1], "--session-child") == 0)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lightdm-1.21.3/src/process.c 
new/lightdm-1.21.5/src/process.c
--- old/lightdm-1.21.3/src/process.c    2016-12-08 22:38:14.000000000 +0100
+++ new/lightdm-1.21.5/src/process.c    2017-01-26 23:04:26.000000000 +0100
@@ -461,7 +461,6 @@
     action.sa_flags = SA_SIGINFO | SA_RESTART;
     sigaction (SIGTERM, &action, NULL);
     sigaction (SIGINT, &action, NULL);
-    sigaction (SIGHUP, &action, NULL);
     sigaction (SIGUSR1, &action, NULL);
     sigaction (SIGUSR2, &action, NULL);
 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lightdm-1.21.3/src/session-child.c 
new/lightdm-1.21.5/src/session-child.c
--- old/lightdm-1.21.3/src/session-child.c      2016-10-19 14:20:14.000000000 
+0200
+++ new/lightdm-1.21.5/src/session-child.c      2017-01-26 22:11:24.000000000 
+0100
@@ -722,6 +722,8 @@
     /* Wait for the command to complete (blocks) */
     if (child_pid > 0)
     {
+        int child_status;
+
         /* Log to utmp */
         if (g_strcmp0 (pam_getenv (pam_handle, "XDG_SESSION_CLASS"), 
"greeter") != 0)
         {
@@ -756,8 +758,12 @@
 #endif
         }
 
-        waitpid (child_pid, &return_code, 0);
+        waitpid (child_pid, &child_status, 0);
         child_pid = 0;
+        if (WIFEXITED (child_status))
+            return_code = WEXITSTATUS (child_status);
+        else
+            return_code = EXIT_FAILURE;
 
         /* Log to utmp */
         if (g_strcmp0 (pam_getenv (pam_handle, "XDG_SESSION_CLASS"), 
"greeter") != 0)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lightdm-1.21.3/src/session.c 
new/lightdm-1.21.5/src/session.c
--- old/lightdm-1.21.3/src/session.c    2016-11-28 04:35:42.000000000 +0100
+++ new/lightdm-1.21.5/src/session.c    2017-02-21 23:45:54.000000000 +0100
@@ -913,6 +913,10 @@
 {
     g_return_if_fail (session != NULL);
 
+    if (session->priv->stopping)
+        return;
+    session->priv->stopping = TRUE;
+
     /* Kill remaining processes in our logind session to avoid them leaking
      * to the user session (they share the same $DISPLAY) */
     if (getuid () == 0 && session->priv->login1_session_id)
@@ -936,10 +940,6 @@
         return;
     }
 
-    if (session->priv->stopping)
-        return;
-    session->priv->stopping = TRUE;
-
     return SESSION_GET_CLASS (session)->stop (session);
 }
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lightdm-1.21.3/src/vt.c new/lightdm-1.21.5/src/vt.c
--- old/lightdm-1.21.3/src/vt.c 2016-11-01 22:02:24.000000000 +0100
+++ new/lightdm-1.21.5/src/vt.c 2017-01-27 00:09:04.000000000 +0100
@@ -101,8 +101,17 @@
         /* Wait for the VT to become active to avoid a suspected
          * race condition somewhere between LightDM, X, ConsoleKit and the 
kernel.
          * See https://bugs.launchpad.net/bugs/851612 */
-        if (ioctl (tty_fd, VT_WAITACTIVE, n) < 0)
-            g_warning ("Error using VT_WAITACTIVE %d on /dev/tty0: %s", n, 
strerror (errno));
+        /* This call sometimes get interrupted (not sure what signal is 
causing it), so retry if that is the case */
+        while (TRUE)
+        {
+            if (ioctl (tty_fd, VT_WAITACTIVE, n) < 0) 
+            {
+                if (errno == EINTR)
+                    continue;
+                g_warning ("Error using VT_WAITACTIVE %d on /dev/tty0: %s", n, 
strerror (errno));
+            }
+            break;
+        }
 
         close (tty_fd);
     }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lightdm-1.21.3/tests/Makefile.am 
new/lightdm-1.21.5/tests/Makefile.am
--- old/lightdm-1.21.3/tests/Makefile.am        2016-12-07 03:32:53.000000000 
+0100
+++ new/lightdm-1.21.5/tests/Makefile.am        2017-02-13 04:35:09.000000000 
+0100
@@ -116,6 +116,7 @@
        test-login-remote-session-gobject \
        test-login-session-crash \
        test-login-xserver-crash \
+       test-login-greeter-return-failure \
        test-multiple-authenticate \
        test-xserver-no-share \
        test-home-dir-on-authenticate \
@@ -137,7 +138,7 @@
        test-upstart-autologin \
        test-upstart-login \
        test-dbus \
-       test-no-dbus \        
+       test-no-dbus \
        test-lock-seat \
        test-lock-seat-after-vt-switch \
        test-lock-seat-twice \
@@ -157,6 +158,7 @@
        test-switch-to-greeter-return-session \
        test-switch-to-greeter-return-session-pam \
        test-switch-to-greeter-return-session-logout \
+       test-switch-to-greeter-return-session-repeat \
        test-switch-to-guest \
        test-switch-to-guest-disabled \
        test-switch-to-guest-fail-resettable \
@@ -224,9 +226,10 @@
        test-no-login1 \
        test-no-console-kit-or-login1 \
        test-power-gobject \
-       test-power-no-console-kit-gobject \
-       test-power-no-login1-gobject \
-       test-power-no-services-gobject \
+       test-power-no-console-kit \
+       test-power-no-login1 \
+       test-power-no-login1-or-console-kit \
+       test-power-no-services \
        test-open-file-descriptors \
        test-xdmcp-server-open-file-descriptors \
        test-add-local-x-seat \
@@ -314,10 +317,7 @@
        test-login-remote-session-python \
        test-autologin-timeout-python \
        test-autologin-guest-timeout-python \
-       test-power-python \
-       test-power-no-console-kit-python \
-       test-power-no-login1-python \
-       test-power-no-services-python
+       test-power-python
 
 if COMPILE_LIBLIGHTDM_QT4
 TESTS += \
@@ -351,10 +351,7 @@
        test-login-remote-session-qt4 \
        test-sessions-qt4 \
        test-users-qt4 \
-       test-power-qt4 \
-       test-power-no-console-kit-qt4 \
-       test-power-no-login1-qt4 \
-       test-power-no-services-qt4
+       test-power-qt4
 endif
 
 if COMPILE_LIBLIGHTDM_QT5
@@ -389,10 +386,7 @@
        test-login-remote-session-qt5 \
        test-sessions-qt5 \
        test-users-qt5 \
-       test-power-qt5 \
-       test-power-no-console-kit-qt5 \
-       test-power-no-login1-qt5 \
-       test-power-no-services-qt5
+       test-power-qt5
 endif
 
 EXTRA_DIST = \
@@ -495,6 +489,7 @@
        scripts/login1-terminate.conf \
        scripts/login.conf \
        scripts/login-crash-authenticate.conf \
+       scripts/login-greeter-return-failure.conf \
        scripts/login-guest.conf \
        scripts/login-guest-disabled.conf \
        scripts/login-guest-fail-setup-script.conf \
@@ -555,6 +550,7 @@
        scripts/power-no-console-kit.conf \
        scripts/power-no-services.conf \
        scripts/power-no-login1.conf \
+       scripts/power-no-login1-or-console-kit.conf \
        scripts/plymouth-active-vt.conf \
        scripts/plymouth-inactive-vt.conf \
        scripts/plymouth-no-seat.conf \
@@ -595,6 +591,7 @@
        scripts/switch-to-greeter-return-session.conf \
        scripts/switch-to-greeter-return-session-logout.conf \
        scripts/switch-to-greeter-return-session-pam.conf \
+       scripts/switch-to-greeter-return-session-repeat.conf \
        scripts/switch-to-guest.conf \
        scripts/switch-to-guest-disabled.conf \
        scripts/switch-to-guest-fail-resettable.conf \
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lightdm-1.21.3/tests/Makefile.in 
new/lightdm-1.21.5/tests/Makefile.in
--- old/lightdm-1.21.3/tests/Makefile.in        2016-12-09 02:05:23.000000000 
+0100
+++ new/lightdm-1.21.5/tests/Makefile.in        2017-02-22 00:30:32.000000000 
+0100
@@ -118,10 +118,7 @@
 @COMPILE_LIBLIGHTDM_QT4_TRUE@  test-login-remote-session-qt4 \
 @COMPILE_LIBLIGHTDM_QT4_TRUE@  test-sessions-qt4 \
 @COMPILE_LIBLIGHTDM_QT4_TRUE@  test-users-qt4 \
-@COMPILE_LIBLIGHTDM_QT4_TRUE@  test-power-qt4 \
-@COMPILE_LIBLIGHTDM_QT4_TRUE@  test-power-no-console-kit-qt4 \
-@COMPILE_LIBLIGHTDM_QT4_TRUE@  test-power-no-login1-qt4 \
-@COMPILE_LIBLIGHTDM_QT4_TRUE@  test-power-no-services-qt4
+@COMPILE_LIBLIGHTDM_QT4_TRUE@  test-power-qt4
 
 @COMPILE_LIBLIGHTDM_QT5_TRUE@am__append_2 = \
 @COMPILE_LIBLIGHTDM_QT5_TRUE@  test-autologin-timeout-qt5 \
@@ -154,10 +151,7 @@
 @COMPILE_LIBLIGHTDM_QT5_TRUE@  test-login-remote-session-qt5 \
 @COMPILE_LIBLIGHTDM_QT5_TRUE@  test-sessions-qt5 \
 @COMPILE_LIBLIGHTDM_QT5_TRUE@  test-users-qt5 \
-@COMPILE_LIBLIGHTDM_QT5_TRUE@  test-power-qt5 \
-@COMPILE_LIBLIGHTDM_QT5_TRUE@  test-power-no-console-kit-qt5 \
-@COMPILE_LIBLIGHTDM_QT5_TRUE@  test-power-no-login1-qt5 \
-@COMPILE_LIBLIGHTDM_QT5_TRUE@  test-power-no-services-qt5
+@COMPILE_LIBLIGHTDM_QT5_TRUE@  test-power-qt5
 
 subdir = tests
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
@@ -723,11 +717,12 @@
        test-login-guest-fail-setup-script-gobject \
        test-login-guest-logout-gobject \
        test-login-remote-session-gobject test-login-session-crash \
-       test-login-xserver-crash test-multiple-authenticate \
-       test-xserver-no-share test-home-dir-on-authenticate \
-       test-home-dir-on-session test-plymouth-active-vt \
-       test-plymouth-inactive-vt test-plymouth-no-seat \
-       test-script-hooks test-script-hook-display-setup-fail \
+       test-login-xserver-crash test-login-greeter-return-failure \
+       test-multiple-authenticate test-xserver-no-share \
+       test-home-dir-on-authenticate test-home-dir-on-session \
+       test-plymouth-active-vt test-plymouth-inactive-vt \
+       test-plymouth-no-seat test-script-hooks \
+       test-script-hook-display-setup-fail \
        test-script-hook-display-setup-missing \
        test-script-hook-greeter-setup-fail \
        test-script-hook-greeter-setup-missing \
@@ -750,6 +745,7 @@
        test-switch-to-greeter-return-session \
        test-switch-to-greeter-return-session-pam \
        test-switch-to-greeter-return-session-logout \
+       test-switch-to-greeter-return-session-repeat \
        test-switch-to-guest test-switch-to-guest-disabled \
        test-switch-to-guest-fail-resettable test-switch-to-user \
        test-switch-to-user-disabled test-switch-to-user-no-password \
@@ -794,8 +790,9 @@
        test-console-kit-no-xdg-runtime test-no-console-kit \
        test-login1-terminate test-no-login1 \
        test-no-console-kit-or-login1 test-power-gobject \
-       test-power-no-console-kit-gobject test-power-no-login1-gobject \
-       test-power-no-services-gobject test-open-file-descriptors \
+       test-power-no-console-kit test-power-no-login1 \
+       test-power-no-login1-or-console-kit test-power-no-services \
+       test-open-file-descriptors \
        test-xdmcp-server-open-file-descriptors test-add-local-x-seat \
        test-multi-seat test-multi-seat-login \
        test-multi-seat-autologin-seat0 \
@@ -846,8 +843,7 @@
        test-login-guest-logout-python \
        test-login-remote-session-python test-autologin-timeout-python \
        test-autologin-guest-timeout-python test-power-python \
-       test-power-no-console-kit-python test-power-no-login1-python \
-       test-power-no-services-python $(am__append_1) $(am__append_2)
+       $(am__append_1) $(am__append_2)
 EXTRA_DIST = \
        $(TESTS) \
        data/remote-sessions/test-remote.desktop \
@@ -948,6 +944,7 @@
        scripts/login1-terminate.conf \
        scripts/login.conf \
        scripts/login-crash-authenticate.conf \
+       scripts/login-greeter-return-failure.conf \
        scripts/login-guest.conf \
        scripts/login-guest-disabled.conf \
        scripts/login-guest-fail-setup-script.conf \
@@ -1008,6 +1005,7 @@
        scripts/power-no-console-kit.conf \
        scripts/power-no-services.conf \
        scripts/power-no-login1.conf \
+       scripts/power-no-login1-or-console-kit.conf \
        scripts/plymouth-active-vt.conf \
        scripts/plymouth-inactive-vt.conf \
        scripts/plymouth-no-seat.conf \
@@ -1048,6 +1046,7 @@
        scripts/switch-to-greeter-return-session.conf \
        scripts/switch-to-greeter-return-session-logout.conf \
        scripts/switch-to-greeter-return-session-pam.conf \
+       scripts/switch-to-greeter-return-session-repeat.conf \
        scripts/switch-to-guest.conf \
        scripts/switch-to-guest-disabled.conf \
        scripts/switch-to-guest-fail-resettable.conf \
@@ -2230,6 +2229,13 @@
        --log-file $$b.log --trs-file $$b.trs \
        $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) 
-- $(LOG_COMPILE) \
        "$$tst" $(AM_TESTS_FD_REDIRECT)
+test-login-greeter-return-failure.log: test-login-greeter-return-failure
+       @p='test-login-greeter-return-failure'; \
+       b='test-login-greeter-return-failure'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) 
-- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
 test-multiple-authenticate.log: test-multiple-authenticate
        @p='test-multiple-authenticate'; \
        b='test-multiple-authenticate'; \
@@ -2517,6 +2523,13 @@
        --log-file $$b.log --trs-file $$b.trs \
        $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) 
-- $(LOG_COMPILE) \
        "$$tst" $(AM_TESTS_FD_REDIRECT)
+test-switch-to-greeter-return-session-repeat.log: 
test-switch-to-greeter-return-session-repeat
+       @p='test-switch-to-greeter-return-session-repeat'; \
+       b='test-switch-to-greeter-return-session-repeat'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) 
-- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
 test-switch-to-guest.log: test-switch-to-guest
        @p='test-switch-to-guest'; \
        b='test-switch-to-guest'; \
@@ -2986,23 +2999,30 @@
        --log-file $$b.log --trs-file $$b.trs \
        $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) 
-- $(LOG_COMPILE) \
        "$$tst" $(AM_TESTS_FD_REDIRECT)
-test-power-no-console-kit-gobject.log: test-power-no-console-kit-gobject
-       @p='test-power-no-console-kit-gobject'; \
-       b='test-power-no-console-kit-gobject'; \
+test-power-no-console-kit.log: test-power-no-console-kit
+       @p='test-power-no-console-kit'; \
+       b='test-power-no-console-kit'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) 
-- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
+test-power-no-login1.log: test-power-no-login1
+       @p='test-power-no-login1'; \
+       b='test-power-no-login1'; \
        $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
        --log-file $$b.log --trs-file $$b.trs \
        $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) 
-- $(LOG_COMPILE) \
        "$$tst" $(AM_TESTS_FD_REDIRECT)
-test-power-no-login1-gobject.log: test-power-no-login1-gobject
-       @p='test-power-no-login1-gobject'; \
-       b='test-power-no-login1-gobject'; \
+test-power-no-login1-or-console-kit.log: test-power-no-login1-or-console-kit
+       @p='test-power-no-login1-or-console-kit'; \
+       b='test-power-no-login1-or-console-kit'; \
        $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
        --log-file $$b.log --trs-file $$b.trs \
        $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) 
-- $(LOG_COMPILE) \
        "$$tst" $(AM_TESTS_FD_REDIRECT)
-test-power-no-services-gobject.log: test-power-no-services-gobject
-       @p='test-power-no-services-gobject'; \
-       b='test-power-no-services-gobject'; \
+test-power-no-services.log: test-power-no-services
+       @p='test-power-no-services'; \
+       b='test-power-no-services'; \
        $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
        --log-file $$b.log --trs-file $$b.trs \
        $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) 
-- $(LOG_COMPILE) \
@@ -3560,27 +3580,6 @@
        --log-file $$b.log --trs-file $$b.trs \
        $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) 
-- $(LOG_COMPILE) \
        "$$tst" $(AM_TESTS_FD_REDIRECT)
-test-power-no-console-kit-python.log: test-power-no-console-kit-python
-       @p='test-power-no-console-kit-python'; \
-       b='test-power-no-console-kit-python'; \
-       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
-       --log-file $$b.log --trs-file $$b.trs \
-       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) 
-- $(LOG_COMPILE) \
-       "$$tst" $(AM_TESTS_FD_REDIRECT)
-test-power-no-login1-python.log: test-power-no-login1-python
-       @p='test-power-no-login1-python'; \
-       b='test-power-no-login1-python'; \
-       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
-       --log-file $$b.log --trs-file $$b.trs \
-       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) 
-- $(LOG_COMPILE) \
-       "$$tst" $(AM_TESTS_FD_REDIRECT)
-test-power-no-services-python.log: test-power-no-services-python
-       @p='test-power-no-services-python'; \
-       b='test-power-no-services-python'; \
-       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
-       --log-file $$b.log --trs-file $$b.trs \
-       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) 
-- $(LOG_COMPILE) \
-       "$$tst" $(AM_TESTS_FD_REDIRECT)
 test-autologin-timeout-qt4.log: test-autologin-timeout-qt4
        @p='test-autologin-timeout-qt4'; \
        b='test-autologin-timeout-qt4'; \
@@ -3798,27 +3797,6 @@
        --log-file $$b.log --trs-file $$b.trs \
        $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) 
-- $(LOG_COMPILE) \
        "$$tst" $(AM_TESTS_FD_REDIRECT)
-test-power-no-console-kit-qt4.log: test-power-no-console-kit-qt4
-       @p='test-power-no-console-kit-qt4'; \
-       b='test-power-no-console-kit-qt4'; \
-       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
-       --log-file $$b.log --trs-file $$b.trs \
-       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) 
-- $(LOG_COMPILE) \
-       "$$tst" $(AM_TESTS_FD_REDIRECT)
-test-power-no-login1-qt4.log: test-power-no-login1-qt4
-       @p='test-power-no-login1-qt4'; \
-       b='test-power-no-login1-qt4'; \
-       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
-       --log-file $$b.log --trs-file $$b.trs \
-       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) 
-- $(LOG_COMPILE) \
-       "$$tst" $(AM_TESTS_FD_REDIRECT)
-test-power-no-services-qt4.log: test-power-no-services-qt4
-       @p='test-power-no-services-qt4'; \
-       b='test-power-no-services-qt4'; \
-       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
-       --log-file $$b.log --trs-file $$b.trs \
-       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) 
-- $(LOG_COMPILE) \
-       "$$tst" $(AM_TESTS_FD_REDIRECT)
 test-autologin-timeout-qt5.log: test-autologin-timeout-qt5
        @p='test-autologin-timeout-qt5'; \
        b='test-autologin-timeout-qt5'; \
@@ -4035,27 +4013,6 @@
        $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
        --log-file $$b.log --trs-file $$b.trs \
        $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) 
-- $(LOG_COMPILE) \
-       "$$tst" $(AM_TESTS_FD_REDIRECT)
-test-power-no-console-kit-qt5.log: test-power-no-console-kit-qt5
-       @p='test-power-no-console-kit-qt5'; \
-       b='test-power-no-console-kit-qt5'; \
-       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
-       --log-file $$b.log --trs-file $$b.trs \
-       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) 
-- $(LOG_COMPILE) \
-       "$$tst" $(AM_TESTS_FD_REDIRECT)
-test-power-no-login1-qt5.log: test-power-no-login1-qt5
-       @p='test-power-no-login1-qt5'; \
-       b='test-power-no-login1-qt5'; \
-       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
-       --log-file $$b.log --trs-file $$b.trs \
-       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) 
-- $(LOG_COMPILE) \
-       "$$tst" $(AM_TESTS_FD_REDIRECT)
-test-power-no-services-qt5.log: test-power-no-services-qt5
-       @p='test-power-no-services-qt5'; \
-       b='test-power-no-services-qt5'; \
-       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
-       --log-file $$b.log --trs-file $$b.trs \
-       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) 
-- $(LOG_COMPILE) \
        "$$tst" $(AM_TESTS_FD_REDIRECT)
 .test.log:
        @p='$<'; \
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lightdm-1.21.3/tests/scripts/greeter-fail-start.conf 
new/lightdm-1.21.5/tests/scripts/greeter-fail-start.conf
--- old/lightdm-1.21.3/tests/scripts/greeter-fail-start.conf    2016-06-20 
01:06:46.000000000 +0200
+++ new/lightdm-1.21.5/tests/scripts/greeter-fail-start.conf    2017-01-26 
22:19:11.000000000 +0100
@@ -3,6 +3,7 @@
 #
 
 [test-greeter-config]
+exit-on-startup=true
 return-value=1
 
 #?*START-DAEMON
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/lightdm-1.21.3/tests/scripts/greeter-not-installed.conf 
new/lightdm-1.21.5/tests/scripts/greeter-not-installed.conf
--- old/lightdm-1.21.3/tests/scripts/greeter-not-installed.conf 2016-06-20 
01:06:46.000000000 +0200
+++ new/lightdm-1.21.5/tests/scripts/greeter-not-installed.conf 2017-01-26 
22:20:11.000000000 +0100
@@ -2,9 +2,6 @@
 # Check that LightDM quits when the greeter does not exist
 #
 
-[test-greeter-config]
-return-value=1
-
 #?*START-DAEMON
 #?RUNNER DAEMON-START
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/lightdm-1.21.3/tests/scripts/login-greeter-return-failure.conf 
new/lightdm-1.21.5/tests/scripts/login-greeter-return-failure.conf
--- old/lightdm-1.21.3/tests/scripts/login-greeter-return-failure.conf  
1970-01-01 01:00:00.000000000 +0100
+++ new/lightdm-1.21.5/tests/scripts/login-greeter-return-failure.conf  
2017-01-26 22:22:53.000000000 +0100
@@ -0,0 +1,48 @@
+#
+# Check can login even if the greeter returns an error code (it otherwise 
works fine)
+#
+
+[Seat:*]
+user-session=default
+
+[test-greeter-config]
+return-value=1
+
+#?*START-DAEMON
+#?RUNNER DAEMON-START
+
+# X server starts
+#?XSERVER-0 START VT=7 SEAT=seat0
+
+# Daemon connects when X server is ready
+#?*XSERVER-0 INDICATE-READY
+#?XSERVER-0 INDICATE-READY
+#?XSERVER-0 ACCEPT-CONNECT
+
+# Greeter starts
+#?GREETER-X-0 START XDG_SEAT=seat0 XDG_VTNR=7 XDG_SESSION_CLASS=greeter
+#?LOGIN1 ACTIVATE-SESSION SESSION=c0
+#?XSERVER-0 ACCEPT-CONNECT
+#?GREETER-X-0 CONNECT-XSERVER
+#?GREETER-X-0 CONNECT-TO-DAEMON
+#?GREETER-X-0 CONNECTED-TO-DAEMON
+
+# Log into account with a password
+#?*GREETER-X-0 AUTHENTICATE USERNAME=have-password1
+#?GREETER-X-0 SHOW-PROMPT TEXT="Password:"
+#?*GREETER-X-0 RESPOND TEXT="password"
+#?GREETER-X-0 AUTHENTICATION-COMPLETE USERNAME=have-password1 
AUTHENTICATED=TRUE
+#?*GREETER-X-0 START-SESSION
+#?GREETER-X-0 TERMINATE SIGNAL=15
+
+# Session starts
+#?SESSION-X-0 START XDG_SEAT=seat0 XDG_VTNR=7 
XDG_GREETER_DATA_DIR=.*/have-password1 XDG_SESSION_TYPE=x11 
XDG_SESSION_DESKTOP=default USER=have-password1
+#?LOGIN1 ACTIVATE-SESSION SESSION=c1
+#?XSERVER-0 ACCEPT-CONNECT
+#?SESSION-X-0 CONNECT-XSERVER
+
+# Cleanup
+#?*STOP-DAEMON
+#?SESSION-X-0 TERMINATE SIGNAL=15
+#?XSERVER-0 TERMINATE SIGNAL=15
+#?RUNNER DAEMON-EXIT STATUS=0
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/lightdm-1.21.3/tests/scripts/power-no-login1-or-console-kit.conf 
new/lightdm-1.21.5/tests/scripts/power-no-login1-or-console-kit.conf
--- old/lightdm-1.21.3/tests/scripts/power-no-login1-or-console-kit.conf        
1970-01-01 01:00:00.000000000 +0100
+++ new/lightdm-1.21.5/tests/scripts/power-no-login1-or-console-kit.conf        
2017-01-12 02:48:07.000000000 +0100
@@ -0,0 +1,65 @@
+#
+# Check can do power operations from the greeter when no login1 or ConsoleKit 
service (falls back to upower for some)
+#
+
+[test-runner-config]
+disable-login1=true
+disable-console-kit=true
+
+#?*START-DAEMON
+#?RUNNER DAEMON-START
+
+# X server starts
+#?XSERVER-0 START VT=7 SEAT=seat0
+
+# Daemon connects when X server is ready
+#?*XSERVER-0 INDICATE-READY
+#?XSERVER-0 INDICATE-READY
+#?XSERVER-0 ACCEPT-CONNECT
+
+# Greeter starts
+#?GREETER-X-0 START XDG_SEAT=seat0 XDG_VTNR=7 XDG_SESSION_CLASS=greeter
+#?XSERVER-0 ACCEPT-CONNECT
+#?GREETER-X-0 CONNECT-XSERVER
+#?GREETER-X-0 CONNECT-TO-DAEMON
+#?GREETER-X-0 CONNECTED-TO-DAEMON
+
+# See if can suspend
+#?*GREETER-X-0 GET-CAN-SUSPEND
+#?UPOWER SUSPEND-ALLOWED
+#?GREETER-X-0 CAN-SUSPEND ALLOWED=TRUE
+
+# Suspend
+#?*GREETER-X-0 SUSPEND
+#?UPOWER SUSPEND
+
+# See if can hibernate
+#?*GREETER-X-0 GET-CAN-HIBERNATE
+#?UPOWER HIBERNATE-ALLOWED
+#?GREETER-X-0 CAN-HIBERNATE ALLOWED=TRUE
+
+# Hibernate
+#?*GREETER-X-0 HIBERNATE
+#?UPOWER HIBERNATE
+
+# See if can restart
+#?*GREETER-X-0 GET-CAN-RESTART
+#?GREETER-X-0 CAN-RESTART ALLOWED=FALSE
+
+# Restart
+#?*GREETER-X-0 RESTART
+#?GREETER-X-0 FAIL-RESTART
+
+# See if can shutdown
+#?*GREETER-X-0 GET-CAN-SHUTDOWN
+#?GREETER-X-0 CAN-SHUTDOWN ALLOWED=FALSE
+
+# Shutdown
+#?*GREETER-X-0 SHUTDOWN
+#?GREETER-X-0 FAIL-SHUTDOWN
+
+# Cleanup
+#?*STOP-DAEMON
+#?GREETER-X-0 TERMINATE SIGNAL=15
+#?XSERVER-0 TERMINATE SIGNAL=15
+#?RUNNER DAEMON-EXIT STATUS=0
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lightdm-1.21.3/tests/scripts/power-no-login1.conf 
new/lightdm-1.21.5/tests/scripts/power-no-login1.conf
--- old/lightdm-1.21.3/tests/scripts/power-no-login1.conf       2016-06-20 
01:06:46.000000000 +0200
+++ new/lightdm-1.21.5/tests/scripts/power-no-login1.conf       2017-01-12 
01:32:04.000000000 +0100
@@ -26,21 +26,21 @@
 
 # See if can suspend
 #?*GREETER-X-0 GET-CAN-SUSPEND
-#?UPOWER SUSPEND-ALLOWED
+#?CONSOLE-KIT CAN-SUSPEND
 #?GREETER-X-0 CAN-SUSPEND ALLOWED=TRUE
 
 # Suspend
 #?*GREETER-X-0 SUSPEND
-#?UPOWER SUSPEND
+#?CONSOLE-KIT SUSPEND
 
 # See if can hibernate
 #?*GREETER-X-0 GET-CAN-HIBERNATE
-#?UPOWER HIBERNATE-ALLOWED
+#?CONSOLE-KIT CAN-HIBERNATE
 #?GREETER-X-0 CAN-HIBERNATE ALLOWED=TRUE
 
 # Hibernate
 #?*GREETER-X-0 HIBERNATE
-#?UPOWER HIBERNATE
+#?CONSOLE-KIT HIBERNATE
 
 # See if can restart
 #?*GREETER-X-0 GET-CAN-RESTART
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/lightdm-1.21.3/tests/scripts/switch-to-greeter-return-session-repeat.conf 
new/lightdm-1.21.5/tests/scripts/switch-to-greeter-return-session-repeat.conf
--- 
old/lightdm-1.21.3/tests/scripts/switch-to-greeter-return-session-repeat.conf   
    1970-01-01 01:00:00.000000000 +0100
+++ 
new/lightdm-1.21.5/tests/scripts/switch-to-greeter-return-session-repeat.conf   
    2017-01-26 23:25:06.000000000 +0100
@@ -0,0 +1,162 @@
+#
+# Use D-Bus interface to show the greeter, then return to the same session 
(repeat three times)
+#
+
+[Seat:*]
+autologin-user=have-password1
+user-session=default
+
+#?*START-DAEMON
+#?RUNNER DAEMON-START
+
+# X server starts
+#?XSERVER-0 START VT=7 SEAT=seat0
+
+# Daemon connects when X server is ready
+#?*XSERVER-0 INDICATE-READY
+#?XSERVER-0 INDICATE-READY
+#?XSERVER-0 ACCEPT-CONNECT
+
+# Session starts
+#?SESSION-X-0 START XDG_SEAT=seat0 XDG_VTNR=7 
XDG_GREETER_DATA_DIR=.*/have-password1 XDG_SESSION_TYPE=x11 
XDG_SESSION_DESKTOP=default USER=have-password1
+#?LOGIN1 ACTIVATE-SESSION SESSION=c0
+#?XSERVER-0 ACCEPT-CONNECT
+#?SESSION-X-0 CONNECT-XSERVER
+
+# Show the greeter
+#?*SWITCH-TO-GREETER
+#?RUNNER SWITCH-TO-GREETER
+
+# New X server starts
+#?XSERVER-1 START VT=8 SEAT=seat0
+
+# Daemon connects when X server is ready
+#?*XSERVER-1 INDICATE-READY
+#?XSERVER-1 INDICATE-READY
+#?XSERVER-1 ACCEPT-CONNECT
+
+# Session is locked
+#?LOGIN1 LOCK-SESSION SESSION=c0
+
+# Greeter starts
+#?GREETER-X-1 START XDG_SEAT=seat0 XDG_VTNR=8 XDG_SESSION_CLASS=greeter
+#?XSERVER-1 ACCEPT-CONNECT
+#?GREETER-X-1 CONNECT-XSERVER
+#?GREETER-X-1 CONNECT-TO-DAEMON
+#?GREETER-X-1 CONNECTED-TO-DAEMON
+
+# Switch to greeter
+#?LOGIN1 ACTIVATE-SESSION SESSION=c1
+#?VT ACTIVATE VT=8
+
+# Login as existing user
+#?*GREETER-X-1 AUTHENTICATE USERNAME=have-password1
+#?GREETER-X-1 SHOW-PROMPT TEXT="Password:"
+#?*GREETER-X-1 RESPOND TEXT="password"
+#?GREETER-X-1 AUTHENTICATION-COMPLETE USERNAME=have-password1 
AUTHENTICATED=TRUE
+#?*GREETER-X-1 START-SESSION
+
+# Session is unlocked
+#?LOGIN1 UNLOCK-SESSION SESSION=c0
+
+# Switch to session
+#?LOGIN1 ACTIVATE-SESSION SESSION=c0
+#?VT ACTIVATE VT=7
+
+# Greeter and X server stop
+#?GREETER-X-1 TERMINATE SIGNAL=15
+#?XSERVER-1 TERMINATE SIGNAL=15
+
+# Show the greeter
+#?*SWITCH-TO-GREETER
+#?RUNNER SWITCH-TO-GREETER
+
+# New X server starts
+#?XSERVER-2 START VT=9 SEAT=seat0
+
+# Daemon connects when X server is ready
+#?*XSERVER-2 INDICATE-READY
+#?XSERVER-2 INDICATE-READY
+#?XSERVER-2 ACCEPT-CONNECT
+
+# Session is locked
+#?LOGIN1 LOCK-SESSION SESSION=c0
+
+# Greeter starts
+#?GREETER-X-2 START XDG_SEAT=seat0 XDG_VTNR=9 XDG_SESSION_CLASS=greeter
+#?XSERVER-2 ACCEPT-CONNECT
+#?GREETER-X-2 CONNECT-XSERVER
+#?GREETER-X-2 CONNECT-TO-DAEMON
+#?GREETER-X-2 CONNECTED-TO-DAEMON
+
+# Switch to greeter
+#?LOGIN1 ACTIVATE-SESSION SESSION=c2
+#?VT ACTIVATE VT=9
+
+# Login as existing user
+#?*GREETER-X-2 AUTHENTICATE USERNAME=have-password1
+#?GREETER-X-2 SHOW-PROMPT TEXT="Password:"
+#?*GREETER-X-2 RESPOND TEXT="password"
+#?GREETER-X-2 AUTHENTICATION-COMPLETE USERNAME=have-password1 
AUTHENTICATED=TRUE
+#?*GREETER-X-2 START-SESSION
+
+# Session is unlocked
+#?LOGIN1 UNLOCK-SESSION SESSION=c0
+
+# Switch to session
+#?LOGIN1 ACTIVATE-SESSION SESSION=c0
+#?VT ACTIVATE VT=7
+
+# Greeter and X server stop
+#?GREETER-X-2 TERMINATE SIGNAL=15
+#?XSERVER-2 TERMINATE SIGNAL=15
+
+# Show the greeter
+#?*SWITCH-TO-GREETER
+#?RUNNER SWITCH-TO-GREETER
+
+# New X server starts
+#?XSERVER-1 START VT=8 SEAT=seat0
+
+# Daemon connects when X server is ready
+#?*XSERVER-1 INDICATE-READY
+#?XSERVER-1 INDICATE-READY
+#?XSERVER-1 ACCEPT-CONNECT
+
+# Session is locked
+#?LOGIN1 LOCK-SESSION SESSION=c0
+
+# Greeter starts
+#?GREETER-X-1 START XDG_SEAT=seat0 XDG_VTNR=8 XDG_SESSION_CLASS=greeter
+#?XSERVER-1 ACCEPT-CONNECT
+#?GREETER-X-1 CONNECT-XSERVER
+#?GREETER-X-1 CONNECT-TO-DAEMON
+#?GREETER-X-1 CONNECTED-TO-DAEMON
+
+# Switch to greeter
+#?LOGIN1 ACTIVATE-SESSION SESSION=c3
+#?VT ACTIVATE VT=8
+
+# Login as existing user
+#?*GREETER-X-1 AUTHENTICATE USERNAME=have-password1
+#?GREETER-X-1 SHOW-PROMPT TEXT="Password:"
+#?*GREETER-X-1 RESPOND TEXT="password"
+#?GREETER-X-1 AUTHENTICATION-COMPLETE USERNAME=have-password1 
AUTHENTICATED=TRUE
+#?*GREETER-X-1 START-SESSION
+
+# Session is unlocked
+#?LOGIN1 UNLOCK-SESSION SESSION=c0
+
+# Switch to session
+#?LOGIN1 ACTIVATE-SESSION SESSION=c0
+#?VT ACTIVATE VT=7
+
+# Greeter and X server stop
+#?GREETER-X-1 TERMINATE SIGNAL=15
+#?XSERVER-1 TERMINATE SIGNAL=15
+
+# Cleanup
+#?*STOP-DAEMON
+#?SESSION-X-0 TERMINATE SIGNAL=15
+#?XSERVER-0 TERMINATE SIGNAL=15
+#?RUNNER DAEMON-EXIT STATUS=0
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lightdm-1.21.3/tests/src/test-gobject-greeter.c 
new/lightdm-1.21.5/tests/src/test-gobject-greeter.c
--- old/lightdm-1.21.3/tests/src/test-gobject-greeter.c 2016-11-22 
04:44:20.000000000 +0100
+++ new/lightdm-1.21.5/tests/src/test-gobject-greeter.c 2017-01-26 
22:22:13.000000000 +0100
@@ -520,7 +520,7 @@
     g_key_file_load_from_file (config, path, G_KEY_FILE_NONE, NULL);
     g_free (path);
 
-    if (g_key_file_has_key (config, "test-greeter-config", "return-value", 
NULL))
+    if (g_key_file_get_boolean (config, "test-greeter-config", 
"exit-on-startup", NULL))    
     {
         int return_value = g_key_file_get_integer (config, 
"test-greeter-config", "return-value", NULL);
         status_notify ("%s EXIT CODE=%d", greeter_id, return_value);
@@ -561,5 +561,11 @@
 
     g_main_loop_run (loop);
 
+    if (g_key_file_has_key (config, "test-greeter-config", "return-value", 
NULL))
+    {
+        int return_value = g_key_file_get_integer (config, 
"test-greeter-config", "return-value", NULL);
+        return return_value;
+    }
+
     return exit_code;
 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lightdm-1.21.3/tests/src/test-runner.c 
new/lightdm-1.21.5/tests/src/test-runner.c
--- old/lightdm-1.21.3/tests/src/test-runner.c  2016-12-07 03:44:18.000000000 
+0100
+++ new/lightdm-1.21.5/tests/src/test-runner.c  2017-01-12 01:26:44.000000000 
+0100
@@ -1401,6 +1401,16 @@
         check_status ("CONSOLE-KIT CAN-STOP");
         g_dbus_method_invocation_return_value (invocation, g_variant_new 
("(b)", TRUE));
     }
+    else if (strcmp (method_name, "CanSuspend") == 0)
+    {
+        check_status ("CONSOLE-KIT CAN-SUSPEND");
+        g_dbus_method_invocation_return_value (invocation, g_variant_new 
("(b)", TRUE));
+    }
+    else if (strcmp (method_name, "CanHibernate") == 0)
+    {
+        check_status ("CONSOLE-KIT CAN-HIBERNATE");
+        g_dbus_method_invocation_return_value (invocation, g_variant_new 
("(b)", TRUE));
+    }
     else if (strcmp (method_name, "CloseSession") == 0)
         g_dbus_method_invocation_return_value (invocation, g_variant_new 
("(b)", TRUE));
     else if (strcmp (method_name, "OpenSession") == 0)
@@ -1444,6 +1454,16 @@
         check_status ("CONSOLE-KIT STOP");
         g_dbus_method_invocation_return_value (invocation, g_variant_new 
("()"));
     }
+    else if (strcmp (method_name, "Suspend") == 0)
+    {
+        check_status ("CONSOLE-KIT SUSPEND");
+        g_dbus_method_invocation_return_value (invocation, g_variant_new 
("()"));
+    }
+    else if (strcmp (method_name, "Hibernate") == 0)
+    {
+        check_status ("CONSOLE-KIT HIBERNATE");
+        g_dbus_method_invocation_return_value (invocation, g_variant_new 
("()"));
+    }
     else
         g_dbus_method_invocation_return_error (invocation, G_DBUS_ERROR, 
G_DBUS_ERROR_FAILED, "No such method: %s", method_name);
 }
@@ -1504,6 +1524,12 @@
         "    <method name='CanStop'>"
         "      <arg name='can_stop' direction='out' type='b'/>"
         "    </method>"
+        "    <method name='CanSuspend'>"
+        "      <arg name='can_suspend' direction='out' type='b'/>"
+        "    </method>"
+        "    <method name='CanHibernate'>"
+        "      <arg name='can_hibernate' direction='out' type='b'/>"
+        "    </method>"
         "    <method name='CloseSession'>"
         "      <arg name='cookie' direction='in' type='s'/>"
         "      <arg name='result' direction='out' type='b'/>"
@@ -1521,6 +1547,12 @@
         "    </method>"
         "    <method name='Restart'/>"
         "    <method name='Stop'/>"
+        "    <method name='Suspend'>"
+        "      <arg name='policykit_interactivity' direction='in' type='b'/>"
+        "    </method>"
+        "    <method name='Hibernate'>"
+        "      <arg name='policykit_interactivity' direction='in' type='b'/>"
+        "    </method>"
         "    <signal name='SeatAdded'>"
         "      <arg name='seat' type='o'/>"
         "    </signal>"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/lightdm-1.21.3/tests/test-login-greeter-return-failure 
new/lightdm-1.21.5/tests/test-login-greeter-return-failure
--- old/lightdm-1.21.3/tests/test-login-greeter-return-failure  1970-01-01 
01:00:00.000000000 +0100
+++ new/lightdm-1.21.5/tests/test-login-greeter-return-failure  2017-01-26 
22:23:24.000000000 +0100
@@ -0,0 +1,2 @@
+#!/bin/sh
+./src/dbus-env ./src/test-runner login-greeter-return-failure 
test-gobject-greeter
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lightdm-1.21.3/tests/test-power-no-console-kit 
new/lightdm-1.21.5/tests/test-power-no-console-kit
--- old/lightdm-1.21.3/tests/test-power-no-console-kit  1970-01-01 
01:00:00.000000000 +0100
+++ new/lightdm-1.21.5/tests/test-power-no-console-kit  2015-08-10 
01:30:00.000000000 +0200
@@ -0,0 +1,2 @@
+#!/bin/sh
+./src/dbus-env ./src/test-runner power-no-console-kit test-gobject-greeter
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/lightdm-1.21.3/tests/test-power-no-console-kit-gobject 
new/lightdm-1.21.5/tests/test-power-no-console-kit-gobject
--- old/lightdm-1.21.3/tests/test-power-no-console-kit-gobject  2015-08-10 
01:30:00.000000000 +0200
+++ new/lightdm-1.21.5/tests/test-power-no-console-kit-gobject  1970-01-01 
01:00:00.000000000 +0100
@@ -1,2 +0,0 @@
-#!/bin/sh
-./src/dbus-env ./src/test-runner power-no-console-kit test-gobject-greeter
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/lightdm-1.21.3/tests/test-power-no-console-kit-python 
new/lightdm-1.21.5/tests/test-power-no-console-kit-python
--- old/lightdm-1.21.3/tests/test-power-no-console-kit-python   2015-08-10 
01:30:00.000000000 +0200
+++ new/lightdm-1.21.5/tests/test-power-no-console-kit-python   1970-01-01 
01:00:00.000000000 +0100
@@ -1,2 +0,0 @@
-#!/bin/sh
-./src/dbus-env ./src/test-runner power-no-console-kit test-python-greeter
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lightdm-1.21.3/tests/test-power-no-console-kit-qt4 
new/lightdm-1.21.5/tests/test-power-no-console-kit-qt4
--- old/lightdm-1.21.3/tests/test-power-no-console-kit-qt4      2015-08-10 
01:30:00.000000000 +0200
+++ new/lightdm-1.21.5/tests/test-power-no-console-kit-qt4      1970-01-01 
01:00:00.000000000 +0100
@@ -1,2 +0,0 @@
-#!/bin/sh
-./src/dbus-env ./src/test-runner power-no-console-kit test-qt4-greeter
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lightdm-1.21.3/tests/test-power-no-console-kit-qt5 
new/lightdm-1.21.5/tests/test-power-no-console-kit-qt5
--- old/lightdm-1.21.3/tests/test-power-no-console-kit-qt5      2015-08-10 
01:30:00.000000000 +0200
+++ new/lightdm-1.21.5/tests/test-power-no-console-kit-qt5      1970-01-01 
01:00:00.000000000 +0100
@@ -1,2 +0,0 @@
-#!/bin/sh
-./src/dbus-env ./src/test-runner power-no-console-kit test-qt5-greeter
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lightdm-1.21.3/tests/test-power-no-login1 
new/lightdm-1.21.5/tests/test-power-no-login1
--- old/lightdm-1.21.3/tests/test-power-no-login1       1970-01-01 
01:00:00.000000000 +0100
+++ new/lightdm-1.21.5/tests/test-power-no-login1       2015-08-10 
01:30:00.000000000 +0200
@@ -0,0 +1,2 @@
+#!/bin/sh
+./src/dbus-env ./src/test-runner power-no-login1 test-gobject-greeter
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lightdm-1.21.3/tests/test-power-no-login1-gobject 
new/lightdm-1.21.5/tests/test-power-no-login1-gobject
--- old/lightdm-1.21.3/tests/test-power-no-login1-gobject       2015-08-10 
01:30:00.000000000 +0200
+++ new/lightdm-1.21.5/tests/test-power-no-login1-gobject       1970-01-01 
01:00:00.000000000 +0100
@@ -1,2 +0,0 @@
-#!/bin/sh
-./src/dbus-env ./src/test-runner power-no-login1 test-gobject-greeter
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/lightdm-1.21.3/tests/test-power-no-login1-or-console-kit 
new/lightdm-1.21.5/tests/test-power-no-login1-or-console-kit
--- old/lightdm-1.21.3/tests/test-power-no-login1-or-console-kit        
1970-01-01 01:00:00.000000000 +0100
+++ new/lightdm-1.21.5/tests/test-power-no-login1-or-console-kit        
2017-01-12 01:31:26.000000000 +0100
@@ -0,0 +1,2 @@
+#!/bin/sh
+./src/dbus-env ./src/test-runner power-no-login1-or-console-kit 
test-gobject-greeter
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lightdm-1.21.3/tests/test-power-no-login1-python 
new/lightdm-1.21.5/tests/test-power-no-login1-python
--- old/lightdm-1.21.3/tests/test-power-no-login1-python        2015-08-10 
01:30:00.000000000 +0200
+++ new/lightdm-1.21.5/tests/test-power-no-login1-python        1970-01-01 
01:00:00.000000000 +0100
@@ -1,2 +0,0 @@
-#!/bin/sh
-./src/dbus-env ./src/test-runner power-no-login1 test-python-greeter
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lightdm-1.21.3/tests/test-power-no-login1-qt4 
new/lightdm-1.21.5/tests/test-power-no-login1-qt4
--- old/lightdm-1.21.3/tests/test-power-no-login1-qt4   2015-08-10 
01:30:00.000000000 +0200
+++ new/lightdm-1.21.5/tests/test-power-no-login1-qt4   1970-01-01 
01:00:00.000000000 +0100
@@ -1,2 +0,0 @@
-#!/bin/sh
-./src/dbus-env ./src/test-runner power-no-login1 test-qt4-greeter
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lightdm-1.21.3/tests/test-power-no-login1-qt5 
new/lightdm-1.21.5/tests/test-power-no-login1-qt5
--- old/lightdm-1.21.3/tests/test-power-no-login1-qt5   2015-08-10 
01:30:00.000000000 +0200
+++ new/lightdm-1.21.5/tests/test-power-no-login1-qt5   1970-01-01 
01:00:00.000000000 +0100
@@ -1,2 +0,0 @@
-#!/bin/sh
-./src/dbus-env ./src/test-runner power-no-login1 test-qt5-greeter
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lightdm-1.21.3/tests/test-power-no-services 
new/lightdm-1.21.5/tests/test-power-no-services
--- old/lightdm-1.21.3/tests/test-power-no-services     1970-01-01 
01:00:00.000000000 +0100
+++ new/lightdm-1.21.5/tests/test-power-no-services     2015-08-10 
01:30:00.000000000 +0200
@@ -0,0 +1,2 @@
+#!/bin/sh
+./src/dbus-env ./src/test-runner power-no-services test-gobject-greeter
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lightdm-1.21.3/tests/test-power-no-services-gobject 
new/lightdm-1.21.5/tests/test-power-no-services-gobject
--- old/lightdm-1.21.3/tests/test-power-no-services-gobject     2015-08-10 
01:30:00.000000000 +0200
+++ new/lightdm-1.21.5/tests/test-power-no-services-gobject     1970-01-01 
01:00:00.000000000 +0100
@@ -1,2 +0,0 @@
-#!/bin/sh
-./src/dbus-env ./src/test-runner power-no-services test-gobject-greeter
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lightdm-1.21.3/tests/test-power-no-services-python 
new/lightdm-1.21.5/tests/test-power-no-services-python
--- old/lightdm-1.21.3/tests/test-power-no-services-python      2015-08-10 
01:30:00.000000000 +0200
+++ new/lightdm-1.21.5/tests/test-power-no-services-python      1970-01-01 
01:00:00.000000000 +0100
@@ -1,2 +0,0 @@
-#!/bin/sh
-./src/dbus-env ./src/test-runner power-no-services test-python-greeter
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lightdm-1.21.3/tests/test-power-no-services-qt4 
new/lightdm-1.21.5/tests/test-power-no-services-qt4
--- old/lightdm-1.21.3/tests/test-power-no-services-qt4 2015-08-10 
01:30:00.000000000 +0200
+++ new/lightdm-1.21.5/tests/test-power-no-services-qt4 1970-01-01 
01:00:00.000000000 +0100
@@ -1,2 +0,0 @@
-#!/bin/sh
-./src/dbus-env ./src/test-runner power-no-services test-qt4-greeter
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lightdm-1.21.3/tests/test-power-no-services-qt5 
new/lightdm-1.21.5/tests/test-power-no-services-qt5
--- old/lightdm-1.21.3/tests/test-power-no-services-qt5 2015-08-10 
01:30:00.000000000 +0200
+++ new/lightdm-1.21.5/tests/test-power-no-services-qt5 1970-01-01 
01:00:00.000000000 +0100
@@ -1,2 +0,0 @@
-#!/bin/sh
-./src/dbus-env ./src/test-runner power-no-services test-qt5-greeter
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/lightdm-1.21.3/tests/test-switch-to-greeter-return-session-repeat 
new/lightdm-1.21.5/tests/test-switch-to-greeter-return-session-repeat
--- old/lightdm-1.21.3/tests/test-switch-to-greeter-return-session-repeat       
1970-01-01 01:00:00.000000000 +0100
+++ new/lightdm-1.21.5/tests/test-switch-to-greeter-return-session-repeat       
2017-01-26 23:21:27.000000000 +0100
@@ -0,0 +1,2 @@
+#!/bin/sh
+./src/dbus-env ./src/test-runner switch-to-greeter-return-session-repeat 
test-gobject-greeter

++++++ lightdm-disable-utmp-handling.patch ++++++
--- /var/tmp/diff_new_pack.jxGnF0/_old  2017-02-25 00:54:26.552332863 +0100
+++ /var/tmp/diff_new_pack.jxGnF0/_new  2017-02-25 00:54:26.552332863 +0100
@@ -2,10 +2,8 @@
 # Parent ce2ab1b9285a9408ec9673b555b398c2af18de62
 disable utmp handling since this is handled in the Xstartup/Xreset scripts
 
-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
+--- a/src/session-child.c
++++ b/src/session-child.c
 @@ -13,8 +13,10 @@
  #include <grp.h>
  #include <glib.h>
@@ -41,7 +39,7 @@
              struct utmpx ut;
              struct timeval tv;
  
-@@ -425,6 +430,8 @@ session_child_run (int argc, char **argv
+@@ -422,6 +427,8 @@ session_child_run (int argc, char **argv
  
              updwtmpx ("/var/log/btmp", &ut);
  
@@ -50,28 +48,32 @@
  #if HAVE_LIBAUDIT
              audit_event (AUDIT_USER_LOGIN, username, -1, remote_host_name, 
tty, FALSE);
  #endif
-@@ -713,6 +720,7 @@ session_child_run (int argc, char **argv
-     /* Wait for the command to complete (blocks) */
-     if (child_pid > 0)
+@@ -726,6 +733,7 @@ session_child_run (int argc, char **argv
      {
+         int child_status;
+ 
 +#if 0
          /* Log to utmp */
          if (g_strcmp0 (pam_getenv (pam_handle, "XDG_SESSION_CLASS"), 
"greeter") != 0)
          {
-@@ -749,10 +757,10 @@ session_child_run (int argc, char **argv
+@@ -759,14 +767,14 @@ session_child_run (int argc, char **argv
              audit_event (AUDIT_USER_LOGIN, username, uid, remote_host_name, 
tty, TRUE);
  #endif
          }
 -
 +#endif
-         waitpid (child_pid, &return_code, 0);
+         waitpid (child_pid, &child_status, 0);
          child_pid = 0;
+         if (WIFEXITED (child_status))
+             return_code = WEXITSTATUS (child_status);
+         else
+             return_code = EXIT_FAILURE;
 -
 +#if 0
          /* Log to utmp */
          if (g_strcmp0 (pam_getenv (pam_handle, "XDG_SESSION_CLASS"), 
"greeter") != 0)
          {
-@@ -789,6 +797,7 @@ session_child_run (int argc, char **argv
+@@ -800,6 +808,7 @@ session_child_run (int argc, char **argv
              audit_event (AUDIT_USER_LOGOUT, username, uid, remote_host_name, 
tty, TRUE);
  #endif
          }


Reply via email to