Merge branch f37 into epel9-next

epel9
Troy Dawson 2 years ago
commit 6e291bef12

6
.gitignore vendored

@ -13,3 +13,9 @@
/sddm-e67307e4103a8606d57a0c2fd48a378e40fcef06.tar.gz
/sddm-21e965aab8d93180966bbb19788bc42bdf2baee7.tar.gz
/sddm-fc24321541f6f65b7d1aac89cd82336ffd53e1a0.tar.gz
/sddm-1d156897ab763d1442b0d6b0341c091f0c38b496.tar.gz
/sddm-3e486499b9300ce8f9c62bd102e5119b27a2fad1.tar.gz
/sddm-b042f69ff3ada1e5d94156450621db7a9246645a.tar.gz
/sddm-3ee57e99836fe051c97e0f301962120466d220f7.tar.gz
/sddm-8f1e3df4768bd521034e02602c4410b06aaef7d5.tar.gz
/sddm-572b128c92c5bce366f5db136423b0b296448429.tar.gz

@ -1,4 +1,4 @@
From 57f91b5f23fcaacaaafd5d8263f65ed58d0cdf15 Mon Sep 17 00:00:00 2001
From 5e6c0f872272fd617228628ab46c491313750019 Mon Sep 17 00:00:00 2001
From: Jeremy Linton <jeremy.linton@arm.com>
Date: Fri, 22 Oct 2021 14:51:54 -0500
Subject: [PATCH] Delay for logind, and fallback to seat0
@ -17,6 +17,10 @@ is generally a better strategy than what happens a good
amount of time now, where sddm is started and silent about
why the screen is blank.
References:
* https://bugzilla.redhat.com/2011991
* https://bugzilla.redhat.com/2016310
Signed-off-by: Jeremy Linton <jeremy.linton@arm.com>
---
src/daemon/LogindDBusTypes.cpp | 31 +++++++++++++++++++++----------
@ -75,7 +79,7 @@ index 011bb7f..6255c69 100644
if (QDBusConnection::systemBus().interface()->isServiceRegistered(QStringLiteral("org.freedesktop.ConsoleKit"))) {
qDebug() << "Console kit interface found";
diff --git a/src/daemon/SeatManager.cpp b/src/daemon/SeatManager.cpp
index 60d22ea..96d2b82 100644
index 429ed19..9f569bb 100644
--- a/src/daemon/SeatManager.cpp
+++ b/src/daemon/SeatManager.cpp
@@ -26,6 +26,9 @@
@ -98,7 +102,7 @@ index 60d22ea..96d2b82 100644
void SeatManager::createSeat(const QString &name) {
@@ -152,6 +157,23 @@ namespace SDDM {
m_seats.value(name)->createDisplay();
m_seats.value(name)->createDisplay(Display::defaultDisplayServerType());
}
+ // this is a bit hacky, but linux DRM drivers
@ -134,5 +138,5 @@ index b2f9796..aa43047 100644
}
--
2.33.1
2.38.1

@ -1,58 +0,0 @@
From 7168262e2174046e335c445e72504758dbf7049b Mon Sep 17 00:00:00 2001
From: Jeremy Linton <jeremy.linton@arm.com>
Date: Mon, 25 Oct 2021 14:56:14 -0500
Subject: [PATCH] greeter: Do not populate Wayland sessions if /dev/dri does
not exist
Check for /dev/dri which should indicate that the Wayland will work
on this hardware.
Signed-off-by: Jeremy Linton <jeremy.linton@arm.com>
---
src/greeter/SessionModel.cpp | 12 ++++++++++--
1 file changed, 10 insertions(+), 2 deletions(-)
diff --git a/src/greeter/SessionModel.cpp b/src/greeter/SessionModel.cpp
index a0eb3b1..92f6d1a 100644
--- a/src/greeter/SessionModel.cpp
+++ b/src/greeter/SessionModel.cpp
@@ -22,6 +22,7 @@
#include "Configuration.h"
+#include <QFileInfo>
#include <QVector>
#include <QProcessEnvironment>
#include <QFileSystemWatcher>
@@ -40,19 +41,26 @@ namespace SDDM {
};
SessionModel::SessionModel(QObject *parent) : QAbstractListModel(parent), d(new SessionModelPrivate()) {
+ // Check for flag to show Wayland sessions
+ bool dri_active = QFileInfo::exists(QStringLiteral("/dev/dri"));
+
// initial population
beginResetModel();
- populate(Session::WaylandSession, mainConfig.Wayland.SessionDir.get());
+ if (dri_active)
+ populate(Session::WaylandSession, mainConfig.Wayland.SessionDir.get());
populate(Session::X11Session, mainConfig.X11.SessionDir.get());
endResetModel();
// refresh everytime a file is changed, added or removed
QFileSystemWatcher *watcher = new QFileSystemWatcher(this);
connect(watcher, &QFileSystemWatcher::directoryChanged, [this](const QString &path) {
+ // Recheck for flag to show Wayland sessions
+ bool dri_active = QFileInfo::exists(QStringLiteral("/dev/dri"));
beginResetModel();
d->sessions.clear();
d->displayNames.clear();
- populate(Session::WaylandSession, mainConfig.Wayland.SessionDir.get());
+ if (dri_active)
+ populate(Session::WaylandSession, mainConfig.Wayland.SessionDir.get());
populate(Session::X11Session, mainConfig.X11.SessionDir.get());
endResetModel();
});
--
2.33.1

@ -1,17 +1,18 @@
diff --git a/src/common/Configuration.h b/src/common/Configuration.h
index cdffde3..0272e2c 100644
index 182f6a1..538243b 100644
--- a/src/common/Configuration.h
+++ b/src/common/Configuration.h
@@ -38,7 +38,7 @@ namespace SDDM {
@@ -37,8 +37,7 @@ namespace SDDM {
enum NumState { NUM_NONE, NUM_SET_ON, NUM_SET_OFF };
// Name Type Default value Description
// TODO: Change default to x11-user in a future release
- // TODO: Change default to x11-user in a future release
- Entry(DisplayServer, QString, _S("x11"), _S("Which display server should be used.\n"
+ Entry(DisplayServer, QString, _S("wayland"), _S("Which display server should be used.\n"
"Valid values are: x11, x11-user, wayland."));
Entry(HaltCommand, QString, _S(HALT_COMMAND), _S("Halt command"));
Entry(RebootCommand, QString, _S(REBOOT_COMMAND), _S("Reboot command"));
@@ -51,7 +51,7 @@ namespace SDDM {
@@ -51,7 +50,7 @@ namespace SDDM {
// Name Entries (but it's a regular class again)
Section(Theme,
Entry(ThemeDir, QString, _S(DATA_INSTALL_DIR "/themes"), _S("Theme directory path"));
@ -20,26 +21,25 @@ index cdffde3..0272e2c 100644
Entry(FacesDir, QString, _S(DATA_INSTALL_DIR "/faces"), _S("Global directory for user avatars\n"
"The files should be named <username>.face.icon"));
Entry(CursorTheme, QString, QString(), _S("Cursor theme used in the greeter"));
@@ -71,10 +71,10 @@ namespace SDDM {
Entry(XauthPath, QString, _S("/usr/bin/xauth"), _S("Path to xauth binary"));
Entry(SessionDir, QString, _S("/usr/share/xsessions"), _S("Directory containing available X sessions"));
@@ -71,9 +70,9 @@ namespace SDDM {
Entry(SessionDir, QStringList, {_S("/usr/local/share/xsessions"),
_S("/usr/share/xsessions")}, _S("Comma-separated list of directories containing available X sessions"));
Entry(SessionCommand, QString, _S(SESSION_COMMAND), _S("Path to a script to execute when starting the desktop session"));
- Entry(SessionLogFile, QString, _S(".local/share/sddm/xorg-session.log"), _S("Path to the user session log file"));
+ Entry(SessionLogFile, QString, _S(".cache/xsession-errors"), _S("Path to the user session log file"));
Entry(UserAuthFile, QString, _S(".Xauthority"), _S("Path to the Xauthority file"));
- Entry(SessionLogFile, QString, _S(".local/share/sddm/xorg-session.log"), _S("Path to the user session log file"));
- Entry(DisplayCommand, QString, _S(DATA_INSTALL_DIR "/scripts/Xsetup"), _S("Path to a script to execute when starting the display server"));
- Entry(DisplayStopCommand, QString, _S(DATA_INSTALL_DIR "/scripts/Xstop"), _S("Path to a script to execute when stopping the display server"));
+ Entry(SessionLogFile, QString, _S(".cache/xsession-errors"), _S("Path to the user session log file"));
+ Entry(DisplayCommand, QString, _S(SYS_CONFIG_DIR "/sddm/Xsetup"), _S("Path to a script to execute when starting the display server"));
+ Entry(DisplayStopCommand, QString, _S(SYS_CONFIG_DIR "/sddm/Xstop"), _S("Path to a script to execute when stopping the display server"));
Entry(EnableHiDPI, bool, false, _S("Enable Qt's automatic high-DPI scaling"));
);
@@ -82,12 +82,12 @@ namespace SDDM {
Entry(CompositorCommand, QString, _S("weston --shell=fullscreen-shell.so"), _S("Path of the Wayland compositor to execute when starting the greeter"));
Entry(SessionDir, QString, _S("/usr/share/wayland-sessions"), _S("Directory containing available Wayland sessions"));
@@ -82,12 +81,12 @@ namespace SDDM {
Entry(SessionDir, QStringList, {_S("/usr/local/share/wayland-sessions"),
_S("/usr/share/wayland-sessions")}, _S("Comma-separated list of directories containing available Wayland sessions"));
Entry(SessionCommand, QString, _S(WAYLAND_SESSION_COMMAND), _S("Path to a script to execute when starting the desktop session"));
- Entry(SessionLogFile, QString, _S(".local/share/sddm/wayland-session.log"),_S("Path to the user session log file"));
+ Entry(SessionLogFile, QString, _S(".cache/wayland-errors"), _S("Path to the user session log file"));
- Entry(SessionLogFile, QString, _S(".local/share/sddm/wayland-session.log"),_S("Path to the user session log file"));
+ Entry(SessionLogFile, QString, _S(".cache/wayland-errors"), _S("Path to the user session log file"));
Entry(EnableHiDPI, bool, false, _S("Enable Qt's automatic high-DPI scaling"));
);

@ -0,0 +1,12 @@
diff --git a/services/sddm-tmpfiles.conf.in b/services/sddm-tmpfiles.conf.in
index fb45553..6acfb6c 100644
--- a/services/sddm-tmpfiles.conf.in
+++ b/services/sddm-tmpfiles.conf.in
@@ -1,5 +1,7 @@
# Home dir of the sddm user, also contains state.conf
d ${STATE_DIR} 0750 sddm sddm
+# Workaround for https://pagure.io/fedora-kde/SIG/issue/87
+Z ${STATE_DIR} - sddm sddm
# This contains X11 auth files passed to Xorg and the greeter
d ${RUNTIME_DIR} 0711 root root
# Sockets for IPC

@ -1 +0,0 @@
u sddm - "Simple Desktop Display Manager" /var/lib/sddm

@ -14,8 +14,8 @@
%bcond_without sddm_wayland_default
%endif
%global commit fc24321541f6f65b7d1aac89cd82336ffd53e1a0
%global commitdate 20221025
%global commit 572b128c92c5bce366f5db136423b0b296448429
%global commitdate 20230306
%global shortcommit %(c=%{commit}; echo ${c:0:7})
Name: sddm
@ -35,18 +35,11 @@ Source0: %{url}/archive/v%{version}/%{name}-%{version}.tar.gz
## upstreamable patches
# Disable wayland sessions when /dev/dri doesn't exist
# https://bugzilla.redhat.com/1952431
# https://bugzilla.redhat.com/show_bug.cgi?id=2016788
# https://bugzilla.redhat.com/show_bug.cgi?id=2016310
# Submitted: https://github.com/sddm/sddm/pull/1489
Patch10: sddm-0.20.0-allow-hiding-wayland-sessions.patch
# Fix race with logind restart, and start seat0 if !CanGraphical on timer
# https://bugzilla.redhat.com/show_bug.cgi?id=2011991
# https://bugzilla.redhat.com/show_bug.cgi?id=2016310
# Submmited: https://github.com/sddm/sddm/pull/1494
Patch11: 0001-Delay-for-logind-and-fallback-to-seat0.patch
Patch11: 0001-Delay-for-logind-and-fallback-to-seat0.patch
## downstream patches
Patch101: sddm-0.20.0-fedora_config.patch
@ -54,22 +47,21 @@ Patch101: sddm-0.20.0-fedora_config.patch
# sddm.service: +EnvironmentFile=-/etc/sysconfig/sddm
Patch103: sddm-0.18.0-environment_file.patch
# Workaround for https://pagure.io/fedora-kde/SIG/issue/87
Patch104: sddm-rpmostree-tmpfiles-hack.patch
# Shamelessly stolen from gdm
Source11: sddm.pam
# Shamelessly stolen from gdm
Source12: sddm-autologin.pam
# systemd tmpfiles support for /var/run/sddm
Source13: tmpfiles-sddm.conf
# sample sddm.conf generated with sddm --example-config, and entries commented-out
Source14: sddm.conf
Source13: sddm.conf
# README.scripts
Source15: README.scripts
Source14: README.scripts
# sysconfig snippet
Source16: sddm.sysconfig
# systemd sysusers config
Source18: sddm-systemd-sysusers.conf
Source15: sddm.sysconfig
# sddm x11 override config
Source19: sddm-x11.conf
Source16: sddm-x11.conf
Provides: service(graphical-login) = sddm
@ -189,12 +181,10 @@ mkdir -p %{buildroot}%{_sysconfdir}/sddm.conf.d
mkdir -p %{buildroot}%{_prefix}/lib/sddm/sddm.conf.d
install -Dpm 644 %{SOURCE11} %{buildroot}%{_sysconfdir}/pam.d/sddm
install -Dpm 644 %{SOURCE12} %{buildroot}%{_sysconfdir}/pam.d/sddm-autologin
install -Dpm 644 %{SOURCE13} %{buildroot}%{_tmpfilesdir}/sddm.conf
install -Dpm 644 %{SOURCE14} %{buildroot}%{_sysconfdir}/sddm.conf
install -Dpm 644 %{SOURCE15} %{buildroot}%{_datadir}/sddm/scripts/README.scripts
install -Dpm 644 %{SOURCE16} %{buildroot}%{_sysconfdir}/sysconfig/sddm
install -Dpm 644 %{SOURCE18} %{buildroot}%{_sysusersdir}/sddm.conf
install -Dpm 644 %{SOURCE19} %{buildroot}%{_prefix}/lib/sddm/sddm.conf.d/x11.conf
install -Dpm 644 %{SOURCE13} %{buildroot}%{_sysconfdir}/sddm.conf
install -Dpm 644 %{SOURCE14} %{buildroot}%{_datadir}/sddm/scripts/README.scripts
install -Dpm 644 %{SOURCE15} %{buildroot}%{_sysconfdir}/sysconfig/sddm
install -Dpm 644 %{SOURCE16} %{buildroot}%{_prefix}/lib/sddm/sddm.conf.d/x11.conf
mkdir -p %{buildroot}/run/sddm
mkdir -p %{buildroot}%{_localstatedir}/lib/sddm
mkdir -p %{buildroot}%{_sysconfdir}/sddm/
@ -299,6 +289,35 @@ fi
%changelog
* Mon Mar 06 2023 Marc Deop i Argemí <marcdeop@fedoraproject.org> - 0.19.0^git20230306.7bd10de-1
- Update to new snapshot
- Fixes #2175947
* Mon Feb 20 2023 Neal Gompa <ngompa@fedoraproject.org> - 0.19.0^git20230214.8f1e3df-1
- Update to new snapshot
- Drop our sysusers and tmpfiles configuration for upstream versions
* Wed Feb 01 2023 Marc Deop <marcdeop@fedoraproject.org> - 0.19.0^git20230201.3ee57e9-2
- Update to new snapshot
* Wed Feb 01 2023 Marc Deop <marcdeop@fedoraproject.org> - 0.19.0^git20230201.b042f69-1
- Update to new snapshot.
- Remove patches merged upstream.
* Sun Jan 29 2023 Neal Gompa <ngompa@fedoraproject.org> - 0.19.0^git20221123.3e48649-3
- Add proposed patch to recover from tty switching failures (#2110801)
* Sat Jan 21 2023 Fedora Release Engineering <releng@fedoraproject.org> - 0.19.0^git20221123.3e48649-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
* Sat Dec 24 2022 Neal Gompa <ngompa@fedoraproject.org> - 0.19.0^git20221123.3e48649-1
- Update to new snapshot
- Add patch to support non-default wayland socket names for sway/weston/etc.
- Refreshed patch for waiting on logind seat0 initialization
* Mon Nov 14 2022 Neal Gompa <ngompa@fedoraproject.org> - 0.19.0^git20221114.1d15689-1
- Update to new snapshot
* Tue Oct 25 2022 Neal Gompa <ngompa@fedoraproject.org> - 0.19.0^git20221025.fc24321-1
- Update to new snapshot

@ -1 +1 @@
SHA512 (sddm-fc24321541f6f65b7d1aac89cd82336ffd53e1a0.tar.gz) = d874213dc6fba044f5c42886676dd23a70dad387407361f4562f4cb799ea73ec1a7d13d48476bc769808ab206569f87101f496d16fe3ac4dc222789be5d743d0
SHA512 (sddm-572b128c92c5bce366f5db136423b0b296448429.tar.gz) = 0c0b2997f52a1a49ca9b2c05b8ca554a1b356bbfed067fde01c6b0239be1469f9c7726725196c2a438cbf86ad85fc7b466f6eaceee7a6c211b4e0052f456b3c7

@ -1,3 +0,0 @@
d /run/sddm 1733 root root -
# Workaround for https://pagure.io/fedora-kde/SIG/issue/87
Z /var/lib/sddm - sddm sddm - -
Loading…
Cancel
Save