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
epel9
Rex Dieter 7 years ago
parent a03348bc9f
commit 3f0ee92430

8
.gitignore vendored

@ -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

@ -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 <rdieter@gmail.com>
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 <unistd.h>
@@ -34,6 +34,9 @@
#include <fcntl.h>
#include <sched.h>
+#include <X11/Xauth.h>
+
@ -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

@ -1,250 +0,0 @@
/***************************************************************************
* Copyright (c) 2013 Martin Bříza <mbriza@redhat.com>
*
* 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()
}
}
}

@ -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

@ -1,2 +0,0 @@
[General]
background=/usr/share/backgrounds/default.png

@ -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 <rdieter@fedoraproject.org> - 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 <rdieter@fedoraproject.org> - 0.17.0-6
- BR: /usr/bin/rst2man

@ -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
Loading…
Cancel
Save