[SCM] sddm packaging branch, kubuntu_xenial_archive, updated. ubuntu/0.13.0-1ubuntu5
Philip Muškovac
yofel-guest at moszumanska.debian.org
Fri Jan 15 00:27:16 UTC 2016
Gitweb-URL: http://git.debian.org/?p=pkg-kde/kde-std/sddm.git;a=commitdiff;h=6231c0e
The following commit has been merged in the kubuntu_xenial_archive branch:
commit 6231c0ee2ee4b80f92a574f589eae70ab1b73051
Author: Philip Muškovac <yofel at gmx.net>
Date: Fri Jan 15 01:26:51 2016 +0100
Add upstream patch to fix autologin failures
---
debian/changelog | 7 ++
debian/patches/series | 1 +
debian/patches/upstream_autologin_fallback.diff | 88 +++++++++++++++++++++++++
3 files changed, 96 insertions(+)
diff --git a/debian/changelog b/debian/changelog
index e0a4db3..d775a71 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,10 @@
+sddm (0.13.0-1ubuntu5) xenial; urgency=medium
+
+ * Cherry-pick cb768895c8e0d21c689d63f69d7ac668fe4e8fa6 so there is a working
+ way to login if autologin fails on an invalid session config
+
+ -- Philip Muškovac <yofel at kubuntu.org> Fri, 15 Jan 2016 01:25:13 +0100
+
sddm (0.13.0-1ubuntu4) xenial; urgency=medium
* Switch the watch file back to gz as xz lookup on GitHub isn't really
diff --git a/debian/patches/series b/debian/patches/series
index 91b5a3c..a635083 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -1,3 +1,4 @@
+upstream_autologin_fallback.diff
01_sddm_systemctl.diff
02_kubuntu_use_breeze.diff
04_set_default_path.diff
diff --git a/debian/patches/upstream_autologin_fallback.diff b/debian/patches/upstream_autologin_fallback.diff
new file mode 100644
index 0000000..652e497
--- /dev/null
+++ b/debian/patches/upstream_autologin_fallback.diff
@@ -0,0 +1,88 @@
+From cb768895c8e0d21c689d63f69d7ac668fe4e8fa6 Mon Sep 17 00:00:00 2001
+From: Jerome Leclanche <jerome at leclan.ch>
+Date: Thu, 5 Nov 2015 21:28:22 +0200
+Subject: [PATCH] Fall back to regular login when autologin fails
+
+Fixes #316
+---
+ src/daemon/Display.cpp | 42 +++++++++++++++++++++++++-----------------
+ src/daemon/Display.h | 1 +
+ 2 files changed, 26 insertions(+), 17 deletions(-)
+
+diff --git a/src/daemon/Display.cpp b/src/daemon/Display.cpp
+index 8de59e5..6bc9965 100644
+--- a/src/daemon/Display.cpp
++++ b/src/daemon/Display.cpp
+@@ -103,6 +103,29 @@ namespace SDDM {
+ m_displayServer->start();
+ }
+
++ bool Display::attemptAutologin() {
++ Session::Type sessionType = Session::X11Session;
++
++ // determine session type
++ const QString &autologinSession = mainConfig.Autologin.Session.get();
++ if (findSessionEntry(mainConfig.XDisplay.SessionDir.get(), autologinSession)) {
++ sessionType = Session::X11Session;
++ } else if (findSessionEntry(mainConfig.WaylandDisplay.SessionDir.get(), autologinSession)) {
++ sessionType = Session::WaylandSession;
++ } else {
++ qCritical() << "Unable to find autologin session entry" << autologinSession;
++ return false;
++ }
++
++ Session session;
++ session.setTo(sessionType, autologinSession);
++
++ m_auth->setAutologin(true);
++ startAuth(mainConfig.Autologin.User.get(), QString(), session);
++
++ return true;
++ }
++
+ void Display::displayServerStarted() {
+ // check flag
+ if (m_started)
+@@ -122,25 +145,10 @@ namespace SDDM {
+ // set flags
+ m_started = true;
+
+- // determine session type
+- const QString &autologinSession = mainConfig.Autologin.Session.get();
+- Session session;
+- if (findSessionEntry(mainConfig.XDisplay.SessionDir.get(), autologinSession)) {
+- session.setTo(Session::X11Session, autologinSession);
+- } else if (findSessionEntry(mainConfig.WaylandDisplay.SessionDir.get(), autologinSession)) {
+- session.setTo(Session::WaylandSession, autologinSession);
+- } else {
+- qCritical() << "Unable to find autologin session entry" << autologinSession;
+- emit loginFailed(m_socket);
++ bool success = attemptAutologin();
++ if (success) {
+ return;
+ }
+-
+- // start session
+- m_auth->setAutologin(true);
+- startAuth(mainConfig.Autologin.User.get(), QString(), session);
+-
+- // return
+- return;
+ }
+
+ // start socket server
+diff --git a/src/daemon/Display.h b/src/daemon/Display.h
+index dc46463..3d6d6a5 100644
+--- a/src/daemon/Display.h
++++ b/src/daemon/Display.h
+@@ -60,6 +60,7 @@ namespace SDDM {
+ void login(QLocalSocket *socket,
+ const QString &user, const QString &password,
+ const Session &session);
++ bool attemptAutologin();
+ void displayServerStarted();
+
+ signals:
+--
+2.7.0.rc3
+
--
sddm packaging
More information about the pkg-kde-commits
mailing list