Hello community,
here is the log from the commit of package sddm for openSUSE:Factory checked in at 2019-01-10 15:19:58
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/sddm (Old)
and /work/SRC/openSUSE:Factory/.sddm.new.28833 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "sddm"
Thu Jan 10 15:19:58 2019 rev:42 rq:664016 version:0.18.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/sddm/sddm.changes 2018-10-01 08:13:48.718106849 +0200
+++ /work/SRC/openSUSE:Factory/.sddm.new.28833/sddm.changes 2019-01-10 15:20:00.578536785 +0100
@@ -1,0 +2,31 @@
+Wed Jan 9 02:11:20 UTC 2019 - Jan Engelhardt
+
+- Do not ignore errors from useradd.
+
+-------------------------------------------------------------------
+Sun Jan 6 11:57:50 UTC 2019 - Fabian Vogt
+
+- Add the dirs created by systemd-tmpfiles as %ghost as well
+- Use service macros and create rcsddm link for sddm.service
+
+-------------------------------------------------------------------
+Fri Jan 4 13:00:23 UTC 2019 - Fabian Vogt
+
+- Add patch to delete socket on shutdown:
+ * 0001-Destroy-the-QLocalServer-in-Auth-on-shutdown.patch
+- Move creation of runtime directories and cleanup of files on boot
+ into sddm-tmpfiles.conf (boo#1116431)
+
+-------------------------------------------------------------------
+Wed Oct 3 17:21:43 UTC 2018 - fabian@ritter-vogt.de
+
+- Remove 0001-Don-t-leak-VT-FDs-in-jumpToVt.patch as the FD leak
+ worked around a race condition as a side effect
+
+-------------------------------------------------------------------
+Tue Oct 2 19:18:53 UTC 2018 - fabian@ritter-vogt.de
+
+- Add patch to not leak tty FDs for wayland sessions:
+ * 0001-Don-t-leak-VT-FDs-in-jumpToVt.patch
+
+-------------------------------------------------------------------
New:
----
0001-Destroy-the-QLocalServer-in-Auth-on-shutdown.patch
sddm-tmpfiles.conf
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ sddm.spec ++++++
--- /var/tmp/diff_new_pack.eS8axH/_old 2019-01-10 15:20:02.098535334 +0100
+++ /var/tmp/diff_new_pack.eS8axH/_new 2019-01-10 15:20:02.098535334 +0100
@@ -27,6 +27,7 @@
Source1: X11-displaymanagers-%{name}
Source2: 00-general.conf
Source3: 10-theme.conf
+Source4: sddm-tmpfiles.conf
# Patch0-100: PATCH-FIX-UPSTREAM
# Merged: https://github.com/sddm/sddm/pull/1062
Patch0: 0001-Session-reuse-Only-consider-online-sessions.patch
@@ -36,6 +37,8 @@
Patch51: 0006-Don-t-fill-UserModel-if-theme-does-not-require-it.patch
# Open issue: https://github.com/sddm/sddm/issues/1059
Patch52: 0001-Revert-Adds-sourcing-of-etc-profile-to-fish.patch
+# Not merged yet: https://github.com/sddm/sddm/pull/1117
+Patch53: 0001-Destroy-the-QLocalServer-in-Auth-on-shutdown.patch
# Patch100-?: PATCH-FIX-OPENSUSE
# Use openSUSE pam config
Patch100: proper_pam.diff
@@ -119,14 +122,13 @@
This package provides upstream branding for SDDM.
%prep
-%setup -q
-%autopatch -p1
+%autosetup -p1
%build
%cmake \
-DCMAKE_BUILD_TYPE=Release \
-DMINIMUM_VT=7 \
- -DCMAKE_INSTALL_LIBEXECDIR=%{_libexecdir}/%{name} \
+ -DCMAKE_INSTALL_LIBEXECDIR="%{_libexecdir}/%{name}" \
-DIMPORTS_INSTALL_DIR="%{_libdir}/qt5/qml" \
-DSESSION_COMMAND="%{_sysconfdir}/X11/xdm/Xsession" \
-DBUILD_MAN_PAGES=ON \
@@ -149,6 +151,7 @@
install -Dm 0644 %{SOURCE1} %{buildroot}%{_libexecdir}/X11/displaymanagers/%{name}
install -Dm 0644 %{SOURCE2} %{buildroot}%{_prefix}/lib/sddm/sddm.conf.d/00-general.conf
install -Dm 0644 %{SOURCE3} %{buildroot}%{_prefix}/lib/sddm/sddm.conf.d/10-theme.conf
+ install -Dm 0644 %{SOURCE4} %{buildroot}%{_tmpfilesdir}/sddm.conf
mkdir -p %{buildroot}%{_sysconfdir}/alternatives
touch %{buildroot}%{_sysconfdir}/alternatives/default-displaymanager
@@ -158,14 +161,20 @@
install -d %{buildroot}%{_localstatedir}/lib/sddm
install -d %{buildroot}%{_sysconfdir}/sddm.conf.d
- %fdupes -s %{buildroot}%{_datadir}/sddm
+ install -d %{buildroot}%{_sbindir}
+ ln -s %{_sbindir}/service %{buildroot}%{_sbindir}/rcsddm
+
+ %fdupes %{buildroot}%{_datadir}/sddm
%pre
-%{_sbindir}/groupadd -r sddm 2> /dev/null || :
-%{_sbindir}/useradd -r -g sddm -s /bin/false -c "SDDM daemon" \
- -d %{_localstatedir}/lib/sddm sddm 2> /dev/null || :
+%service_add_pre sddm.service
+getent group sddm >/dev/null || %{_sbindir}/groupadd -r sddm
+getent passwd sddm >/dev/null || %{_sbindir}/useradd -r -g sddm -s /bin/false \
+ -c "SDDM daemon" -d %{_localstatedir}/lib/sddm sddm
%post
+%service_add_post sddm.service
+%{_bindir}/systemd-tmpfiles --create %{_tmpfilesdir}/sddm.conf
if [ $1 -eq 2 -a -f %{_sysconfdir}/sddm.conf ]; then
# Avoid changing sddm.conf's timestamp if no modifications done
tempconf="$(mktemp)"
@@ -186,7 +195,11 @@
%{_sbindir}/update-alternatives --install %{_libexecdir}/X11/displaymanagers/default-displaymanager \
default-displaymanager %{_libexecdir}/X11/displaymanagers/sddm 25
+%preun
+%service_del_preun sddm.service
+
%postun
+%service_del_postun sddm.service
[ -f %{_libexecdir}/X11/displaymanagers/sddm ] || %{_sbindir}/update-alternatives \
--remove default-displaymanager %{_libexecdir}/X11/displaymanagers/sddm
@@ -237,6 +250,7 @@
%ghost %{_sysconfdir}/alternatives/default-displaymanager
%{_bindir}/sddm
%{_bindir}/sddm-greeter
+%{_sbindir}/rcsddm
%{_libdir}/qt5/qml/
%dir %{_datadir}/sddm/
%dir %{_prefix}/lib/sddm/
@@ -248,10 +262,11 @@
%{_datadir}/sddm/scripts/
%{_datadir}/sddm/themes/
%{_datadir}/sddm/translations/
-%{_mandir}/man*/sddm*%{ext_man}
%ghost %attr(711,sddm,sddm) %dir %{_rundir}/sddm
-%attr(750,sddm,sddm) %dir %{_localstatedir}/lib/sddm
+%ghost %attr(750,sddm,sddm) %dir %{_localstatedir}/lib/sddm
+%{_mandir}/man*/sddm*%{ext_man}
%{_unitdir}/sddm.service
+%{_tmpfilesdir}/sddm.conf
%files branding-openSUSE
%license LICENSE*
++++++ 0001-Destroy-the-QLocalServer-in-Auth-on-shutdown.patch ++++++
From 462cc1d77be372b907fab3f3b624087aef0e1f6e Mon Sep 17 00:00:00 2001
From: Fabian Vogt
Date: Fri, 4 Jan 2019 13:29:35 +0100
Subject: [PATCH] Destroy the QLocalServer in Auth on shutdown
This is necessary to remove the sddm-auth* sockets.
---
src/auth/Auth.cpp | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/src/auth/Auth.cpp b/src/auth/Auth.cpp
index 597efc2..2c2e182 100644
--- a/src/auth/Auth.cpp
+++ b/src/auth/Auth.cpp
@@ -30,6 +30,8 @@
#include
+#include <memory>
+
#include
namespace SDDM {
@@ -42,12 +44,9 @@ namespace SDDM {
QMap helpers;
private:
- static Auth::SocketServer *self;
SocketServer();
};
- Auth::SocketServer *Auth::SocketServer::self = nullptr;
-
class Auth::Private : public QObject {
Q_OBJECT
public:
@@ -99,11 +98,12 @@ namespace SDDM {
}
Auth::SocketServer* Auth::SocketServer::instance() {
+ static std::unique_ptrAuth::SocketServer self;
if (!self) {
- self = new SocketServer();
+ self.reset(new SocketServer());
self->listen(QStringLiteral("sddm-auth%1").arg(QUuid::createUuid().toString().replace(QRegExp(QStringLiteral("[{}]")), QString())));
}
- return self;
+ return self.get();
}
--
2.19.1
++++++ sddm-tmpfiles.conf ++++++
# Home dir of the sddm user. Also contains state.conf,
# where the the last logged in user and session are saved in.
d /var/lib/sddm 0750 sddm sddm
# This contains X11 auth files
d /run/sddm 0711 root root
# Remove leftover auth files on boot
r! /run/sddm/*
# Remove leftover sockets on boot
r! /tmp/sddm-auth*