Hello community,

here is the log from the commit of package sddm for openSUSE:Factory checked in 
at 2015-05-11 19:32:57
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/sddm (Old)
 and      /work/SRC/openSUSE:Factory/.sddm.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "sddm"

Changes:
--------
--- /work/SRC/openSUSE:Factory/sddm/sddm.changes        2015-03-18 
13:06:30.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.sddm.new/sddm.changes   2015-05-11 
19:33:01.000000000 +0200
@@ -1,0 +2,18 @@
+Mon May  4 18:41:58 UTC 2015 - [email protected]
+
+- Add sysconfig-support.patch: Support DISPLAYMANAGER_AUTOLOGIN
+  entry from /etc/sysconfig/displaymanager, the value overwrites
+  any entry in sddm.conf/[Autologin]/User. Patch also defaults
+  to plasma5.desktop as default autologin and last selected 
+  sessions. This is controlled only by sddm.conf file.
+- Mark sddm.conf as %config(noreplace)
+
+-------------------------------------------------------------------
+Wed Apr 29 22:18:05 UTC 2015 - [email protected]
+
+- Added sddm-relaxed-auth.diff: Insert XAUTHLOCALHOSTNAME into
+  users enviroment, so the session handles hostname changes with
+  a single X instance/run
+- Use breeze_cursors in openSUSE branding
+
+-------------------------------------------------------------------

New:
----
  sddm-relaxed-auth.diff
  sysconfig-support.patch

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

Other differences:
------------------
++++++ sddm.spec ++++++
--- /var/tmp/diff_new_pack.wVxODe/_old  2015-05-11 19:33:02.000000000 +0200
+++ /var/tmp/diff_new_pack.wVxODe/_new  2015-05-11 19:33:02.000000000 +0200
@@ -33,6 +33,12 @@
 Patch0:         proper_pam.diff
 # PATCH-FIX-OPENSUSE create_pid_file.patch -- openSUSE's generic 
display-manager service doesn't know what to do without a pid file. drop the 
patch as soon as that sick dinosaur is killed
 Patch1:         create_pid_file.patch
+# PATCH-FIX-OPENSUSE sddm-relaxed-auth.diff -- Insert XAUTHLOCALHOSTNAME into 
users enviroment, so the session handles hostname changes with a single X 
instance/run
+# related patches: libxcb/bug-262309_xcb-xauthlocalhostname.diff, 
xauth/xauth-tolerant-hostname-changes.diff, 
kdebase4-workspace/kdm-relaxed-auth.diff
+Patch2:         sddm-relaxed-auth.diff
+# PATCH-FIX-OPENSUSE sysconfig-support.patch -- Support 
DISPLAYMANAGER_AUTOLOGIN entry from /etc/sysconfig/displaymanager, the value 
overwrites
+# any entry in sddm.conf/[Autologin]/User. Patch also defaults to 
plasma5.desktop as default autologin session. This is controlled only by 
sddm.conf file.
+Patch3:         sysconfig-support.patch
 BuildRequires:  cmake
 BuildRequires:  fdupes
 BuildRequires:  kf5-filesystem
@@ -89,6 +95,8 @@
 %setup -q -n %{name}-%{version}
 %patch0 -p1
 %patch1 -p1
+%patch2 -p1
+%patch3 -p1
 
 %build
 %cmake \
@@ -135,7 +143,7 @@
 %files
 %defattr(-,root,root)
 %doc COPYING* README*
-%config %{_sysconfdir}/%{name}.conf
+%config(noreplace) %{_sysconfdir}/%{name}.conf
 %config %{_sysconfdir}/pam.d/sddm
 %config %{_sysconfdir}/pam.d/sddm-autologin
 %config %{_sysconfdir}/pam.d/sddm-greeter

