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*

Reply via email to