sddm: bump revision
Install the latest revision from the 'develop' branch. This fixes an issue I had with the 0.21.0 release. More specifically, in the latest revision, the PAM files have been removed, distros are now responsible for providing the necessary PAM files in /etc/pam.d. This fixes an issue I had wrt to the sddm-greeter file which defaulted to the debian ones (probably a Yocto installation issue) and was causing a black screen when logging out of the session. Note: the sddm-greeter file comes from the Arch PAM modules that previously shipped with sddm. Note: I removed the 0001-Workaround-missing-sessions.patch patch since I do not think we are affected by this issue: all wayland session files ship with the full path and the TryExec variable is set correctly. I also searched sddm's issues on GH and did not find anything related to this issue so my guess is that we can safely drop it. Signed-off-by: Marc Ferland <marc.ferland@sonatest.com>
This commit is contained in:
@@ -25,7 +25,6 @@ DEPENDS = " \
|
||||
|
||||
SRC_URI = " \
|
||||
git://github.com/sddm/${BPN};nobranch=1;protocol=https \
|
||||
file://0001-Workaround-missing-sessions.patch \
|
||||
file://sddm.conf.plasma-desktop \
|
||||
file://sddm.conf.plasma-mobile \
|
||||
file://sddm.conf.plasma-bigscreen \
|
||||
@@ -65,6 +64,7 @@ do_install:append() {
|
||||
install -d ${D}${sysconfdir}/pam.d
|
||||
install -m 644 ${WORKDIR}/sddm.pam ${D}${sysconfdir}/pam.d/sddm
|
||||
install -m 644 ${WORKDIR}/sddm-autologin.pam ${D}${sysconfdir}/pam.d/sddm-autologin
|
||||
install -m 644 ${WORKDIR}/sddm-greeter.pam ${D}${sysconfdir}/pam.d/sddm-greeter
|
||||
|
||||
install -d ${D}${localstatedir}/lib/sddm
|
||||
chown -R sddm:sddm ${D}${localstatedir}/lib/sddm
|
||||
|
||||
@@ -1,55 +0,0 @@
|
||||
From cc0c929db02116516bb3475e5fd3ae7f43c88220 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com>
|
||||
Date: Sun, 25 Nov 2018 00:29:17 +0100
|
||||
Subject: [PATCH] Workaround missing sessions
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
The current approach is wrong in many ways:
|
||||
|
||||
* In case a session file does not set TryExec it is kept enabled accidentlty
|
||||
* Session files with TryExec without full path are ignored. Problem here: sddm
|
||||
tries to find executables based on PATH environment. Problem at least for my
|
||||
environment: There is no PATH variable set by systemd. So for session files
|
||||
without path: Do not perform further checks / just trust for now.
|
||||
|
||||
Upstream-Sttaus: Pending
|
||||
|
||||
Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
|
||||
|
||||
---
|
||||
src/greeter/SessionModel.cpp | 19 ++++---------------
|
||||
1 file changed, 4 insertions(+), 15 deletions(-)
|
||||
|
||||
diff --git a/src/greeter/SessionModel.cpp b/src/greeter/SessionModel.cpp
|
||||
index 58d8764..c2b5884 100644
|
||||
--- a/src/greeter/SessionModel.cpp
|
||||
+++ b/src/greeter/SessionModel.cpp
|
||||
@@ -138,22 +138,11 @@ namespace SDDM {
|
||||
for (auto& session : qAsConst(sessions)) {
|
||||
Session *si = new Session(type, session);
|
||||
bool execAllowed = true;
|
||||
- QFileInfo fi(si->tryExec());
|
||||
- if (fi.isAbsolute()) {
|
||||
- if (!fi.exists() || !fi.isExecutable())
|
||||
+ if(!si->tryExec().isEmpty()) {
|
||||
+ QFileInfo fi(si->tryExec());
|
||||
+ if (fi.isAbsolute()) {
|
||||
+ if (!fi.exists() || !fi.isExecutable())
|
||||
execAllowed = false;
|
||||
- } else {
|
||||
- execAllowed = false;
|
||||
- QProcessEnvironment env = QProcessEnvironment::systemEnvironment();
|
||||
- QString envPath = env.value(QStringLiteral("PATH"));
|
||||
- const QStringList pathList = envPath.split(QLatin1Char(':'));
|
||||
- for(const QString &path : pathList) {
|
||||
- QDir pathDir(path);
|
||||
- fi.setFile(pathDir, si->tryExec());
|
||||
- if (fi.exists() && fi.isExecutable()) {
|
||||
- execAllowed = true;
|
||||
- break;
|
||||
- }
|
||||
}
|
||||
}
|
||||
// add to sessions list
|
||||
17
recipes-support/sddm/sddm/sddm-greeter.pam
Normal file
17
recipes-support/sddm/sddm/sddm-greeter.pam
Normal file
@@ -0,0 +1,17 @@
|
||||
#%PAM-1.0
|
||||
|
||||
# Load environment from /etc/environment and ~/.pam_environment
|
||||
auth required pam_env.so
|
||||
|
||||
# Always let the greeter start without authentication
|
||||
auth required pam_permit.so
|
||||
|
||||
# No action required for account management
|
||||
account required pam_permit.so
|
||||
|
||||
# Can't change password
|
||||
password required pam_deny.so
|
||||
|
||||
# Setup session
|
||||
session required pam_unix.so
|
||||
session optional pam_systemd.so
|
||||
@@ -2,4 +2,4 @@
|
||||
# SPDX-License-Identifier: CC0-1.0
|
||||
|
||||
require ${PN}.inc
|
||||
SRCREV = "63780fcd79f1dbf81a30eef48c28c699ab15aded"
|
||||
SRCREV = "4ec29a8bba033d475f197693fac6cb0c383a1da2"
|
||||
|
||||
Reference in New Issue
Block a user