Hello community, here is the log from the commit of package sddm for openSUSE:Factory checked in at 2015-11-12 19:39:31 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/sddm (Old) and /work/SRC/openSUSE:Factory/.sddm.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "sddm" Changes: -------- --- /work/SRC/openSUSE:Factory/sddm/sddm.changes 2015-10-30 13:40:54.000000000 +0100 +++ /work/SRC/openSUSE:Factory/.sddm.new/sddm.changes 2015-11-12 19:39:32.000000000 +0100 @@ -1,0 +2,32 @@ +Fri Nov 6 11:18:24 UTC 2015 - [email protected] + +- Update to 0.13.0: + * Greeter inherits path environment variables from parent so that + themes installed in non-standard paths will work. + * Add ENABLE_PAM option to toggle PAM support at build time. + * Allow overriding textColor in ComboBox. + * Don't cast QByteArray to (char *). + * Disable greeters from loading KDE's debug hander + (fix CVE-2015-0856). + * Fix multi-screen support for some setups. + * Added Serbian translation. + * Added Traditional Chinese translation. + * Improved German translation. + * Remove failsafe session entry. + * Close the pipe fd passed to X server. + * A few micro-optimizations. +- Removed patches already in this version: + 0001-always-create-window-for-each-screen.patch + 0002-screen-model-for-each-window.patch + 0001-Don-t-cast-QByteArray-to-char.patch + 0002-Disable-greeters-from-loading-KDE-s-debug-hander.patch +- Updated patches to apply cleanly: + boo949903.patch + sddm-relaxed-auth.diff + sysconfig-support.patch +- Added patches from upstream to add a config option that can be + used to disable the loading of user avatars (EnableAvatars): + 0001-Add-a-config-option-to-enable-avatars.patch + 0002-Use-.face.icon-instead-of-default.face.icon-and-rena.patch + +------------------------------------------------------------------- Old: ---- 0001-Don-t-cast-QByteArray-to-char.patch 0001-always-create-window-for-each-screen.patch 0002-Disable-greeters-from-loading-KDE-s-debug-hander.patch 0002-screen-model-for-each-window.patch sddm-0.12.0.tar.xz New: ---- 0001-Add-a-config-option-to-enable-avatars.patch 0002-Use-.face.icon-instead-of-default.face.icon-and-rena.patch default.face.icon.png root.face.icon.png sddm-0.13.0.tar.xz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ sddm.spec ++++++ --- /var/tmp/diff_new_pack.jGGxkN/_old 2015-11-12 19:39:34.000000000 +0100 +++ /var/tmp/diff_new_pack.jGGxkN/_new 2015-11-12 19:39:34.000000000 +0100 @@ -20,7 +20,7 @@ %{!?_unitdir: %global _unitdir /usr/lib/systemd/system} Name: sddm -Version: 0.12.0 +Version: 0.13.0 Release: 0 Summary: Lightweight QML-based display manager License: GPL-2.0+ @@ -29,6 +29,9 @@ Source: https://github.com/%{name}/%{name}/releases/download/v%{version}/%{name}-%{version}.tar.xz Source1: %{name}.conf Source2: X11-displaymanagers-%{name} +# default.face.icon.png and root.face.icon.png were part of Patch7 (0002-Use-.face.icon-instead-of-default.face.icon-and-rena.patch), but used as sources since binary patches are not supported +Source3: default.face.icon.png +Source4: root.face.icon.png # PATCH-FIX-OPENSUSE proper_pam.diff -- Use openSUSE pam config Patch0: proper_pam.diff # PATCH-FIX-OPENSUSE create_pid_file.patch -- openSUSE's generic display-manager service doesn't know what to do without a pid file. drop the patch as soon as that sick dinosaur is killed @@ -44,13 +47,10 @@ Patch4: sddm-service-handle-plymouth.patch # PATCH-FIX-OPENSUSE boo949903.patch -- Let sddm also default to plasma5 for last used session (boo#949903) Patch5: boo949903.patch -# PATCH-FIX-UPSTREAM 0001-Don-t-cast-QByteArray-to-char.patch -Patch6: 0001-Don-t-cast-QByteArray-to-char.patch -# PATCH-FIX-UPSTREAM 0002-Disable-greeters-from-loading-KDE-s-debug-hander.patch -Patch7: 0002-Disable-greeters-from-loading-KDE-s-debug-hander.patch -# PATCH-FIX-UPSTREAM 2 patches to play with multihead nicely -Patch8: 0001-always-create-window-for-each-screen.patch -Patch9: 0002-screen-model-for-each-window.patch +# PATCH-FIX-UPSTREAM 0001-Add-a-config-option-to-enable-avatars.patch -- Add EnableAvatars config option +Patch6: 0001-Add-a-config-option-to-enable-avatars.patch +# PATCH-FIX-UPSTREAM 0002-Use-.face.icon-instead-of-default.face.icon-and-rena.patch -- Use new face icons +Patch7: 0002-Use-.face.icon-instead-of-default.face.icon-and-rena.patch BuildRequires: cmake BuildRequires: fdupes BuildRequires: kf5-filesystem @@ -115,8 +115,8 @@ %patch5 -p1 %patch6 -p1 %patch7 -p1 -%patch8 -p1 -%patch9 -p1 +cp %{SOURCE3} data/faces/default.face.icon.png +cp %{SOURCE4} data/faces/root.face.icon.png %build %cmake \ ++++++ 0001-Add-a-config-option-to-enable-avatars.patch ++++++ >From 17b3db31d9c75a197b3509f786bc646ab6dce17d Mon Sep 17 00:00:00 2001 From: Jerome Leclanche <[email protected]> Date: Thu, 5 Nov 2015 17:18:46 +0200 Subject: [PATCH] Add a config option to enable avatars Closes #281 --- data/man/sddm.conf.rst.in | 7 +++++++ src/common/Configuration.h | 1 + src/greeter/UserModel.cpp | 25 +++++++++++++++++-------- 4 files changed, 26 insertions(+), 8 deletions(-) diff --git a/data/man/sddm.conf.rst.in b/data/man/sddm.conf.rst.in index a916e27..18aedf4 100644 --- a/data/man/sddm.conf.rst.in +++ b/data/man/sddm.conf.rst.in @@ -60,6 +60,13 @@ OPTIONS Name of the cursor theme to be set before starting the display server. +`EnableAvatars=` + When enabled, home directories are searched for ".face.icon" images to + display as their avatars. This can be slow on some file systems. + When disabled, all avatars will be default. Themes may choose to hide + them altogether. + Default value is true. + [XDisplay] section: `ServerPath=` diff --git a/src/common/Configuration.h b/src/common/Configuration.h index 069fc16..763b74f 100644 --- a/src/common/Configuration.h +++ b/src/common/Configuration.h @@ -49,6 +49,7 @@ namespace SDDM { Entry(FacesDir, QString, _S(DATA_INSTALL_DIR "/faces"), _S("Face icon directory\n" "The files should be in username.face.icon format")); Entry(CursorTheme, QString, QString(), _S("Cursor theme")); + Entry(EnableAvatars, bool, true, _S("Enable display of custom user avatars")); ); // TODO: Not absolutely sure if everything belongs here. Xsessions, VT and probably some more seem universal Section(XDisplay, diff --git a/src/greeter/UserModel.cpp b/src/greeter/UserModel.cpp index 5041fab..5c807bc 100644 --- a/src/greeter/UserModel.cpp +++ b/src/greeter/UserModel.cpp @@ -81,14 +81,23 @@ namespace SDDM { user->needsPassword = strcmp(current_pw->pw_passwd, "") != 0; // search for face icon - QString userFace = QStringLiteral("%1/.face.icon").arg(user->homeDir); - QString systemFace = QStringLiteral("%1/%2.face.icon").arg(mainConfig.Theme.FacesDir.get()).arg(user->name); - if (QFile::exists(userFace)) - user->icon = userFace; - else if (QFile::exists(systemFace)) - user->icon = systemFace; - else - user->icon = QStringLiteral("%1/default.face.icon").arg(mainConfig.Theme.FacesDir.get()); + QString facesDir = mainConfig.Theme.FacesDir.get(); + QString defaultFace = QStringLiteral("%1/default.face.icon").arg(facesDir); + bool avatarsEnabled = mainConfig.Theme.EnableAvatars.get(); + + if (avatarsEnabled) { + QString userFace = QStringLiteral("%1/.face.icon").arg(user->homeDir); + QString systemFace = QStringLiteral("%1/%2.face.icon").arg(facesDir).arg(user->name); + + if (QFile::exists(userFace)) + user->icon = userFace; + else if (QFile::exists(systemFace)) + user->icon = systemFace; + else + user->icon = defaultFace; + } else { + user->icon = defaultFace; + } // add user d->users << user; -- 2.6.2 ++++++ 0002-Use-.face.icon-instead-of-default.face.icon-and-rena.patch ++++++ >From 58b794bb2a2fd407a08b6c4d9eb4f156823b34f1 Mon Sep 17 00:00:00 2001 From: Jerome Leclanche <[email protected]> Date: Thu, 5 Nov 2015 17:37:35 +0200 Subject: [PATCH 1/4] Use .face.icon instead of default.face.icon, and rename the sources to .png Touches #174 --- data/CMakeLists.txt | 13 ++++++++++++- data/faces/README | 3 ++- data/faces/default.face.icon | Bin 4920 -> 0 bytes data/faces/default.face.icon.png | Bin 0 -> 4920 bytes data/faces/root.face.icon | Bin 5111 -> 0 bytes data/faces/root.face.icon.png | Bin 0 -> 5111 bytes src/greeter/UserModel.cpp | 2 +- 7 files changed, 15 insertions(+), 3 deletions(-) delete mode 100644 data/faces/default.face.icon create mode 100644 data/faces/default.face.icon.png delete mode 100644 data/faces/root.face.icon create mode 100644 data/faces/root.face.icon.png diff --git a/data/CMakeLists.txt b/data/CMakeLists.txt index 51f37ab..f3b5781 100644 --- a/data/CMakeLists.txt +++ b/data/CMakeLists.txt @@ -1,4 +1,3 @@ -install(DIRECTORY "faces" DESTINATION "${DATA_INSTALL_DIR}") install(DIRECTORY "flags" DESTINATION "${DATA_INSTALL_DIR}") install(FILES @@ -8,6 +7,18 @@ install(FILES ) install(FILES + "faces/root.face.icon.png" + DESTINATION "${DATA_INSTALL_DIR}/faces" + RENAME "root.face.icon" +) + +install(FILES + "faces/default.face.icon.png" + DESTINATION "${DATA_INSTALL_DIR}/faces" + RENAME ".face.icon" +) + +install(FILES "scripts/Xsession" "scripts/Xsetup" "scripts/Xstop" diff --git a/data/faces/README b/data/faces/README index be871e1..85479ad 100644 --- a/data/faces/README +++ b/data/faces/README @@ -1 +1,2 @@ -This files are directly copied from a KDE installation. \ No newline at end of file +These are the default avatars. +They are installed to `.face.icon` and `root.face.icon`. See ../CMakeLists.txt. diff --git a/src/greeter/UserModel.cpp b/src/greeter/UserModel.cpp index 5c807bc..66ab6fb 100644 --- a/src/greeter/UserModel.cpp +++ b/src/greeter/UserModel.cpp @@ -82,7 +82,7 @@ namespace SDDM { // search for face icon QString facesDir = mainConfig.Theme.FacesDir.get(); - QString defaultFace = QStringLiteral("%1/default.face.icon").arg(facesDir); + QString defaultFace = QStringLiteral("%1/.face.icon").arg(facesDir); bool avatarsEnabled = mainConfig.Theme.EnableAvatars.get(); if (avatarsEnabled) { -- 2.6.2 ++++++ boo949903.patch ++++++ --- /var/tmp/diff_new_pack.jGGxkN/_old 2015-11-12 19:39:34.000000000 +0100 +++ /var/tmp/diff_new_pack.jGGxkN/_new 2015-11-12 19:39:34.000000000 +0100 @@ -1,6 +1,6 @@ --- sddm-0.12.0.orig/src/common/Configuration.h 2015-10-11 14:03:22.510105030 +0200 +++ sddm-0.12.0/src/common/Configuration.h 2015-10-11 14:06:02.148109280 +0200 -@@ -91,7 +91,7 @@ namespace SDDM { +@@ -90,7 +90,7 @@ namespace SDDM { Config(StateConfig, []()->QString{auto tmp = getpwnam("sddm"); return tmp ? QString::fromLocal8Bit(tmp->pw_dir) : QStringLiteral(STATE_DIR);}().append(QStringLiteral("/state.conf")), Section(Last, ++++++ sddm-0.12.0.tar.xz -> sddm-0.13.0.tar.xz ++++++ ++++ 2924 lines of diff (skipped) ++++++ sddm-relaxed-auth.diff ++++++ --- /var/tmp/diff_new_pack.jGGxkN/_old 2015-11-12 19:39:35.000000000 +0100 +++ /var/tmp/diff_new_pack.jGGxkN/_new 2015-11-12 19:39:35.000000000 +0100 @@ -2,7 +2,7 @@ index b40f718..e060928 100644 --- a/src/daemon/XorgDisplayServer.cpp +++ b/src/daemon/XorgDisplayServer.cpp -@@ -277,6 +277,7 @@ namespace SDDM { +@@ -281,6 +281,7 @@ namespace SDDM { // set process environment QProcessEnvironment env; env.insert(QStringLiteral("DISPLAY"), m_display); ++++++ sysconfig-support.patch ++++++ --- /var/tmp/diff_new_pack.jGGxkN/_old 2015-11-12 19:39:35.000000000 +0100 +++ /var/tmp/diff_new_pack.jGGxkN/_new 2015-11-12 19:39:35.000000000 +0100 @@ -2,7 +2,7 @@ index 43796954d519fda27133dbaed6db50141b8ecf04..3071ea79ebaf9e5c20851f2c2512339f0f06f25c 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -151,6 +151,7 @@ set(SESSION_COMMAND "${DATA_INSTALL_DIR}/scripts/Xsession" +@@ -156,6 +156,7 @@ set(SESSION_COMMAND "${DATA_INSTALL_DIR}/scripts/Xsession" set(WAYLAND_SESSION_COMMAND "${DATA_INSTALL_DIR}/scripts/wayland-session" CACHE PATH "Script to execute when starting the Wayland desktop session") set(CONFIG_FILE "${CMAKE_INSTALL_FULL_SYSCONFDIR}/sddm.conf" CACHE PATH "Path of the sddm config file")
