From de9b08e3f2eb649e156036eb0ee2cec64b213a2d Mon Sep 17 00:00:00 2001 From: Rex Dieter Date: Tue, 8 Sep 2015 17:44:54 -0500 Subject: [PATCH] 0.12.0 --- .gitignore | 3 +- ...andling-method-of-detecting-X-startu.patch | 109 ------------------ ...libsystemd-journal-libsystemd-for-sy.patch | 44 ------- ...ting-small-typo-in-TextConstants.qml.patch | 26 ----- 0034-fix-typo.patch | 33 ------ ...-the-role-needsPassword-in-UserModel.patch | 64 ---------- ...-according-to-needsPassword-role-in-.patch | 25 ---- ...-about-needsPassword-role-and-shadow.patch | 30 ----- ...-Add-new-platformTheme-key-to-themes.patch | 29 ----- 0069-Clock-Do-not-hardcode-date-format.patch | 26 ----- sddm.spec | 17 +-- sources | 2 +- 12 files changed, 8 insertions(+), 400 deletions(-) delete mode 100644 0001-Replace-signal-handling-method-of-detecting-X-startu.patch delete mode 100644 0019-handle-merge-of-libsystemd-journal-libsystemd-for-sy.patch delete mode 100644 0028-Correcting-small-typo-in-TextConstants.qml.patch delete mode 100644 0034-fix-typo.patch delete mode 100644 0045-Provid-the-role-needsPassword-in-UserModel.patch delete mode 100644 0049-Set-showPassword-according-to-needsPassword-role-in-.patch delete mode 100644 0050-Add-a-note-about-needsPassword-role-and-shadow.patch delete mode 100644 0059-Add-new-platformTheme-key-to-themes.patch delete mode 100644 0069-Clock-Do-not-hardcode-date-format.patch diff --git a/.gitignore b/.gitignore index e934f90..426eebe 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1 @@ -/v0.10.0.tar.gz -/v0.11.0.tar.gz +/v0.12.0.tar.gz diff --git a/0001-Replace-signal-handling-method-of-detecting-X-startu.patch b/0001-Replace-signal-handling-method-of-detecting-X-startu.patch deleted file mode 100644 index f119d13..0000000 --- a/0001-Replace-signal-handling-method-of-detecting-X-startu.patch +++ /dev/null @@ -1,109 +0,0 @@ -From c1d1c0c8050d45a6316217f2e2ada632b8eddb66 Mon Sep 17 00:00:00 2001 -From: David Edmundson -Date: Wed, 12 Nov 2014 16:36:26 +0100 -Subject: [PATCH 01/70] Replace signal handling method of detecting X startup - with FD method - -Using SIGUSR1 to detect when X has started doesn't work with multi seat -as we end up starting two X servers in such fast succession that one -signal gets lost. - -Xorg also supports an approach where we pass a file descriptor as an -argument and X will write the used dislay ID (i.e :0) into this file -when it is ready. Apparently this is the preferred approach for -detecting X startup. ---- - src/daemon/XorgDisplayServer.cpp | 55 ++++++++++++++++++++++++++++++---------- - 1 file changed, 42 insertions(+), 13 deletions(-) - -diff --git a/src/daemon/XorgDisplayServer.cpp b/src/daemon/XorgDisplayServer.cpp -index f10ad82..dcebb81 100644 ---- a/src/daemon/XorgDisplayServer.cpp -+++ b/src/daemon/XorgDisplayServer.cpp -@@ -137,6 +137,17 @@ namespace SDDM { - QStringList args; - args << m_display << "-ac" << "-br" << "-noreset" << "-screen" << "800x600"; - process->start("/usr/bin/Xephyr", args); -+ -+ -+ // wait for display server to start -+ if (!process->waitForStarted()) { -+ // log message -+ qCritical() << "Failed to start display server process."; -+ -+ // return fail -+ return false; -+ } -+ emit started(); - } else { - // set process environment - QProcessEnvironment env = QProcessEnvironment::systemEnvironment(); -@@ -145,8 +156,12 @@ namespace SDDM { - env.insert("XCURSOR_THEME", mainConfig.Theme.CursorTheme.get()); - process->setProcessEnvironment(env); - -- // tell the display server to notify us when we can connect -- SignalHandler::ignoreSigusr1(); -+ //create pipe for communicating with X server -+ //0 == read from X, 1== write to from X -+ int pipeFds[2]; -+ if (pipe(pipeFds) != 0) { -+ qCritical("Could not create pipe to start X server"); -+ } - - // start display server - QStringList args; -@@ -155,25 +170,39 @@ namespace SDDM { - << "-nolisten" << "tcp" - << "-background" << "none" - << "-noreset" -+ << "-displayfd" << QString::number(pipeFds[1]) - << QString("vt%1").arg(displayPtr()->terminalId()); - qDebug() << "Running:" - << qPrintable(mainConfig.XDisplay.ServerPath.get()) - << qPrintable(args.join(" ")); - process->start(mainConfig.XDisplay.ServerPath.get(), args); -- SignalHandler::initializeSigusr1(); -- connect(DaemonApp::instance()->signalHandler(), SIGNAL(sigusr1Received()), this, SIGNAL(started())); -- } - -- // wait for display server to start -- if (!process->waitForStarted()) { -- // log message -- qCritical() << "Failed to start display server process."; -+ // wait for display server to start -+ if (!process->waitForStarted()) { -+ // log message -+ qCritical() << "Failed to start display server process."; -+ -+ // return fail -+ close(pipeFds[0]); -+ return false; -+ } -+ -+ QFile readPipe; -+ -+ if (!readPipe.open(pipeFds[0], QIODevice::ReadOnly)) { -+ qCritical("Failed to open pipe to start X Server "); -+ -+ close(pipeFds[0]); -+ return false; -+ } -+ QByteArray displayNumber = readPipe.readLine(); -+ -+ -+ // close our pipe -+ close(pipeFds[0]); - -- // return fail -- return false; -- } -- if (daemonApp->testing()) - emit started(); -+ } - - // set flag - m_started = true; --- -2.4.3 - diff --git a/0019-handle-merge-of-libsystemd-journal-libsystemd-for-sy.patch b/0019-handle-merge-of-libsystemd-journal-libsystemd-for-sy.patch deleted file mode 100644 index 83462ce..0000000 --- a/0019-handle-merge-of-libsystemd-journal-libsystemd-for-sy.patch +++ /dev/null @@ -1,44 +0,0 @@ -From 207d03e309ef8a4a94754d2d9d76c72b7ca503bd Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Andreas=20M=C3=BCller?= -Date: Sat, 21 Feb 2015 19:57:41 +0100 -Subject: [PATCH 19/70] handle merge of libsystemd-journal -> libsystemd for - systemd >= 209 -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -see [1]: - -'The APIs "sd-journal.h", "sd-login.h", "sd-id128.h", "sd-daemon.h" are no -longer found in individual libraries libsystemd-journal.so, , libsystemd-login.so, -libsystemd-id128.so, libsystemd-daemon.so. Instead, we have merged them into -a single library, libsystemd.so, which provides all symbols. - -[1] http://cgit.freedesktop.org/systemd/systemd/tree/NEWS - -Signed-off-by: Andreas Müller ---- - CMakeLists.txt | 7 ++++++- - 1 file changed, 6 insertions(+), 1 deletion(-) - -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 61230a4..3a34ba6 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -98,7 +98,12 @@ if(SYSTEMD_FOUND) - add_definitions(-DHAVE_SYSTEMD) - set(CMAKE_AUTOMOC_MOC_OPTIONS -DHAVE_SYSTEMD) - -- pkg_check_modules(JOURNALD "libsystemd-journal") -+ # libsystemd-journal was merged into libsystemd in 209 -+ if(${SYSTEMD_VERSION} VERSION_LESS 209) -+ pkg_check_modules(JOURNALD "libsystemd-journal") -+ else() -+ pkg_check_modules(JOURNALD "libsystemd") -+ endif() - - if(ENABLE_JOURNALD) - if(JOURNALD_FOUND) --- -2.4.3 - diff --git a/0028-Correcting-small-typo-in-TextConstants.qml.patch b/0028-Correcting-small-typo-in-TextConstants.qml.patch deleted file mode 100644 index 2104b1b..0000000 --- a/0028-Correcting-small-typo-in-TextConstants.qml.patch +++ /dev/null @@ -1,26 +0,0 @@ -From 2b1a51ad3dce0d9e96ba30593b895541937fb1a5 Mon Sep 17 00:00:00 2001 -From: Simon Clemente -Date: Sat, 11 Apr 2015 14:15:37 +0800 -Subject: [PATCH 28/70] Correcting small typo in TextConstants.qml - -"loginSucceded," in particular. ---- - components/common/TextConstants.qml | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/components/common/TextConstants.qml b/components/common/TextConstants.qml -index 81a4b33..25cea20 100644 ---- a/components/common/TextConstants.qml -+++ b/components/common/TextConstants.qml -@@ -29,7 +29,7 @@ QtObject { - readonly property string layout: qsTr("Layout") - readonly property string login: qsTr("Login") - readonly property string loginFailed: qsTr("Login failed") -- readonly property string loginSucceded: qsTr("Login succeeded") -+ readonly property string loginSucceeded: qsTr("Login succeeded") - readonly property string password: qsTr("Password") - readonly property string prompt: qsTr("Enter your username and password") - readonly property string promptSelectUser: qsTr("Select your user and enter password") --- -2.4.3 - diff --git a/0034-fix-typo.patch b/0034-fix-typo.patch deleted file mode 100644 index a189ee6..0000000 --- a/0034-fix-typo.patch +++ /dev/null @@ -1,33 +0,0 @@ -From 815975c707faf23d458f28130edf108de9c5fa64 Mon Sep 17 00:00:00 2001 -From: Zach Ploskey -Date: Sat, 30 May 2015 17:37:59 -0700 -Subject: [PATCH 34/70] fix typo - ---- - components/2.0/Background.qml | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/components/2.0/Background.qml b/components/2.0/Background.qml -index 5eb13ac..952894c 100644 ---- a/components/2.0/Background.qml -+++ b/components/2.0/Background.qml -@@ -25,7 +25,7 @@ - import QtQuick 2.0 - - FocusScope { -- id: containter -+ id: container - - property alias source: image.source - property alias fillMode: image.fillMode -@@ -43,6 +43,6 @@ FocusScope { - - MouseArea { - anchors.fill: parent -- onClicked: containter.focus = true -+ onClicked: container.focus = true - } - } --- -2.4.3 - diff --git a/0045-Provid-the-role-needsPassword-in-UserModel.patch b/0045-Provid-the-role-needsPassword-in-UserModel.patch deleted file mode 100644 index 8d91291..0000000 --- a/0045-Provid-the-role-needsPassword-in-UserModel.patch +++ /dev/null @@ -1,64 +0,0 @@ -From b6a43bb50bf055a327e50eb292565d08b8e6b6a5 Mon Sep 17 00:00:00 2001 -From: Leonardo -Date: Wed, 11 Mar 2015 12:12:44 -0300 -Subject: [PATCH 45/70] Provid the role 'needsPassword' in UserModel - ---- - src/greeter/UserModel.cpp | 5 +++++ - src/greeter/UserModel.h | 3 ++- - 2 files changed, 7 insertions(+), 1 deletion(-) - -diff --git a/src/greeter/UserModel.cpp b/src/greeter/UserModel.cpp -index e28f40a..82d123c 100644 ---- a/src/greeter/UserModel.cpp -+++ b/src/greeter/UserModel.cpp -@@ -37,6 +37,7 @@ namespace SDDM { - QString realName { "" }; - QString homeDir { "" }; - QString icon { "" }; -+ bool needsPassword { false }; - int uid { 0 }; - int gid { 0 }; - }; -@@ -75,6 +76,7 @@ namespace SDDM { - user->homeDir = QString(current_pw->pw_dir); - user->uid = int(current_pw->pw_uid); - user->gid = int(current_pw->pw_gid); -+ user->needsPassword = strcmp(current_pw->pw_passwd, "") != 0; - - // search for face icon - QString userFace = QString("%1/.face.icon").arg(user->homeDir); -@@ -113,6 +115,7 @@ namespace SDDM { - roleNames[RealNameRole] = "realName"; - roleNames[HomeDirRole] = "homeDir"; - roleNames[IconRole] = "icon"; -+ roleNames[NeedsPasswordRole] = "needsPassword"; - - return roleNames; - } -@@ -145,6 +148,8 @@ namespace SDDM { - return user->homeDir; - else if (role == IconRole) - return user->icon; -+ else if (role == NeedsPasswordRole) -+ return user->needsPassword; - - // return empty value - return QVariant(); -diff --git a/src/greeter/UserModel.h b/src/greeter/UserModel.h -index 8cc355f..99d2770 100644 ---- a/src/greeter/UserModel.h -+++ b/src/greeter/UserModel.h -@@ -37,7 +37,8 @@ namespace SDDM { - NameRole = Qt::UserRole + 1, - RealNameRole, - HomeDirRole, -- IconRole -+ IconRole, -+ NeedsPasswordRole - }; - - UserModel(QObject *parent = 0); --- -2.4.3 - diff --git a/0049-Set-showPassword-according-to-needsPassword-role-in-.patch b/0049-Set-showPassword-according-to-needsPassword-role-in-.patch deleted file mode 100644 index f13e0f5..0000000 --- a/0049-Set-showPassword-according-to-needsPassword-role-in-.patch +++ /dev/null @@ -1,25 +0,0 @@ -From a823ae659f705e80546444a7e991c92b54e48826 Mon Sep 17 00:00:00 2001 -From: Leonardo -Date: Wed, 11 Mar 2015 12:21:00 -0300 -Subject: [PATCH 49/70] Set showPassword according to needsPassword role in - maui theme - ---- - data/themes/maui/Main.qml | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/data/themes/maui/Main.qml b/data/themes/maui/Main.qml -index 89c443c..9b3bc78 100644 ---- a/data/themes/maui/Main.qml -+++ b/data/themes/maui/Main.qml -@@ -72,6 +72,7 @@ Rectangle { - anchors.verticalCenter: parent.verticalCenter - name: (model.realName === "") ? model.name : model.realName - icon: model.icon -+ showPassword: model.needsPassword - - focus: (listView.currentIndex === index) ? true : false - state: (listView.currentIndex === index) ? "active" : "" --- -2.4.3 - diff --git a/0050-Add-a-note-about-needsPassword-role-and-shadow.patch b/0050-Add-a-note-about-needsPassword-role-and-shadow.patch deleted file mode 100644 index ab38a7a..0000000 --- a/0050-Add-a-note-about-needsPassword-role-and-shadow.patch +++ /dev/null @@ -1,30 +0,0 @@ -From 07866210800743a5930f6e77a4ad6cb85b8e51b7 Mon Sep 17 00:00:00 2001 -From: Pier Luigi Fiorini -Date: Sun, 21 Jun 2015 12:18:17 +0200 -Subject: [PATCH 50/70] Add a note about needsPassword role and shadow - -The flag will always be true when shadow is used because pw_passwd -will contain 'x' even if the password was erased. - -When shadow is used we'll still see the password prompt but we'll -be able to login just pressing enter. ---- - src/greeter/UserModel.cpp | 2 ++ - 1 file changed, 2 insertions(+) - -diff --git a/src/greeter/UserModel.cpp b/src/greeter/UserModel.cpp -index 82d123c..2365828 100644 ---- a/src/greeter/UserModel.cpp -+++ b/src/greeter/UserModel.cpp -@@ -76,6 +76,8 @@ namespace SDDM { - user->homeDir = QString(current_pw->pw_dir); - user->uid = int(current_pw->pw_uid); - user->gid = int(current_pw->pw_gid); -+ // if shadow is used pw_passwd will be 'x' nevertheless, so this -+ // will always be true - user->needsPassword = strcmp(current_pw->pw_passwd, "") != 0; - - // search for face icon --- -2.4.3 - diff --git a/0059-Add-new-platformTheme-key-to-themes.patch b/0059-Add-new-platformTheme-key-to-themes.patch deleted file mode 100644 index dd52ff7..0000000 --- a/0059-Add-new-platformTheme-key-to-themes.patch +++ /dev/null @@ -1,29 +0,0 @@ -From f7c44a4ece6ec90e33bb61080092430d34394569 Mon Sep 17 00:00:00 2001 -From: Pier Luigi Fiorini -Date: Tue, 23 Jun 2015 01:00:35 +0200 -Subject: [PATCH 59/70] Add new platformTheme key to themes - -Set QT_QPA_PLATFORMTHEME based on what the theme says. -This allows greeter themes to be further customized with special settings. ---- - src/greeter/GreeterApp.cpp | 4 ++++ - 1 file changed, 4 insertions(+) - -diff --git a/src/greeter/GreeterApp.cpp b/src/greeter/GreeterApp.cpp -index cec9d5e..71c7d86 100644 ---- a/src/greeter/GreeterApp.cpp -+++ b/src/greeter/GreeterApp.cpp -@@ -107,6 +107,10 @@ namespace SDDM { - if (m_themeConfig->contains("cursorTheme")) - qputenv("XCURSOR_THEME", m_themeConfig->value("cursorTheme").toString().toUtf8()); - -+ // set platform theme -+ if (m_themeConfig->contains("platformTheme")) -+ qputenv("QT_QPA_PLATFORMTHEME", m_themeConfig->value("platformTheme").toString().toUtf8()); -+ - // create models - - m_sessionModel = new SessionModel(); --- -2.4.3 - diff --git a/0069-Clock-Do-not-hardcode-date-format.patch b/0069-Clock-Do-not-hardcode-date-format.patch deleted file mode 100644 index 5ab75c1..0000000 --- a/0069-Clock-Do-not-hardcode-date-format.patch +++ /dev/null @@ -1,26 +0,0 @@ -From c7572aa01c9d36124eeacde54f37dcbd4bab6433 Mon Sep 17 00:00:00 2001 -From: Jerome Leclanche -Date: Thu, 16 Jul 2015 16:40:59 +0200 -Subject: [PATCH 69/70] Clock: Do not hardcode date format - -Fixes #384 ---- - components/2.0/Clock.qml | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/components/2.0/Clock.qml b/components/2.0/Clock.qml -index 2f2d811..f03d0bf 100644 ---- a/components/2.0/Clock.qml -+++ b/components/2.0/Clock.qml -@@ -54,7 +54,7 @@ Column { - - color: container.color - -- text : Qt.formatDate(container.dateTime, "dddd, MMM dd") -+ text : Qt.formatDate(container.dateTime, Qt.DefaultLocaleLongDate) - - font.pointSize: 24 - } --- -2.4.3 - diff --git a/sddm.spec b/sddm.spec index a07fc68..36f698a 100644 --- a/sddm.spec +++ b/sddm.spec @@ -1,8 +1,8 @@ %global _hardened_build 1 Name: sddm -Version: 0.11.0 -Release: 2%{?dist} +Version: 0.12.0 +Release: 1%{?dist} # code GPLv2+, fedora theme CC-BY-SA License: GPLv2+ and CC-BY-SA Summary: QML based X11 desktop manager @@ -11,15 +11,6 @@ Url: https://github.com/sddm/sddm Source0: https://github.com/sddm/sddm/archive/v%{version}.tar.gz ## upstream patches -Patch1: 0001-Replace-signal-handling-method-of-detecting-X-startu.patch -Patch19: 0019-handle-merge-of-libsystemd-journal-libsystemd-for-sy.patch -Patch28: 0028-Correcting-small-typo-in-TextConstants.qml.patch -Patch34: 0034-fix-typo.patch -Patch45: 0045-Provid-the-role-needsPassword-in-UserModel.patch -Patch49: 0049-Set-showPassword-according-to-needsPassword-role-in-.patch -Patch50: 0050-Add-a-note-about-needsPassword-role-and-shadow.patch -Patch59: 0059-Add-new-platformTheme-key-to-themes.patch -Patch69: 0069-Clock-Do-not-hardcode-date-format.patch ## downstream patches # downstream fedora-specific configuration @@ -44,6 +35,7 @@ Provides: service(graphical-login) = sddm BuildRequires: cmake BuildRequires: libxcb-devel BuildRequires: pam-devel +BuildRequires: pkgconfig(libsystemd-journal) BuildRequires: pkgconfig(systemd) BuildRequires: python-docutils BuildRequires: qt5-qtbase-devel @@ -178,6 +170,9 @@ exit 0 %changelog +* Tue Sep 08 2015 Rex Dieter 0.12.0-1 +- 0.12.0 + * Wed Sep 02 2015 Rex Dieter 0.11.0-2 - use %%license tag diff --git a/sources b/sources index eea211c..e487053 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -e110a7683867400dc9484d4744fd41dd v0.11.0.tar.gz +e3261ac93a50c71c973cc79b85387765 v0.12.0.tar.gz