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 }