From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from lists.gentoo.org (pigeon.gentoo.org [208.92.234.80]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by finch.gentoo.org (Postfix) with ESMTPS id 5B0B01382C5 for ; Thu, 5 Apr 2018 15:55:31 +0000 (UTC) Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id 8ED1AE0E1F; Thu, 5 Apr 2018 15:55:30 +0000 (UTC) Received: from smtp.gentoo.org (woodpecker.gentoo.org [IPv6:2001:470:ea4a:1:5054:ff:fec7:86e4]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by pigeon.gentoo.org (Postfix) with ESMTPS id 53CC4E0E1F for ; Thu, 5 Apr 2018 15:55:30 +0000 (UTC) Received: from oystercatcher.gentoo.org (oystercatcher.gentoo.org [148.251.78.52]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.gentoo.org (Postfix) with ESMTPS id E0E75335C78 for ; Thu, 5 Apr 2018 15:55:27 +0000 (UTC) Received: from localhost.localdomain (localhost [IPv6:::1]) by oystercatcher.gentoo.org (Postfix) with ESMTP id DB7CE27C for ; Thu, 5 Apr 2018 15:55:24 +0000 (UTC) From: "Andreas Sturmlechner" To: gentoo-commits@lists.gentoo.org Content-Transfer-Encoding: 8bit Content-type: text/plain; charset=UTF-8 Reply-To: gentoo-dev@lists.gentoo.org, "Andreas Sturmlechner" Message-ID: <1522943687.8e892dae48e6e695e7e809748a94d67e70be6c2f.asturm@gentoo> Subject: [gentoo-commits] repo/gentoo:master commit in: x11-misc/sddm/, x11-misc/sddm/files/ X-VCS-Repository: repo/gentoo X-VCS-Files: x11-misc/sddm/files/sddm-0.17.0-switchtogreeter.patch x11-misc/sddm/sddm-0.17.0-r2.ebuild X-VCS-Directories: x11-misc/sddm/files/ x11-misc/sddm/ X-VCS-Committer: asturm X-VCS-Committer-Name: Andreas Sturmlechner X-VCS-Revision: 8e892dae48e6e695e7e809748a94d67e70be6c2f X-VCS-Branch: master Date: Thu, 5 Apr 2018 15:55:24 +0000 (UTC) Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-commits@lists.gentoo.org X-Archives-Salt: d8a3ebc9-73e5-46c4-8d51-fd47ba4c4711 X-Archives-Hash: 54694875d54a325c968c80e2c587e5f4 commit: 8e892dae48e6e695e7e809748a94d67e70be6c2f Author: Andreas Sturmlechner gentoo org> AuthorDate: Thu Apr 5 15:53:03 2018 +0000 Commit: Andreas Sturmlechner gentoo org> CommitDate: Thu Apr 5 15:54:47 2018 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=8e892dae x11-misc/sddm: Fix SwitchToGreeter error Thanks-to: Alexander Miller gmx.de> Bug: https://bugs.gentoo.org/644718 Package-Manager: Portage-2.3.28, Repoman-2.3.9 .../sddm/files/sddm-0.17.0-switchtogreeter.patch | 54 ++++++++++++++ x11-misc/sddm/sddm-0.17.0-r2.ebuild | 83 ++++++++++++++++++++++ 2 files changed, 137 insertions(+) diff --git a/x11-misc/sddm/files/sddm-0.17.0-switchtogreeter.patch b/x11-misc/sddm/files/sddm-0.17.0-switchtogreeter.patch new file mode 100644 index 00000000000..22d2fa4ae9b --- /dev/null +++ b/x11-misc/sddm/files/sddm-0.17.0-switchtogreeter.patch @@ -0,0 +1,54 @@ +Subject: [PATCH] Fix switchToGreeter not available without logind +From: Alexander Miller + +Seats can't be created until SeatManager's signals are +connected to the DisplayManager, or the latter won't see +them and switchToGreeter doesn't work. So split SeatManager +initialization from its constructor and call initialize it +only after all connections have been set up in DaemonApp's +constructor. + +With logind there may have been enough delay before seats +got actually added so things would work, but it's still +cleaner to fix the order. + +Fixes: https://bugs.gentoo.org/644718 +Fixes: https://github.com/sddm/sddm/issues/824 + +--- a/src/daemon/SeatManager.h ++++ b/src/daemon/SeatManager.h +@@ -31,8 +31,9 @@ namespace SDDM { + class SeatManager : public QObject { + Q_OBJECT + public: +- explicit SeatManager(QObject *parent = 0); ++ explicit SeatManager(QObject *parent = 0) {} + ++ void initialize(); + void createSeat(const QString &name); + void removeSeat(const QString &name); + void switchToGreeter(const QString &seat); +--- a/src/daemon/SeatManager.cpp ++++ b/src/daemon/SeatManager.cpp +@@ -93,8 +93,7 @@ namespace SDDM { + } + } + +- SeatManager::SeatManager(QObject *parent) : QObject(parent) { +- ++ void SeatManager::initialize() { + if (DaemonApp::instance()->testing() || !Logind::isAvailable()) { + //if we don't have logind/CK2, just create a single seat immediately and don't do any other connections + createSeat(QStringLiteral("seat0")); +--- a/src/daemon/DaemonApp.cpp ++++ b/src/daemon/DaemonApp.cpp +@@ -75,6 +75,9 @@ namespace SDDM { + + // log message + qDebug() << "Starting..."; ++ ++ // initialize seats only after signals are connected ++ m_seatManager->initialize(); + } + + bool DaemonApp::testing() const { diff --git a/x11-misc/sddm/sddm-0.17.0-r2.ebuild b/x11-misc/sddm/sddm-0.17.0-r2.ebuild new file mode 100644 index 00000000000..0baf9364f5e --- /dev/null +++ b/x11-misc/sddm/sddm-0.17.0-r2.ebuild @@ -0,0 +1,83 @@ +# Copyright 1999-2018 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +PLOCALES="ar ca cs da de es et fi fr hi_IN hu it ja kk ko lt lv nb nl nn pl pt_BR pt_PT ro ru sk sr sr@ijekavian sr@ijekavianlatin sr@latin sv tr uk zh_CN zh_TW" +inherit cmake-utils l10n systemd user + +DESCRIPTION="Simple Desktop Display Manager" +HOMEPAGE="https://github.com/sddm/sddm" +SRC_URI="https://github.com/${PN}/${PN}/releases/download/v${PV}/${P}.tar.gz" +KEYWORDS="~amd64 ~arm ~arm64 ~x86" + +LICENSE="GPL-2+ MIT CC-BY-3.0 CC-BY-SA-3.0 public-domain" +SLOT="0" +IUSE="consolekit elogind +pam systemd test" + +REQUIRED_USE="?? ( elogind systemd )" + +RDEPEND=" + >=dev-qt/qtcore-5.6:5 + >=dev-qt/qtdbus-5.6:5 + >=dev-qt/qtdeclarative-5.6:5 + >=dev-qt/qtgui-5.6:5 + >=dev-qt/qtnetwork-5.6:5 + >=x11-base/xorg-server-1.15.1 + x11-libs/libXau + x11-libs/libxcb[xkb] + consolekit? ( >=sys-auth/consolekit-0.9.4 ) + elogind? ( sys-auth/elogind ) + pam? ( sys-libs/pam ) + systemd? ( sys-apps/systemd:= ) + !systemd? ( sys-power/upower )" + +DEPEND="${RDEPEND} + dev-python/docutils + >=dev-qt/linguist-tools-5.6:5 + kde-frameworks/extra-cmake-modules + virtual/pkgconfig + test? ( >=dev-qt/qttest-5.6:5 )" + +PATCHES=( + "${FILESDIR}/${PN}-0.12.0-respect-user-flags.patch" # fix for flags handling and bug 563108 + "${FILESDIR}/${PN}-0.16.0-Xsession.patch" # bug 611210 + "${FILESDIR}/${PN}-0.16.0-ck2-revert.patch" # bug 633920 + # not yet upstream, fixing issues caused by hostname changes + "${FILESDIR}/${P}-switchtogreeter.patch" # bugs 644718, 649888 +) + +src_prepare() { + cmake-utils_src_prepare + + disable_locale() { + sed -e "/${1}\.ts/d" -i data/translations/CMakeLists.txt || die + } + l10n_find_plocales_changes "data/translations" "" ".ts" + l10n_for_each_disabled_locale_do disable_locale + + use test || cmake_comment_add_subdirectory test +} + +src_configure() { + local mycmakeargs=( + -DENABLE_PAM=$(usex pam) + -DNO_SYSTEMD=$(usex '!systemd') + -DUSE_ELOGIND=$(usex 'elogind') + -DBUILD_MAN_PAGES=ON + -DDBUS_CONFIG_FILENAME="org.freedesktop.sddm.conf" + ) + cmake-utils_src_configure +} + +src_install() { + cmake-utils_src_install + sed -i -e "/^InputMethod/s/qtvirtualkeyboard//" "${D}"/etc/sddm.conf || die +} + +pkg_postinst() { + enewgroup ${PN} + enewuser ${PN} -1 -1 /var/lib/${PN} ${PN},video + + systemd_reenable sddm.service +}