sddm: update to 0.14.0

Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
This commit is contained in:
Andreas Müller
2016-11-10 19:47:01 +01:00
parent b082828764
commit f0151452d2
4 changed files with 178 additions and 43 deletions

View File

@@ -0,0 +1,36 @@
From 78099686910b727f4c27819a56e5dfaa41aaab05 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@googlemail.com>
Date: Thu, 10 Nov 2016 18:54:47 +0100
Subject: [PATCH] do not create example configutation - we cannot run sddm
cross
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Upstream-Status: Inappropriate [embedded specific]
Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
---
src/daemon/CMakeLists.txt | 9 +--------
1 file changed, 1 insertion(+), 8 deletions(-)
diff --git a/src/daemon/CMakeLists.txt b/src/daemon/CMakeLists.txt
index 8dccab6..b36a5fd 100644
--- a/src/daemon/CMakeLists.txt
+++ b/src/daemon/CMakeLists.txt
@@ -51,11 +51,4 @@ endif()
install(TARGETS sddm DESTINATION "${CMAKE_INSTALL_BINDIR}")
-# Generate and install the default config file
-add_custom_command(COMMAND sddm --example-config > "${CMAKE_BINARY_DIR}/sddm.conf"
- OUTPUT "${CMAKE_BINARY_DIR}/sddm.conf"
- COMMENT "Generate default sddm.conf file"
- DEPENDS sddm
-)
-add_custom_target(generate_config_file ALL DEPENDS "${CMAKE_BINARY_DIR}/sddm.conf")
-install(FILES "${CMAKE_BINARY_DIR}/sddm.conf" DESTINATION "${CMAKE_INSTALL_FULL_SYSCONFDIR}")
+
--
2.5.5

View File