++++++ sddm-relaxed-auth.diff ++++++
diff --git a/src/daemon/XorgDisplayServer.cpp b/src/daemon/XorgDisplayServer.cpp
index f10ad82..f7dddbb 100644
--- a/src/daemon/XorgDisplayServer.cpp
+++ b/src/daemon/XorgDisplayServer.cpp
@@ -229,6 +229,7 @@ namespace SDDM {
         // set process environment
         QProcessEnvironment env;
         env.insert("DISPLAY", m_display);
+        env.insert("XAUTHLOCALHOSTNAME", daemonApp->hostName());
         env.insert("HOME", "/");
         env.insert("PATH", mainConfig.Users.DefaultPath.get());
         env.insert("XAUTHORITY", m_authPath);
diff --git a/src/helper/Backend.cpp b/src/helper/Backend.cpp
index fc933f9..6cb6fa9 100644
--- a/src/helper/Backend.cpp
+++ b/src/helper/Backend.cpp
@@ -26,6 +26,7 @@
 #include "UserSession.h"
 
 #include <QtCore/QProcessEnvironment>
+#include <QtNetwork/QHostInfo>
 
 #include <pwd.h>
 
@@ -64,6 +65,7 @@ namespace SDDM {
             env.insert("LOGNAME", pw->pw_name);
             if (env.contains("DISPLAY") && !env.contains("XAUTHORITY"))
                 env.insert("XAUTHORITY", 
QString("%1/.Xauthority").arg(pw->pw_dir));
+            env.insert("XAUTHLOCALHOSTNAME", QHostInfo::localHostName());
             // TODO: I'm fairly sure this shouldn't be done for PAM sessions, 
investigate!
             m_app->session()->setProcessEnvironment(env);
         }
++++++ sddm.conf ++++++
--- /var/tmp/diff_new_pack.wVxODe/_old  2015-05-11 19:33:02.000000000 +0200
+++ /var/tmp/diff_new_pack.wVxODe/_new  2015-05-11 19:33:02.000000000 +0200
@@ -1,8 +1,9 @@
 [Theme]
 Current=breeze
+CursorTheme=breeze_cursors
 
 [XDisplay]
 ServerPath=/usr/bin/X
 SessionCommand=/etc/X11/xdm/Xsession
 DisplayCommand=/etc/X11/xdm/Xsetup
-MinimumVT=7
\ No newline at end of file
+MinimumVT=7

++++++ sysconfig-support.patch ++++++
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 
4d6e0a9d1bdb0742bf5ae23a522091f3f1d14dda..a2af8bb6559826252b8abe63217eca1cacb5d842
 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -130,6 +130,7 @@ set(RUNTIME_DIR                 
"${CMAKE_INSTALL_FULL_LOCALSTATEDIR}/run/sddm"
 set(SESSION_COMMAND             "${DATA_INSTALL_DIR}/scripts/Xsession"         
     CACHE PATH      "Script to execute when starting the desktop session")
 
 set(CONFIG_FILE                 "${CMAKE_INSTALL_FULL_SYSCONFDIR}/sddm.conf"   
     CACHE PATH      "Path of the sddm config file")
+set(DYSPLAY_MANAGER_CONFIG_FILE 
"${CMAKE_INSTALL_FULL_SYSCONFDIR}/sysconfig/displaymanager"        CACHE PATH   
   "Path of the sysconfig/displaymanager config file")
 set(LOG_FILE                    
"${CMAKE_INSTALL_FULL_LOCALSTATEDIR}/log/sddm.log"  CACHE PATH      "Path of 
the sddm log file")
 set(COMPONENTS_TRANSLATION_DIR  "${DATA_INSTALL_DIR}/translations"             
     CACHE PATH      "Components translations directory")
 
diff --git a/src/common/Configuration.h b/src/common/Configuration.h
index 72aa6f4..95447c1 100644
--- a/src/common/Configuration.h
+++ b/src/common/Configuration.h
@@ -75,14 +75,14 @@ namespace SDDM {
         );
         Section(Autologin,
             Entry(User,                QString,     QString(),                 
                 _S("Autologin user"));
-            Entry(Session,             QString,     QString(),                 
                 _S("Autologin session"));
+            Entry(Session,             QString,     _S("plasma5.desktop"),     
                 _S("Autologin session"));
             Entry(Relogin,             bool,        false,                     
                 _S("Autologin again on session exit"));
         );
     );
 
     Config(StateConfig, []()->QString{auto tmp = getpwnam("sddm"); return tmp 
? tmp->pw_dir : STATE_DIR;}().append("/state.conf"),
         Section(Last,
-            Entry(Session,         QString,     QString(),                     
             _S("Name of the session file of the last session selected. This 
session will be preselected when the login screen shows up."));
+            Entry(Session,         QString,     _S("plasma5.desktop"),         
             _S("Name of the session file of the last session selected. This 
session will be preselected when the login screen shows up."));
             Entry(User,            QString,     QString(),                     
             _S("Name of the last logged-in user. This username will be 
preselected/shown when the login screen shows up"));
         );
     );
diff --git a/src/common/Constants.h.in b/src/common/Constants.h.in
index 
654331d6f22ce2c90ca510678cd137308c1000bd..9ca4b8c05f1d4b9a3533dbce83df0e12979a4809
 100644
--- a/src/common/Constants.h.in
+++ b/src/common/Constants.h.in
@@ -32,6 +32,7 @@
 #define SESSION_COMMAND             "@SESSION_COMMAND@"
 
 #define CONFIG_FILE                 "@CONFIG_FILE@"
+#define DYSPLAY_MANAGER_CONFIG_FILE "@DYSPLAY_MANAGER_CONFIG_FILE@"
 #define LOG_FILE                    "@LOG_FILE@"
 #define PID_FILE                    "@PID_FILE@"
 #define MINIMUM_VT                  @MINIMUM_VT@
diff --git a/src/daemon/Display.cpp b/src/daemon/Display.cpp
index 
87d0cc37c0f97b801ba1b7ffd1dd534e9fe92875..2f15cc62976d661977905f9964a1a558facc126c
 100644
--- a/src/daemon/Display.cpp
+++ b/src/daemon/Display.cpp
@@ -35,6 +35,7 @@
 #include <QDir>
 #include <QFile>
 #include <QTimer>
+#include <QSettings>
 
 #include <pwd.h>
 #include <unistd.h>
@@ -113,8 +114,19 @@ namespace SDDM {
         // log message
         qDebug() << "Display server started.";
 
+        QSettings sysconfSettings(DYSPLAY_MANAGER_CONFIG_FILE, 
QSettings::NativeFormat);
+        QString sysconfigUser = 
sysconfSettings.value("DISPLAYMANAGER_AUTOLOGIN", "").toString();
+
+        if (!sysconfigUser.isEmpty()) {
+            mainConfig.Autologin.User.set(sysconfigUser);
+            mainConfig.save();
+        } else  {
+            mainConfig.Autologin.User.set(QString());
+            mainConfig.save();
+        }
+
         if ((daemonApp->first || mainConfig.Autologin.Relogin.get()) &&
-            !mainConfig.Autologin.User.get().isEmpty() && 
!mainConfig.Autologin.Session.get().isEmpty()) {
+            !mainConfig.Autologin.User.get().isEmpty()) {
             // reset first flag
             daemonApp->first = false;
 

Reply via email to