From 3f0ee924308061eb4fdbb858c307415ead1e1848 Mon Sep 17 00:00:00 2001 From: Rex Dieter Date: Wed, 18 Jul 2018 13:46:42 -0500 Subject: [PATCH] sddm-0.18.0 rebase libXau patch (upstream pull request #863) drop patch from upstream pull request #735 drop remnants of 02-fedora sddm theme --- .gitignore | 8 - 0001-Port-from-xauth-to-libXau.patch | 28 +-- fedora-Main.qml | 250 --------------------------- fedora-metadata.desktop | 15 -- fedora-theme.conf | 2 - sddm.spec | 52 ++---- sources | 7 - 7 files changed, 26 insertions(+), 336 deletions(-) delete mode 100644 fedora-Main.qml delete mode 100644 fedora-metadata.desktop delete mode 100644 fedora-theme.conf diff --git a/.gitignore b/.gitignore index 023c0a9..0679279 100644 --- a/.gitignore +++ b/.gitignore @@ -1,9 +1 @@ /angle-down.png -/v0.15.0.tar.gz -/v0.17.0.tar.gz -/0004-Fix-race-between-sddm-and-logind.patch -/0008-Don-t-quit-on-SIGHUP.patch -/0009-Add-SOCK_CLOEXEC-to-signal-handling-sockets.patch -/0014-Bump-Qt-requirement-to-5.8.0.patch -/0033-XorgDisplayServer.cpp-Check-pipe-output-if-there-is-.patch -/0034-Fix-build-with-Qt-5.11-1024.patch diff --git a/0001-Port-from-xauth-to-libXau.patch b/0001-Port-from-xauth-to-libXau.patch index c23f04a..e648b41 100644 --- a/0001-Port-from-xauth-to-libXau.patch +++ b/0001-Port-from-xauth-to-libXau.patch @@ -1,6 +1,6 @@ -From 4741f7d02a30cf3023dbd287d88a1ee9c9d71d10 Mon Sep 17 00:00:00 2001 +From c450793f314547eb3573d3a3dc8c75aef82c19bf Mon Sep 17 00:00:00 2001 From: Rex Dieter -Date: Wed, 6 Dec 2017 10:54:51 -0600 +Date: Wed, 18 Jul 2018 13:41:29 -0500 Subject: [PATCH] Port from xauth to libXau Rebase @@ -11,19 +11,19 @@ https://github.com/sddm/sddm/issues/733 and make sddm more resilient to hostname changes --- CMakeLists.txt | 3 ++ - cmake/FindXAU.cmake | 54 ++++++++++++++++++++++++++++++++++ + cmake/FindXAU.cmake | 54 ++++++++++++++++++++++++++++ src/daemon/CMakeLists.txt | 4 ++- - src/daemon/XorgDisplayServer.cpp | 62 ++++++++++++++++++++++++++++++---------- + src/daemon/XorgDisplayServer.cpp | 62 ++++++++++++++++++++++++-------- src/helper/CMakeLists.txt | 2 +- - src/helper/UserSession.cpp | 55 ++++++++++++++++++++++++++--------- + src/helper/UserSession.cpp | 55 +++++++++++++++++++++------- 6 files changed, 150 insertions(+), 30 deletions(-) create mode 100644 cmake/FindXAU.cmake diff --git a/CMakeLists.txt b/CMakeLists.txt -index 005c9ad..f480b1c 100644 +index 8500c65..4e62a4d 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -92,6 +92,9 @@ find_package(XCB REQUIRED) +@@ -94,6 +94,9 @@ find_package(XCB REQUIRED) # XKB find_package(XKB REQUIRED) @@ -94,7 +94,7 @@ index 0000000..03cafb7 + MARK_AS_ADVANCED(LIBXAU_INCLUDE_DIR LIBXAU_LIBRARIES) +ENDIF (NOT WIN32) diff --git a/src/daemon/CMakeLists.txt b/src/daemon/CMakeLists.txt -index 9c3a582..4cc82a6 100644 +index 5d767c8..befc13d 100644 --- a/src/daemon/CMakeLists.txt +++ b/src/daemon/CMakeLists.txt @@ -57,7 +57,9 @@ target_link_libraries(sddm @@ -109,7 +109,7 @@ index 9c3a582..4cc82a6 100644 target_link_libraries(sddm ${PAM_LIBRARIES}) else() diff --git a/src/daemon/XorgDisplayServer.cpp b/src/daemon/XorgDisplayServer.cpp -index b1a6788..5557005 100644 +index 28ce524..13faf03 100644 --- a/src/daemon/XorgDisplayServer.cpp +++ b/src/daemon/XorgDisplayServer.cpp @@ -34,6 +34,7 @@ @@ -209,12 +209,12 @@ index ebf4a6e..51d47ef 100644 target_link_libraries(sddm-helper ${PAM_LIBRARIES}) else() diff --git a/src/helper/UserSession.cpp b/src/helper/UserSession.cpp -index 8166c93..066f754 100644 +index d4fd2cf..d597935 100644 --- a/src/helper/UserSession.cpp +++ b/src/helper/UserSession.cpp -@@ -33,6 +33,9 @@ - #include +@@ -34,6 +34,9 @@ #include + #include +#include + @@ -222,7 +222,7 @@ index 8166c93..066f754 100644 namespace SDDM { UserSession::UserSession(HelperApp *parent) : QProcess(parent) { -@@ -171,31 +174,57 @@ namespace SDDM { +@@ -270,31 +273,57 @@ namespace SDDM { if (!cookie.isEmpty()) { QString file = processEnvironment().value(QStringLiteral("XAUTHORITY")); QString display = processEnvironment().value(QStringLiteral("DISPLAY")); @@ -294,5 +294,5 @@ index 8166c93..066f754 100644 } -- -2.14.3 +2.17.1 diff --git a/fedora-Main.qml b/fedora-Main.qml deleted file mode 100644 index f1c365f..0000000 --- a/fedora-Main.qml +++ /dev/null @@ -1,250 +0,0 @@ -/*************************************************************************** -* Copyright (c) 2013 Martin Bříza -* -* Permission is hereby granted, free of charge, to any person -* obtaining a copy of this software and associated documentation -* files (the "Software"), to deal in the Software without restriction, -* including without limitation the rights to use, copy, modify, merge, -* publish, distribute, sublicense, and/or sell copies of the Software, -* and to permit persons to whom the Software is furnished to do so, -* subject to the following conditions: -* -* The above copyright notice and this permission notice shall be included -* in all copies or substantial portions of the Software. -* -* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -* OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -* THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR -* OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, -* ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE -* OR OTHER DEALINGS IN THE SOFTWARE. -* -***************************************************************************/ - - -import QtQuick 2.0 -import SddmComponents 2.0 - -Rectangle { - - TextConstants { id: textConstants } - - Connections { - target: sddm - - onLoginSucceeded: { - errorMessage.color = "green" - errorMessage.text = textConstants.loginSucceeded - } - onLoginFailed: { - errorMessage.color = "red" - errorMessage.text = textConstants.loginFailed - } - } - - Repeater { - model: screenModel - Item { - Background { - x: geometry.x; y: geometry.y; width: geometry.width; height:geometry.height - source: config.background - fillMode: Image.Stretch - } - } - } - - Rectangle { - property variant geometry: screenModel.geometry(screenModel.primary) - x: geometry.x - y: geometry.y - width: geometry.width - height: geometry.height - color: "transparent" - - Image { - id: fedoraLogo - x: parent.width / 2 - width / 2 - y: parent.height / 2 - height / 2 - source: "/usr/share/pixmaps/system-logo-white.png" - } - - Rectangle { - width: parent.width - height: 34 - - opacity: 0.4 - color: "black" - } - - Row { - x: 4 - y: 4 - spacing: 4 - width: parent.width - 8 - z: 100 - - Row { - spacing: 4 - width: parent.width/2 - ComboBox { - id: session - width: 250 - height: 24 - font.pixelSize: 14 - - arrowIcon: "angle-down.png" - - model: sessionModel - index: sessionModel.lastIndex - - KeyNavigation.backtab: password; KeyNavigation.tab: layoutBox - } - - LayoutBox { - id: layoutBox; height: 24 - font.pixelSize: 14 - - arrowIcon: "angle-down.png" - - KeyNavigation.backtab: session; KeyNavigation.tab: loginButton - } - } - - Row { - spacing: 4 - - Button { - id: rebootButton - text: textConstants.reboot - height: 25 - width: 100 - - onClicked: sddm.reboot() - - KeyNavigation.backtab: shutdownButton; KeyNavigation.tab: name - } - - Button { - id: shutdownButton - text: textConstants.shutdown - height: 25 - width: 100 - - onClicked: sddm.powerOff() - - KeyNavigation.backtab: loginButton; KeyNavigation.tab: rebootButton - } - } - } - - Rectangle { - y: parent.height/2 - width: parent.width - height: parent.height/2 - color: "transparent" - Column { - width: 260 - anchors.centerIn: parent - spacing: 18 - - Row { - width: parent.width - Text { - width: parent.width - color: "white" - text: textConstants.welcomeText.arg(sddm.hostName) - wrapMode: Text.WordWrap - font.pixelSize: 12 - elide: Text.ElideRight - horizontalAlignment: Text.AlignHCenter - } - } - - Row { - width: parent.width - TextBox { - id: name - width: parent.width - height: 30 - text: userModel.lastUser - font.pixelSize: 14 - - KeyNavigation.backtab: rebootButton; KeyNavigation.tab: password - - Keys.onPressed: { - if (event.key === Qt.Key_Return || event.key === Qt.Key_Enter) { - sddm.login(name.text, password.text, session.index) - event.accepted = true - } - } - } - } - - Row { - width: parent.width - PasswordBox { - id: password - width: parent.width * 0.9 - height: 30 - font.pixelSize: 14 - tooltipBG: "lightgrey" - - KeyNavigation.backtab: name; KeyNavigation.tab: session - - Keys.onPressed: { - if (event.key === Qt.Key_Return || event.key === Qt.Key_Enter) { - sddm.login(name.text, password.text, session.index) - event.accepted = true - } - } - } - - Button { - width: parent.width * 0.1 - height: 31 - id: loginButton - text: qsTr(">") - - onClicked: sddm.login(name.text, password.text, session.index) - - KeyNavigation.backtab: layoutBox; KeyNavigation.tab: shutdownButton - } - } - - Column { - width: parent.width - Text { - id: errorMessage - anchors.horizontalCenter: parent.horizontalCenter - text: textConstants.prompt - font.pixelSize: 10 - color: "white" - } - } - } - } - } - - // doesn't do anything :/ - Component.onCompleted: { - if (name.text === "") - name.forceActiveFocus() - else - password.forceActiveFocus() - hackTimer.start() - } - - // can't tell why it doesn't set the focus when component is completed, this hacks around it - Timer { - id: hackTimer - interval: 100 - repeat: false - onTriggered: { - if (name.text === "") - name.forceActiveFocus() - else - password.forceActiveFocus() - } - } -} diff --git a/fedora-metadata.desktop b/fedora-metadata.desktop deleted file mode 100644 index b01744a..0000000 --- a/fedora-metadata.desktop +++ /dev/null @@ -1,15 +0,0 @@ -[SddmGreeterTheme] -Name=Fedora -Description=Fedora SDDM Theme -Author=Martin Bříza -Copyright=(c) 2013, Martin Bříza -License=CC-BY-SA -Type=sddm-theme -Version=0.1 -Website=https://github.com/sddm/sddm -Screenshot=screenshot.jpg -MainScript=Main.qml -ConfigFile=theme.conf -Email=mbriza@redhat.com -Theme-Id=fedora -Theme-API=1.1 diff --git a/fedora-theme.conf b/fedora-theme.conf deleted file mode 100644 index 80ad085..0000000 --- a/fedora-theme.conf +++ /dev/null @@ -1,2 +0,0 @@ -[General] -background=/usr/share/backgrounds/default.png diff --git a/sddm.spec b/sddm.spec index b5c3c1a..8a031da 100644 --- a/sddm.spec +++ b/sddm.spec @@ -1,26 +1,19 @@ %global _hardened_build 1 Name: sddm -Version: 0.17.0 -Release: 6%{?dist} -# code GPLv2+, fedora theme CC-BY-SA -License: GPLv2+ and CC-BY-SA +Version: 0.18.0 +Release: 1%{?dist} +License: GPLv2+ Summary: QML based X11 desktop manager Url: https://github.com/sddm/sddm Source0: https://github.com/sddm/sddm/archive/v%{version}.tar.gz ## upstream patches (in lookaside cache) -Patch4: 0004-Fix-race-between-sddm-and-logind.patch -Patch8: 0008-Don-t-quit-on-SIGHUP.patch -Patch9: 0009-Add-SOCK_CLOEXEC-to-signal-handling-sockets.patch -Patch14: 0014-Bump-Qt-requirement-to-5.8.0.patch -Patch33: 0033-XorgDisplayServer.cpp-Check-pipe-output-if-there-is-.patch -Patch34: 0034-Fix-build-with-Qt-5.11-1024.patch ## upstreamable patches # Fixes RHBZ #1392654 -Patch54: https://github.com/sddm/sddm/pull/735.patch +#Patch54: https://github.com/sddm/sddm/pull/735.patch ## downstream patches Patch101: sddm-0.17.0-fedora_config.patch @@ -38,14 +31,6 @@ Source14: sddm.conf # README.scripts Source15: README.scripts -# fedora theme files -%if 0%{?fedora_theme} -Source21: fedora-Main.qml -Source22: fedora-metadata.desktop -Source23: fedora-theme.conf -Source24: angle-down.png -%endif - Provides: service(graphical-login) = sddm BuildRequires: cmake >= 2.8.8 @@ -103,14 +88,7 @@ A collection of sddm themes, including: elarun, maldives, maya %prep %setup -q -%patch4 -p1 -b .0004 -%patch8 -p1 -b .0008 -%patch9 -p1 -b .0009 -%patch14 -p1 -b .0014 -%patch33 -p1 -b .0033 -%patch34 -p1 -b .0034 - -%patch54 -p1 -b .0054 +#patch54 -p1 -b .0054 %patch101 -p1 -b .fedora_config %patch102 -p1 -b .libxau @@ -155,14 +133,6 @@ cp -a %{buildroot}%{_datadir}/sddm/scripts/* \ # we're using /etc/X11/xinit/Xsession (by default) instead rm -fv %{buildroot}%{_sysconfdir}/sddm/Xsession -# install fedora theme -%if 0%{?fedora_theme} -install -Dpm 644 %{SOURCE21} %{buildroot}%{_datadir}/sddm/themes/02-fedora/Main.qml -install -Dpm 644 %{SOURCE22} %{buildroot}%{_datadir}/sddm/themes/02-fedora/metadata.desktop -install -Dpm 644 %{SOURCE23} %{buildroot}%{_datadir}/sddm/themes/02-fedora/theme.conf -install -Dpm 644 %{SOURCE24} %{buildroot}%{_datadir}/sddm/themes/02-fedora/angle-down.png -%endif - %pre getent group sddm >/dev/null || groupadd -r sddm @@ -218,11 +188,7 @@ exit 0 %{_datadir}/sddm/flags/ %{_datadir}/sddm/scripts/ %dir %{_datadir}/sddm/themes/ -%if 0%{?fedora_theme} -# default non-userlist fedora theme -%{_datadir}/sddm/themes/02-fedora/ -%endif -# %%lang'ify ? -- rex +# %%lang'ify? they're small, probably not worth it -- rex %{_datadir}/sddm/translations/ %{_mandir}/man1/sddm.1* %{_mandir}/man1/sddm-greeter.1* @@ -236,6 +202,12 @@ exit 0 %changelog +* Wed Jul 18 2018 Rex Dieter - 0.18.0-1 +- sddm-0.18.0 +- rebase libXau patch (upstream pull request #863) +- drop patch from upstream pull request #735 +- drop remnants of 02-fedora sddm theme + * Tue Jul 17 2018 Rex Dieter - 0.17.0-6 - BR: /usr/bin/rst2man diff --git a/sources b/sources index 09e4579..e69de29 100644 --- a/sources +++ b/sources @@ -1,7 +0,0 @@ -SHA512 (v0.17.0.tar.gz) = aeedf25c2e5ef54a1cf469fa4bb14d7f6a9bd1df4501f55ca81ed4d9655c9ae0f5c9ddc94408f6fe5eb2502593c38345cb6afc0b80d42007876d73a942fc99a4 -SHA512 (0004-Fix-race-between-sddm-and-logind.patch) = 1bdf2e73acb8abe5fa303894a4a7d2f70f664d4f9ceb021a7df35d910b03a2c4fc4aebec6e72f6eb13d17830fd9803da583a3e1bbaac2a2710f91c54833efdfc -SHA512 (0008-Don-t-quit-on-SIGHUP.patch) = 7ba7d757135cfafd1c17da76a4e1ee44d8debc3a97d46acb5ee98d3793947c57511d075841c4c4784afc9f847e9d7974beed7db715c0d405fc42eddec901e4fb -SHA512 (0009-Add-SOCK_CLOEXEC-to-signal-handling-sockets.patch) = 571a2aec12ec1855f44bde2da9aff892f6e7e3cf7b782c0a3785f43366e8a8391248ab092efd2bc008cff4e5196a5d476456ee635b6a651d89b750a2bc60aa70 -SHA512 (0014-Bump-Qt-requirement-to-5.8.0.patch) = 3b5b1b9e9d11c87f7bdda815b688919a8ab6845368de2eebad2f3f976b1b08080d49db9721ac1cd68ad68d162e76ba234d5636ce63fcbbd1bd8c3aafc800e097 -SHA512 (0033-XorgDisplayServer.cpp-Check-pipe-output-if-there-is-.patch) = 1b51ebbb4f002b405dc5e6679d53a831b7fe69905caa9573d096fba3d1d450c1ca2784d3def091653b60b7575bd5e47ac4177065af04d105858378f355a3fadb -SHA512 (0034-Fix-build-with-Qt-5.11-1024.patch) = a7950b107abd69b08d468ac22e27f2a064aec8d195db21223b0bf6feddad92e1d124397a967a8008fed15ac596297e3115f9fba15e4801d62a7bb8f131aad28a