Hello community,

here is the log from the commit of package lightdm.2120 for 
openSUSE:13.1:Update checked in at 2013-10-23 10:18:48
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:13.1:Update/lightdm.2120 (Old)
 and      /work/SRC/openSUSE:13.1:Update/.lightdm.2120.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "lightdm.2120"

Changes:
--------
New Changes file:

--- /dev/null   2013-10-11 12:16:15.204037506 +0200
+++ /work/SRC/openSUSE:13.1:Update/.lightdm.2120.new/lightdm.changes    
2013-10-23 10:18:49.000000000 +0200
@@ -0,0 +1,703 @@
+-------------------------------------------------------------------
+Tue Oct 22 11:11:24 UTC 2013 - [email protected]
+
+- add lightdm-set-xdg-session-class.patch in order to correctly set
+  $XDG_SESSION_CLASS for greeters (bnc#846914, lp#1242939,
+  backported from upstream bzr)
+
+-------------------------------------------------------------------
+Thu Oct 10 09:16:10 UTC 2013 - [email protected]
+
+- add lightdm-destroy-quit-timeout.patch in order to destroy quit
+  timeout when a process object is destroyed - fixes a crash where
+  a deleted Process object might be accessed after a timeout
+  (lp#1207935, bnc#845280, backported from upstream bzr)
+
+-------------------------------------------------------------------
+Wed Oct  9 08:58:20 UTC 2013 - [email protected]
+
+- update to version 1.8.0
+  - Add regression test for corrupt X authority files
+
+-------------------------------------------------------------------
+Mon Oct  7 09:19:40 UTC 2013 - [email protected]
+
+- update to version 1.7.18
+  - Set XDG_VTNR=1 as a fallback if using SeatUnity without a
+    functioning compositor or working VT switching, so that logind
+    will recognize the VT as active
+  - Fix ConsoleKit support broken in 1.7.5
+  - Fix --test-mode
+  - Add support for running Surfaceflinger sessions
+  - surfaceflinger: Set XDG_VTNR=0 if VTs are not available
+  - Allow compiling of liblightdm-qt without liblightdm-gobject
+  - Add missing documentation for xremote seat options
+  - Set session environment variables for guest sessions (1.7
+    regression)
+  - Don't fail writing X authority if reading it had an error
+  - Update environment variables that we pass to Mir
+
+-------------------------------------------------------------------
+Wed Sep 11 08:39:56 UTC 2013 - [email protected]
+
+- update to version 1.7.14
+  - Correctly set permissions on Xauthority file
+  - Correctly set $XDG_CURRENT_DESKTOP for non-autologin sessions
+  - Fix overallocation of array for strings from greeter
+  - Fix truncation writing card32 in XDMCP server
+
+-------------------------------------------------------------------
+Sun Sep  8 19:28:36 UTC 2013 - [email protected]
+
+- update to version 1.7.12
+  - Add xdg-seat config setting
+  - Notify Unity System Compositor of the session being
+    authenticated
+  - Fix crash when greeter quits due to read watch not being
+    removed
+  - Correctly setup Unity System Compositor environment
+  - Improve log messages
+  - Fix session locking broken in 1.7.5
+  - Load lightdm.conf after lightdm.conf.d/*.conf
+  - Also support loading config from /usr/share
+  - When switching sessions show a greeter if authentication
+    required
+  - Set $XDG_CURRENT_DESKTOP if specified in the xsession file
+  - Change logging prefixes to make it easier to troubleshoot
+    multiseat setups
+  - Bring Ubuntu packaging in-tree
+  - Correctly set XDG_VTNR for unity sessions that are not
+    autologin
+  - Add support for Mir sessions and greeters
+  - Set XDG_VTNR for unity sessions
+  - Fix desktop-session-start upstart signal not being emitted
+    since 1.7.5
+  - Fix greeter log broken in 1.7.5.
+
+-------------------------------------------------------------------
+Tue Jul 23 08:45:14 UTC 2013 - [email protected]
+
+- update to version 1.7.7
+  - Fix uninitialized pointer introduced in 1.7.3
+  - Enable compile warnings and fix code generating warnings
+
+-------------------------------------------------------------------
+Mon Jul 22 14:54:36 UTC 2013 - [email protected]
+
+- update to version 1.7.6
+  - Restore greeter hints that were regressed in 1.7.5.
+  - Don't run greeters through session wrapper - regression
+    in 1.7.5
+  - Quit Plymouth correctly when using the unity seat type
+  - Release the VT when the system compositor fails to start
+  - Load sessions and greeters from /usr/share/lightdm/sessions and
+    /usr/share/lightdm/greeters. The existing directories are
+    checked if the sessions are not in these directories.
+  - Refactor the Display class so that it merges with the Seat
+    class
+  - Support running the greeter and session in different display
+    servers instead of re-using the same one during a login.
+  - Add more regression tests
+  - Documentation fixes
+  - Set XDG_SEAT and XDG_VTNR environment variables.
+  - Add initial support for Unity (i.e. Mir based) seats.
+  - Add a greeter wrapper option.
+  - Load configuration from /etc/lightdm/lightdm.conf.d.
+  - Fix compile warnings
+  - Fix tests not running from install directory inside checkout.
+  - Fix incorrectly distributed guest-session apparmor data
+  - Fix .pc file for liblightdm-qt5-3
+  - Add a new option "autologin-in-background" which lets an
+    autologin happen in a second display while still showing the
+    greeter.
+  - Stop if fail to create default seat
+  - Add option to set seat type in lightdm-set-defaults
+  - Stop using g_file_set_contents - it can leave intermediate
+    files around
+  - Make tests work without installing them
+  - Fix distcheck
+- dropped obsolete lightdm-fix-pkgconfig.patch
+- added lightdm-fix-session-setup-script-env.patch in order to put
+  user information in the environment when running
+  session-setup-script
+
+-------------------------------------------------------------------
+Sat May  4 18:35:23 UTC 2013 - [email protected]
+
+- Added lightdm-fix-pkgconfig.patch, fixes liblightdm-3 pc file
+
+-------------------------------------------------------------------
+Thu May  2 12:27:18 UTC 2013 - [email protected]
+
+- import pam config used by the gdm greeter which includes
+  common-session that in turn contains pam_systemd and registers
+  the greeter session allowing suspend/hibernate/reboot/shutdown
+- consequently remove lightdm.rules workaround for policykit
+
+-------------------------------------------------------------------
+Thu May  2 10:30:02 UTC 2013 - [email protected]
+
+- remove support for openSUSE 12.1
+- remove dependency on upower
+- amend lightdm.rules with a rule for logind
+
+-------------------------------------------------------------------
+Wed May  1 18:24:04 UTC 2013 - [email protected]
+
+- Update to version 1.7.0
+  - Use logind instead of ConsoleKit if it is available
+  - Use Q_SLOTS and Q_SIGNALS instead of slots and signals.
+  - Ignore stale X server locks
+  - Pass through system locale or set locale from 
+    AccountsService/.dmrc
+  - Fix bug where seat failure before D-Bus acquired would not 
+    stop daemon
+- Dropped patches due to upstream inclusion: 
+  - lightdm-make-sessions-inherit-system-default-locale.patch
+  - lightdm-fix-language-setting.patch
+  - lightdm-do-not-strip-codeset-from-language.patch
+  - lightdm-fix-function-declarations-missing-prototypes.patch
+
+- Drop Require for ConsoleKit-X11 as that lightdm now supports 
+  systemd
+
+-------------------------------------------------------------------
+Thu Apr 18 08:14:40 UTC 2013 - [email protected]
+
+- remove apparmor profile for a guest session which is not
+  supported in openSUSE
+
+-------------------------------------------------------------------
+Mon Apr 15 07:49:35 UTC 2013 - [email protected]
+
+- update to version 1.6.0
+  - allow VNC command to be specified in lightdm.conf
+  - fix build with gobject-introspection 1.35.9
+  - fix authentication cancel regression caused in 1.5.2
+  - fix stale X server being left behind when using LockSession
+    D-Bus API
+  - adjust AppArmor profile to also work with logind
+  - don't use GIO to access X authority files - it uses GVFS which
+    is unnecessary overhead/complexity
+  - handle over/underflows when reading from greeter
+  - improve warning message when XDMCP packet has length mismatch
+  - only report test command line if it fails
+  - add more regression tests
+  - QLightDM: Add Qt5 version of the library: liblightdm-qt5-2
+  - QLightDM: Add some missing role names in UsersModel
+  - QLightDM: Add a backgroundPath role to UsersModel
+  - QLightDM: Fix potential crash in QLightDM::UsersModel closedown
+  - improve guest session apparmor
+  - run each test in its own /tmp dir so they can't interfere with
+    eachother
+  - fix script hooks no longer working with latest glib
+  - fix display clean up code
+  - add man page for lightdm-set-defaults
+  - use xzip for distribution, don't distribute old metadata
+  - correctly check if display is active when session quits
++++ 506 more lines (skipped)
++++ between /dev/null
++++ and /work/SRC/openSUSE:13.1:Update/.lightdm.2120.new/lightdm.changes

New:
----
  X11-displaymanagers-lightdm
  lightdm-1.8.0.tar.xz
  lightdm-default-configuration.patch
  lightdm-destroy-quit-timeout.patch
  lightdm-disable-utmp-handling.patch
  lightdm-fix-session-setup-script-env.patch
  lightdm-greeter.pamd
  lightdm-lock-screen-before-switch.patch
  lightdm-rpmlintrc
  lightdm-set-gdmflexiserver-envvar.patch
  lightdm-set-xdg-session-class.patch
  lightdm-sysconfig-support.patch
  lightdm-use-run-dir.patch
  lightdm-xauthlocalhostname-support.patch
  lightdm.changes
  lightdm.spec

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

Other differences:
------------------
++++++ lightdm.spec ++++++
#
# spec file for package lightdm
#
# Copyright (c) 2013 SUSE LINUX Products GmbH, Nuernberg, Germany.
# Copyright (c) 2011 Guido Berhoerster.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.

# Please submit bugfixes or comments via http://bugs.opensuse.org/
#


%define gobject_libname lightdm-gobject-1
%define gobject_lib     lib%{gobject_libname}-0
%define qt_libname      lightdm-qt-3
%define qt_lib          lib%{qt_libname}-0
%if 0%{?suse_version} >= 1230
%define rundir          /run
%else
%define rundir          %{_localstatedir}/run
%endif

Name:           lightdm
Version:        1.8.0
Release:        0
Summary:        Lightweight, Cross-desktop Display Manager
License:        GPL-3.0+
Group:          System/X11/Displaymanagers
Url:            http://www.freedesktop.org/wiki/Software/LightDM
Source0:        
https://launchpad.net/lightdm/1.8/%{version}/+download/%{name}-%{version}.tar.xz
Source1:        %{name}-greeter.pamd
Source2:        X11-displaymanagers-%{name}
Source100:      %{name}-rpmlintrc
# PATCH-FEATURE-OPENSUSE lightdm-sysconfig-support.patch [email protected] -- 
Adds support for reading configuration options from 
/etc/sysconfig/displaymanager and /etc/sysconfig/windowmanager
Patch0:         lightdm-sysconfig-support.patch
# PATCH-FEATURE-OPENSUSE lightdm-xauthlocalhostname-support.patch bnc#796230 
[email protected] -- Set XAUTHLOCALHOSTNAME to the hostname for local logins to 
avoid issues in the session in case the hostname changes
Patch1:         lightdm-xauthlocalhostname-support.patch
# PATCH-FEATURE-OPENSUSE lightdm-set-gdmflexiserver-envvar.patch 
[email protected] -- Sets the GDMFLEXISERVER environment variable for the 
gdmflexiserver wrapper
Patch2:         lightdm-set-gdmflexiserver-envvar.patch
# PATCH-FEATURE-OPENSUSE lightdm-default-configuration.patch [email protected] 
-- Modifies configuration with suitable defaults for openSUSE
Patch3:         lightdm-default-configuration.patch
# PATCH-FIX-UPSTREAM lightdm-lock-screen-before-switch.patch [email protected] 
-- Try to lock the screen before switching users
Patch4:         lightdm-lock-screen-before-switch.patch
# PATCH-FIX-OPENSUSE lightdm-disable-utmp-handling.patch [email protected] -- 
Disable utmp handling since this is handled in the Xstartup/Xreset scripts
Patch5:         lightdm-disable-utmp-handling.patch
# PATCH-FIX-OPENSUSE lightdm-use-run-dir.patch [email protected] -- Use /run 
instead of /var/run
Patch6:         lightdm-use-run-dir.patch
# PATCH-FIX-UPSTREAM lightdm-fix-session-setup-script-env.patch 
[email protected] -- Put user information in the environment when running 
session-setup-script
Patch7:         lightdm-fix-session-setup-script-env.patch
# PATCH-FIX-UPSTREAM lightdm-destroy-quit-timeout.patch lp#1207935 
[email protected] -- Destroy quit timeout when a process object is destroyed - 
fixes a crash where a deleted Process object might be accessed after a timeout 
(backported from upstream bzr)
Patch8:         lightdm-destroy-quit-timeout.patch
# PATCH-FIX-UPSTREAM lightdm-set-xdg-session-class.patch bnc#846914 lp#1242939 
[email protected] -- Correctly set $XDG_SESSION_CLASS for greeters (backported 
from upstream bzr)
Patch9:         lightdm-set-xdg-session-class.patch
BuildRequires:  gcc-c++
BuildRequires:  gnome-common
BuildRequires:  gtk-doc
BuildRequires:  intltool
BuildRequires:  libgcrypt-devel
BuildRequires:  pam-devel
BuildRequires:  xdm
BuildRequires:  pkgconfig(QtCore)
BuildRequires:  pkgconfig(QtDBus)
BuildRequires:  pkgconfig(QtGui)
BuildRequires:  pkgconfig(gio-2.0)
BuildRequires:  pkgconfig(gio-unix-2.0)
BuildRequires:  pkgconfig(glib-2.0)
BuildRequires:  pkgconfig(gobject-2.0)
BuildRequires:  pkgconfig(gobject-introspection-1.0)
BuildRequires:  pkgconfig(libxklavier)
BuildRequires:  pkgconfig(x11)
BuildRequires:  pkgconfig(xcb)
BuildRequires:  pkgconfig(xdmcp)
Requires(pre):  pwdutils
# 3rd party greeters don't have to follow
# the same versioning of lightdm
Requires:       lightdm-greeter
# uses pam configuration and relies on scripts provided by xdm
Requires:       gdmflexiserver
Requires:       xdm
Recommends:     %{name}-lang
BuildRoot:      %{_tmppath}/%{name}-%{version}-build

%description
LightDM is a lightweight, cross-desktop display manager. Its main features are
a well-defined greeter API allowing multiple GUIs, support for all display
manager use cases, with plugins where appropriate, low code complexity, and
fast performance. Due to its cross-platform nature greeters can be written in
several toolkits such as Qt and GTK.

%lang_package

%package -n %{gobject_lib}
Summary:        LightDM GObject-based Client Library
License:        LGPL-2.0 or LGPL-3.0
Group:          System/Libraries
Recommends:     accountsservice

%description -n %{gobject_lib}
A GObject-based library for LightDM clients to use to interface with LightDM.

%package gobject-devel
Summary:        Development Files for %{gobject_lib}
License:        LGPL-2.0 or LGPL-3.0
Group:          Development/Libraries/C and C++
Requires:       %{gobject_lib} = %{version}

%description gobject-devel
This package contains development files needed for developing GObject-based
LightDM clients.

%package -n %{qt_lib}
Summary:        LightDM Qt-based Client Library
License:        LGPL-2.0 or LGPL-3.0
Group:          System/Libraries

%description -n %{qt_lib}
A Qt-based library for LightDM clients to use to interface with LightDM.

%package qt-devel
Summary:        Development Files for %{qt_lib}
License:        LGPL-2.0 or LGPL-3.0
Group:          Development/Libraries/C and C++
Requires:       %{qt_lib} = %{version}

%description qt-devel
This package contains development files needed for developing Qt-based
LightDM clients.

%prep
%setup -q
%patch0 -p1
%patch1 -p1
%patch2 -p1
%patch3 -p1
%patch4 -p1
%patch5 -p1
%if 0%{?suse_version} >= 1230
%patch6 -p1
%endif
%patch7 -p1
%patch8 -p1
%patch9 -p1

%build
bash ./autogen.sh
%configure \
    --libexecdir=%{_libexecdir} \
    --disable-static \
    --enable-gtk-doc \
    --with-user-session=twm \
    --with-greeter-session=lightdm-default-greeter \
    --with-greeter-user=lightdm
make %{?_smp_mflags} V=1

%install
%make_install

rm -f %{buildroot}%{_libdir}/*.la

# upstart configuration is not needed
rm -rf %{buildroot}%{_sysconfdir}/init/

# there is no guest session support in openSUSE
rm -rf %{buildroot}%{_sysconfdir}/apparmor.d/

# these are useless stubs for now
rm -rf %{buildroot}%{_datadir}/help/

ln -sf %{_sysconfdir}/pam.d/xdm %{buildroot}%{_sysconfdir}/pam.d/lightdm
ln -sf %{_sysconfdir}/pam.d/xdm-np 
%{buildroot}%{_sysconfdir}/pam.d/lightdm-autologin
install -D -m 644 -p %{SOURCE1} %{buildroot}%{_sysconfdir}/pam.d/lightdm-greeter
install -D -m 644 -p %{SOURCE2} 
%{buildroot}%{_libexecdir}/X11/displaymanagers/lightdm

install -d %{buildroot}%{_datadir}/lightdm/greeters
install -d %{buildroot}%{_datadir}/xgreeters
install -d %{buildroot}%{_datadir}/lightdm/sessions
install -d %{buildroot}%{_datadir}/lightdm/remote-sessions
install -d %{buildroot}%{_localstatedir}/log/lightdm
install -d %{buildroot}%{rundir}/lightdm
install -d %{buildroot}%{_localstatedir}/lib/lightdm
install -d %{buildroot}%{_localstatedir}/cache/lightdm

%find_lang %{name} %{?no_lang_C}

%clean
rm -rf %{buildroot}

%pre
/usr/sbin/groupadd -r lightdm 2> /dev/null || :
/usr/sbin/useradd -r -g lightdm -s /bin/false -c "LightDM daemon" \
    -d /var/lib/lightdm lightdm 2> /dev/null || :
/usr/sbin/usermod -g lightdm -G lightdm -s /bin/false lightdm 2> /dev/null

%post -n %{gobject_lib} -p /sbin/ldconfig

%postun -n %{gobject_lib} -p /sbin/ldconfig

%post -n %{qt_lib} -p /sbin/ldconfig

%postun -n %{qt_lib} -p /sbin/ldconfig

%files
%defattr(-,root,root,-)
%doc COPYING.GPL3 NEWS
%{_bindir}/dm-tool
%{_sbindir}/lightdm
%dir %{_libexecdir}/lightdm/
%{_libexecdir}/%{name}/lightdm-set-defaults
%{_libexecdir}/%{name}/lightdm-guest-session-wrapper
%{_libexecdir}/%{name}/gdmflexiserver
%dir %{_sysconfdir}/lightdm/
%config %{_sysconfdir}/lightdm/lightdm.conf
%config %{_sysconfdir}/lightdm/users.conf
%config %{_sysconfdir}/lightdm/keys.conf
%config %{_sysconfdir}/pam.d/lightdm*
%config %{_sysconfdir}/dbus-1/system.d/org.freedesktop.DisplayManager.conf
%dir %{_libexecdir}/X11/displaymanagers/
%{_libexecdir}/X11/displaymanagers/lightdm
%{_datadir}/lightdm
%dir %{_datadir}/xgreeters/
%ghost %attr(711,lightdm,lightdm) %dir %{rundir}/lightdm
%attr(750,lightdm,lightdm) %dir %{_localstatedir}/log/lightdm
%attr(750,lightdm,lightdm) %dir %{_localstatedir}/lib/lightdm
%ghost %attr(711,root,root) %dir %{_localstatedir}/cache/lightdm
%doc %{_mandir}/man1/lightdm.1*
%doc %{_mandir}/man1/lightdm-set-defaults.1*

%files lang -f %{name}.lang

%files -n %{gobject_lib}
%defattr(-,root,root,-)
%doc COPYING.LGPL2 COPYING.LGPL3
%{_libdir}/lib%{gobject_libname}.so.*

%files gobject-devel
%defattr(-,root,root,-)
%{_libdir}/lib%{gobject_libname}.so
%{_libdir}/pkgconfig/lib%{gobject_libname}.pc
%{_includedir}/%{gobject_libname}/
%{_libdir}/girepository-1.0/LightDM-1.typelib
%{_datadir}/gir-1.0/LightDM-1.gir
%dir %{_datadir}/vala
%dir %{_datadir}/vala/vapi
%{_datadir}/vala/vapi/liblightdm-gobject-1.vapi
%doc %{_datadir}/gtk-doc/html/%{gobject_libname}/

%files -n %{qt_lib}
%defattr(-,root,root,-)
%doc COPYING.LGPL2 COPYING.LGPL3
%{_libdir}/lib%{qt_libname}.so.*

%files qt-devel
%defattr(-,root,root,-)
%{_libdir}/lib%{qt_libname}.so
%{_libdir}/pkgconfig/lib%{qt_libname}.pc
%{_includedir}/%{qt_libname}/

%changelog
++++++ X11-displaymanagers-lightdm ++++++
lightdm_reload_proc() {
    /etc/init.d/xdm restart
    exit $?
}

lightdm_vars() {
    case $1 in
        lightdm)
            DISPLAYMANAGER=/usr/sbin/lightdm
            RELOADPROC=lightdm_reload_proc
            ;;
        *)
            return 1
            ;;
    esac
    return 0
}
++++++ lightdm-default-configuration.patch ++++++
openSUSE-specific default configuration

diff --git a/data/lightdm.conf b/data/lightdm.conf
--- a/data/lightdm.conf
+++ b/data/lightdm.conf
@@ -51,7 +51,7 @@
 #minimum-display-number=0
 #minimum-vt=7
 #lock-memory=true
-#user-authority-in-system-dir=false
+user-authority-in-system-dir=true
 #guest-account-script=guest-account
 #log-directory=/var/log/lightdm
 #run-directory=/var/run/lightdm
@@ -103,6 +103,7 @@
 #type=xlocal
 #xdg-seat=seat0
 #xserver-command=X
+xserver-command=/usr/bin/X
 #xserver-layout=
 #xserver-config=
 #xserver-allow-tcp=false
@@ -122,12 +123,12 @@
 #user-session=default
 #allow-guest=true
 #guest-session=UNIMPLEMENTED
-#session-wrapper=lightdm-session
+session-wrapper=/etc/X11/xdm/Xsession
 #greeter-wrapper=
 #display-setup-script=
-#greeter-setup-script=
-#session-setup-script=
-#session-cleanup-script=
+greeter-setup-script=/etc/X11/xdm/Xsetup
+session-setup-script=/etc/X11/xdm/Xstartup
+session-cleanup-script=/etc/X11/xdm/Xreset
 #autologin-guest=false
 #autologin-user=
 #autologin-user-timeout=0
diff --git a/data/users.conf b/data/users.conf
--- a/data/users.conf
+++ b/data/users.conf
@@ -9,6 +9,6 @@
 # hidden-shells = Shells that indicate a user cannot login
 #
 [UserAccounts]
-minimum-uid=500
-hidden-users=nobody nobody4 noaccess
-hidden-shells=/bin/false /usr/sbin/nologin
+minimum-uid=1000
+hidden-users=nobody
+hidden-shells=/bin/false /sbin/nologin
++++++ lightdm-destroy-quit-timeout.patch ++++++
=== modified file 'src/process.c'
Index: lightdm-1.8.0/src/process.c
===================================================================
--- lightdm-1.8.0.orig/src/process.c
+++ lightdm-1.8.0/src/process.c
@@ -297,6 +297,8 @@ process_finalize (GObject *object)
 
     g_free (self->priv->command);
     g_hash_table_unref (self->priv->env);
+    if (self->priv->quit_timeout)
+        g_source_remove (self->priv->quit_timeout);
     if (self->priv->watch)
         g_source_remove (self->priv->watch);
 
++++++ lightdm-disable-utmp-handling.patch ++++++
# HG changeset patch
# Parent e7b391d67ca5135c48d1aef993e2aedfbce4345e
disable utmp handling since this is handled in the Xstartup/Xreset scripts

diff --git a/src/session-child.c b/src/session-child.c
--- a/src/session-child.c
+++ b/src/session-child.c
@@ -13,7 +13,9 @@
 #include <grp.h>
 #include <glib.h>
 #include <security/pam_appl.h>
+#if 0
 #include <utmpx.h>
+#endif
 #include <sys/mman.h>
 
 #include "configuration.h"
@@ -597,6 +599,7 @@ session_child_run (int argc, char **argv
     /* Wait for the command to complete (blocks) */
     if (child_pid > 0)
     {
+#if 0
         /* Log to utmp */
         if (g_strcmp0 (class, XDG_SESSION_CLASS_GREETER) != 0)
         {
@@ -624,10 +627,10 @@ session_child_run (int argc, char **argv
                 g_printerr ("Failed to write utmpx: %s\n", strerror (errno));
             endutxent ();
         }
-
+#endif
         waitpid (child_pid, &return_code, 0);
         child_pid = 0;
-
+#if 0
         /* Log to utmp */
         if (g_strcmp0 (class, XDG_SESSION_CLASS_GREETER) != 0)
         {
@@ -655,6 +658,7 @@ session_child_run (int argc, char **argv
                 g_printerr ("Failed to write utmpx: %s\n", strerror (errno));
             endutxent ();
         }
+#endif
     }
 
     /* Remove X authority */
++++++ lightdm-fix-session-setup-script-env.patch ++++++
# HG changeset patch
# Parent f537e458b1a5e1e92d5030bdc77dfc1540433c70
Put user information in the environment when running session-setup-script

diff --git a/src/seat.c b/src/seat.c
--- a/src/seat.c
+++ b/src/seat.c
@@ -470,12 +470,16 @@ static void
 run_session (Seat *seat, Session *session)
 {
     const gchar *script;
+    User *user = NULL;
 
     if (IS_GREETER (session))
         script = seat_get_string_property (seat, "greeter-setup-script");
     else
+    {
         script = seat_get_string_property (seat, "session-setup-script");
-    if (script && !run_script (seat, session_get_display_server (session), 
script, NULL))
+        user = session_get_user (session);
+    }
+    if (script && !run_script (seat, session_get_display_server (session), 
script, user))
     {
         l_debug (seat, "Switching to greeter due to failed setup script");
         switch_to_greeter_from_failed_session (seat, session);
++++++ lightdm-greeter.pamd ++++++
#%PAM-1.0
# LightDM PAM configuration used only for the greeter session
auth     required       pam_permit.so
account  required       pam_permit.so
password include        common-password
session  required       pam_loginuid.so
session  include        common-session
++++++ lightdm-lock-screen-before-switch.patch ++++++
try to lock the screen before switching users

diff --git a/utils/gdmflexiserver b/utils/gdmflexiserver
--- a/utils/gdmflexiserver
+++ b/utils/gdmflexiserver
@@ -9,9 +9,47 @@
 #
 # See http://www.gnu.org/copyleft/gpl.html for the full text of the license.
 
+PATH=/usr/local/bin:/bin:/usr/bin
+export PATH
+
 if [ -z "$XDG_SEAT_PATH" ]; then
   # something went wrong
   exit 1
 fi
 
+find_command () {
+    cmd="$1"
+    oIFS="${IFS}"; IFS=:
+    set -- ${PATH}
+    IFS="${oIFS}"
+
+    for part; do
+        [ -x "${part}/${cmd}" ] && return 0
+    done
+    return 1
+}
+
+lock_screen () {
+    for lock_cmd in \
+        "xscreensaver-command -lock" \
+        "gnome-screensaver-command --lock" \
+        "dbus-send --session --dest=org.freedesktop.ScreenSaver 
--type=method_call /ScreenSaver org.freedesktop.ScreenSaver.Lock"
+    do
+        ${lock_cmd} >/dev/null 2>&1 && return
+    done
+
+    for lock_cmd in \
+        "slock" \
+        "xlock -mode blank"
+    do
+        set -- ${lock_cmd}
+        if find_command "$1"; then
+            ${lock_cmd} >/dev/null 2>&1 &
+            return
+        fi
+    done
+}
+
+lock_screen
+
 dbus-send --system --type=method_call --print-reply 
--dest=org.freedesktop.DisplayManager $XDG_SEAT_PATH 
org.freedesktop.DisplayManager.Seat.SwitchToGreeter
++++++ lightdm-rpmlintrc ++++++
addFilter ('untranslated-desktop-file /usr/share/xgreeters/')
++++++ lightdm-set-gdmflexiserver-envvar.patch ++++++
set the GDMFLEXISERVER environment variable for the gdmflexiserver wrapper

diff --git a/src/session-child.c b/src/session-child.c
--- a/src/session-child.c
+++ b/src/session-child.c
@@ -531,10 +531,7 @@ session_child_run (int argc, char **argv
         g_free (value);
     }
 
-    /* Put our tools directory in the path as a hack so we can use the legacy 
gdmflexiserver interface */
-    path = pam_getenv (pam_handle, "PATH");
-    if (path)
-        pam_putenv (pam_handle, g_strdup_printf ("PATH=%s:%s", PKGLIBEXEC_DIR, 
path));
+    pam_putenv (pam_handle, g_strdup_printf ("GDMFLEXISERVER=%s", 
PKGLIBEXEC_DIR "/gdmflexiserver"));
 
     /* Catch terminate signal and pass it to the child */
     signal (SIGTERM, signal_cb);
++++++ lightdm-set-xdg-session-class.patch ++++++
++++ 1648 lines (skipped)

++++++ lightdm-sysconfig-support.patch ++++++
++++ 658 lines (skipped)

++++++ lightdm-use-run-dir.patch ++++++
# HG changeset patch
# Parent 4415a32cab05e4dea9459f89aa25a58a042f23b2
Use /run instead of localstatedir/run/lightdm

diff --git a/src/Makefile.am b/src/Makefile.am
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -85,7 +85,7 @@ lightdm_CFLAGS = \
        -DSBIN_DIR=\"$(sbindir)\" \
        -DCONFIG_DIR=\"$(sysconfdir)/lightdm\" \
        -DLOG_DIR=\"$(localstatedir)/log/lightdm\" \
-       -DRUN_DIR=\"$(localstatedir)/run/lightdm\" \
+       -DRUN_DIR=\"/run/lightdm\" \
        -DCACHE_DIR=\"$(localstatedir)/cache/lightdm\" \
        -DSYSTEM_CONFIG_DIR=\"$(pkgdatadir)/lightdm.conf.d\" \
        -DSESSIONS_DIR=\"$(pkgdatadir)/sessions:$(datadir)/xsessions\" \
++++++ lightdm-xauthlocalhostname-support.patch ++++++
Set XAUTHLOCALHOSTNAME to the hostname for local logins to avoid issues in the 
session in case the hostname changes

diff --git a/src/Makefile.am b/src/Makefile.am
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -74,7 +74,9 @@ lightdm_SOURCES = \
        xdmcp-session.h \
        xdmcp-session-private.h \
        opensuse-sysconfig.c \
-       opensuse-sysconfig.h
+       opensuse-sysconfig.h \
+       util.c \
+       util.h
 
 lightdm_CFLAGS = \
        $(LIGHTDM_CFLAGS) \
diff --git a/src/seat-xlocal.c b/src/seat-xlocal.c
--- a/src/seat-xlocal.c
+++ b/src/seat-xlocal.c
@@ -16,6 +16,7 @@
 #include "x-server-local.h"
 #include "plymouth.h"
 #include "vt.h"
+#include "util.h"
 
 G_DEFINE_TYPE (SeatXLocal, seat_xlocal, SEAT_TYPE);
 
@@ -235,12 +236,16 @@ static void
 seat_xlocal_run_script (Seat *seat, DisplayServer *display_server, Process 
*script)
 {
     const gchar *path;
+    gchar *hostname;
     XServerLocal *x_server;
 
     x_server = X_SERVER_LOCAL (display_server);
     path = x_server_local_get_authority_file_path (x_server);
     process_set_env (script, "DISPLAY", x_server_get_address (X_SERVER 
(x_server)));
     process_set_env (script, "XAUTHORITY", path);
+    hostname = lightdm_gethostname ();
+    process_set_env (script, "XAUTHLOCALHOSTNAME", hostname);
+    g_free (hostname);
 
     SEAT_CLASS (seat_xlocal_parent_class)->run_script (seat, display_server, 
script);
 }
diff --git a/src/util.c b/src/util.c
new file mode 100644
--- /dev/null
+++ b/src/util.c
@@ -0,0 +1,15 @@
+#include <unistd.h>
+#include <limits.h>
+#include <glib.h>
+#include "util.h"
+
+gchar *
+lightdm_gethostname (void)
+{
+    gchar hostname[HOST_NAME_MAX + 1];
+
+    if (gethostname (hostname, HOST_NAME_MAX) == 0)
+        return g_strdup (hostname);
+
+    return g_strdup ("localhost");
+}
diff --git a/src/util.h b/src/util.h
new file mode 100644
--- /dev/null
+++ b/src/util.h
@@ -0,0 +1,3 @@
+#include <glib.h>
+
+gchar * lightdm_gethostname (void);
diff --git a/src/x-server-local.c b/src/x-server-local.c
--- a/src/x-server-local.c
+++ b/src/x-server-local.c
@@ -22,6 +22,7 @@
 #include "configuration.h"
 #include "process.h"
 #include "vt.h"
+#include "util.h"
 
 struct XServerLocalPrivate
 {
@@ -152,13 +153,14 @@ XServerLocal *
 x_server_local_new (void)
 {
     XServerLocal *self = g_object_new (X_SERVER_LOCAL_TYPE, NULL);
-    gchar hostname[1024], *number, *name;
+    gchar *hostname, *number, *name;
 
     x_server_set_display_number (X_SERVER (self), 
x_server_local_get_unused_display_number ());
 
-    gethostname (hostname, 1024);
+    hostname = lightdm_gethostname ();
     number = g_strdup_printf ("%d", x_server_get_display_number (X_SERVER 
(self)));
     x_server_set_authority (X_SERVER (self), x_authority_new_cookie 
(XAUTH_FAMILY_LOCAL, (guint8*) hostname, strlen (hostname), number));
+    g_free (hostname);
     g_free (number);
 
     name = g_strdup_printf ("x-%d", x_server_get_display_number (X_SERVER 
(self)));
diff --git a/src/x-server.c b/src/x-server.c
--- a/src/x-server.c
+++ b/src/x-server.c
@@ -15,6 +15,8 @@
 
 #include "x-server.h"
 #include "configuration.h"
+#include "x-server-local.h"
+#include "util.h"
 
 struct XServerPrivate
 {  
@@ -168,6 +170,12 @@ x_server_connect_session (DisplayServer 
     else
         l_debug (session, "Not setting XDG_VTNR");
 
+    if (IS_X_SERVER_LOCAL (display_server))
+    {
+        gchar *hostname = lightdm_gethostname ();
+        session_set_env (session, "XAUTHLOCALHOSTNAME", hostname);
+        g_free (hostname);
+    }
     session_set_env (session, "DISPLAY", x_server_get_address (X_SERVER 
(display_server)));
     session_set_xdisplay (session, x_server_get_address (X_SERVER 
(display_server)));
     session_set_remote_host_name (session, x_server_get_hostname (X_SERVER 
(display_server)));
-- 
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to