@@ -0,0 +1,60 @@
From 987178bf27823f48804f29c57b0d18946e3b6d6b Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@googlemail.com>
Date: Thu, 10 Nov 2016 20:10:49 +0100
Subject: [PATCH] autologin: try last successful session if no autologin
session is set
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
* Have a system here with many sessions and want to autologin the last I used
* On first boot operator can select which session to select for autologin
Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
---
src/common/Configuration.h | 2 +-
src/daemon/Display.cpp | 8 ++++++--
2 files changed, 7 insertions(+), 3 deletions(-)
diff --git a/src/common/Configuration.h b/src/common/Configuration.h
index f2e7ae1..44b9c2e 100644
--- a/src/common/Configuration.h
+++ b/src/common/Configuration.h
@@ -91,7 +91,7 @@ namespace SDDM {
Section(Autologin,
Entry(User, QString, QString(), _S("Username for autologin session"));
- Entry(Session, QString, QString(), _S("Name of session file for autologin session"));
+ Entry(Session, QString, QString(), _S("Name of session file for autologin session (if empty try last logged in)"));
Entry(Relogin, bool, false, _S("Whether sddm should automatically log back into sessions when they exit"));
);
);
diff --git a/src/daemon/Display.cpp b/src/daemon/Display.cpp
index 2c9b0d3..785c941 100644
--- a/src/daemon/Display.cpp
+++ b/src/daemon/Display.cpp
@@ -109,7 +109,11 @@ namespace SDDM {
Session::Type sessionType = Session::X11Session;
// determine session type
- const QString &autologinSession = mainConfig.Autologin.Session.get();
+ QString autologinSession = mainConfig.Autologin.Session.get();
+ // not configured: try last successful logged in
+ if (autologinSession.isEmpty()) {
+ autologinSession = stateConfig.Last.Session.get();
+ }
if (findSessionEntry(mainConfig.X11.SessionDir.get(), autologinSession)) {
sessionType = Session::X11Session;
} else if (findSessionEntry(mainConfig.Wayland.SessionDir.get(), autologinSession)) {
@@ -140,7 +144,7 @@ namespace SDDM {
qDebug() << "Display server started.";
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;
--
2.5.5

View File

@@ -1,36 +1,47 @@
[Autologin]
# Autologin again on session exit
#Relogin=false
# Whether sddm should automatically log back into sessions when they exit
Relogin=false
# Autologin session
#Session=
# Name of session file for autologin session (if empty try last logged in)
Session=
# Autologin user
#User=
# Username for autologin session
User=
[General]
# Halt command
HaltCommand=/bin/systemctl poweroff
HaltCommand=/usr/bin/systemctl poweroff
# Initial NumLock state
# Valid values: on|off|none
# Input method module
InputMethod=
# Initial NumLock state. Can be on, off or none.
# If property is set to none, numlock won't be changed
#Numlock=none
# NOTE: Currently ignored if autologin is enabled.
Numlock=none
# Reboot command
RebootCommand=/bin/systemctl reboot
RebootCommand=/usr/bin/systemctl reboot
[Theme]
# Current theme name
Current=maui
Current=
# Cursor theme
#CursorTheme=
# Cursor theme used in the greeter
CursorTheme=
# Face icon directory
# The files should be in username.face.icon format
# Number of users to use as threshold
# above which avatars are disabled
# unless explicitly enabled with EnableAvatars
DisableAvatarsThreshold=7
# Enable display of custom user avatars
EnableAvatars=true
# Global directory for user avatars
# The files should be named <username>.face.icon
FacesDir=/usr/share/sddm/faces
# Theme directory path
@@ -38,47 +49,72 @@ ThemeDir=/usr/share/sddm/themes
[Users]
# Default $PATH
DefaultPath=/usr/bin:/usr/bin/qt5
# Default $PATH for logged in users
DefaultPath=/bin:/usr/bin:/usr/local/bin
# Hidden shells
# Comma-separated list of shells.
# Users with these shells as their default won't be listed
#HideShells=
HideShells=
# Hidden users
#HideUsers=
# Comma-separated list of users that should not be listed
HideUsers=
# Maximum user id for displayed users
#MaximumUid=65000
MaximumUid=60000
# Minimum user id for displayed users
MinimumUid=1000
# Remember the session of the last successfully logged in user
#RememberLastSession=true
RememberLastSession=true
# Remember the last successfully logged in user
#RememberLastUser=true
RememberLastUser=true
[XDisplay]
# Xsetup script path
# A script to execute when starting the display server
#DisplayCommand=/usr/share/sddm/scripts/Xsetup
[Wayland]
# Path to a script to execute when starting the desktop session
SessionCommand=/usr/share/sddm/scripts/wayland-session
# Directory containing available Wayland sessions
SessionDir=/usr/share/wayland-sessions
# Path to the user session log file
SessionLogFile=.local/share/sddm/wayland-session.log
[X11]
# Path to a script to execute when starting the display server
DisplayCommand=/usr/share/sddm/scripts/Xsetup
# Path to a script to execute when stopping the display server
DisplayStopCommand=/usr/share/sddm/scripts/Xstop
# Minimum VT
# The lowest virtual terminal number that will be used.
#MinimumVT=1
MinimumVT=1
# X server path
# Arguments passed to the X server invocation
ServerArguments=-nolisten tcp
# Path to X server binary
ServerPath=/usr/bin/X
# Xsession script path
# A script to execute when starting the desktop session
#SessionCommand=/etc/X11/xinit/Xsession
# Path to a script to execute when starting the desktop session
SessionCommand=/usr/share/sddm/scripts/Xsession
# Session description directory
# Directory containing available X sessions
SessionDir=/usr/share/xsessions
# Xauth path
# Path to the user session log file
SessionLogFile=.local/share/sddm/xorg-session.log
# Path to the Xauthority file
UserAuthFile=.Xauthority
# Path to xauth binary
XauthPath=/usr/bin/xauth
# Path to Xephyr binary
XephyrPath=/usr/bin/Xephyr

View File

@@ -1,9 +1,8 @@
SUMMARY = "SDDM is a modern display manager for X11"
LICENSE = "GPLv2 & CC-BY-3.0 & CC-BY-NC-SA-3.0"
LICENSE = "GPLv2 & CC-BY-3.0"
LIC_FILES_CHKSUM = " \
file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
file://COPYING-CC-BY-3.0;md5=3f91257948001a369d427b9028de84b2 \
file://COPYING-CC-BY-SA-3.0;md5=c0e44077d8998dd1cd1324f7bc4d7b67 \
file://LICENSE;md5=4641e94ec96f98fabc56ff9cc48be14b \
file://LICENSE.CC-BY-3.0;md5=36b7342d5619a3a0d3b581e89803ec25 \
"
REQUIRED_DISTRO_FEATURES = "x11"
@@ -14,15 +13,19 @@ DEPENDS += "qtbase qtdeclarative qttools-native libxcb"
# REVISIT optionals
DEPENDS += "libpam"
# Note: we should check default config changes by running sddm --example-config on target.
# This is usually done during build but does not work for our cross environment
SRC_URI = " \
git://github.com/sddm/${BPN}.git;protocol=git;branch=master \
file://0001-fix-qml-install-dir.patch \
file://0002-do-not-create-example-configutation-we-cannot-run-sd.patch \
file://0003-autologin-try-last-successful-session-if-no-autologi.patch \
file://sddm.pam \
file://sddm-autologin.pam \
file://sddm.conf \
"
SRCREV = "f3c810407e4e79597dcdc76508f08c33152fe3cd"
PV = "0.13.0"
SRCREV = "43c900569081cdbf889c88c08c631888b56c4a8e"
PV = "0.14.0"
S = "${WORKDIR}/git"