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 <jeng...@inai.de> + +- Do not ignore errors from useradd. + +------------------------------------------------------------------- +Sun Jan 6 11:57:50 UTC 2019 - Fabian Vogt <fab...@ritter-vogt.de> + +- 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 <fab...@ritter-vogt.de> + +- 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 - fab...@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 - fab...@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 <fab...@ritter-vogt.de> 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 <QtQml/QtQml> +#include <memory> + #include <unistd.h> namespace SDDM { @@ -42,12 +44,9 @@ namespace SDDM { QMap<qint64, Auth::Private*> 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_ptr<Auth::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*