From 55608644a523b1d94f414298e0aba3cb8749ca3a Mon Sep 17 00:00:00 2001 From: Andreas Sturmlechner Date: Sun, 21 Feb 2016 20:27:24 +0100 Subject: x11-misc/sddm: Add pam_kwallet(5).so entries, EAPI=6 Additional pam entries enable auto-unlock of respective kwallets if kde-apps/kwalletd-pam:4 and/or kde-plasma/kwallet-pam:5 are installed. Drop unused patch. Package-Manager: portage-2.2.27 --- x11-misc/sddm/files/sddm-0.11.0-consolekit.patch | 4 +- .../sddm/files/sddm-0.12.0-CVE-2015-0856.patch | 34 --------- .../files/sddm-0.12.0-respect-user-flags.patch | 4 +- x11-misc/sddm/files/sddm-0.13.0-pam_kwallet.patch | 10 +++ x11-misc/sddm/sddm-0.13.0-r2.ebuild | 80 ++++++++++++++++++++++ 5 files changed, 94 insertions(+), 38 deletions(-) delete mode 100644 x11-misc/sddm/files/sddm-0.12.0-CVE-2015-0856.patch create mode 100644 x11-misc/sddm/files/sddm-0.13.0-pam_kwallet.patch create mode 100644 x11-misc/sddm/sddm-0.13.0-r2.ebuild (limited to 'x11-misc') diff --git a/x11-misc/sddm/files/sddm-0.11.0-consolekit.patch b/x11-misc/sddm/files/sddm-0.11.0-consolekit.patch index 4871bee0f06e..0e2a7f8d7cb4 100644 --- a/x11-misc/sddm/files/sddm-0.11.0-consolekit.patch +++ b/x11-misc/sddm/files/sddm-0.11.0-consolekit.patch @@ -1,5 +1,5 @@ ---- data/scripts/Xsession.old 2015-01-08 12:58:24.448241484 +0100 -+++ data/scripts/Xsession 2015-01-08 13:00:07.794244087 +0100 +--- a/data/scripts/Xsession 2015-01-08 12:58:24.448241484 +0100 ++++ b/data/scripts/Xsession 2015-01-08 13:00:07.794244087 +0100 @@ -93,7 +93,7 @@ exec xterm -geometry 80x24-0-0 ;; diff --git a/x11-misc/sddm/files/sddm-0.12.0-CVE-2015-0856.patch b/x11-misc/sddm/files/sddm-0.12.0-CVE-2015-0856.patch deleted file mode 100644 index 7ae67735dd21..000000000000 --- a/x11-misc/sddm/files/sddm-0.12.0-CVE-2015-0856.patch +++ /dev/null @@ -1,34 +0,0 @@ -commit 4cfed6b0a625593fb43876f04badc4dd99799d86 -Author: David Edmundson -Date: Wed Oct 14 00:08:59 2015 +0100 - - Disable greeters from loading KDE's debug hander - - Some themes may use KDE components which will automatically load KDE's - crash handler. - - If the greeter were to then somehow crash, that would leave a crash - handler allowing other actions, albeit as the locked down SDDM user. - - Only SDDM users using the breeze theme from plasma-workspace are - affected. Safest and simplest fix is to handle this inside SDDM - disabling kcrash via an environment variable for all future themes that - may use these libraries. - - CVE-2015-0856 - -diff --git a/src/daemon/Greeter.cpp b/src/daemon/Greeter.cpp -index 68c4dc3..8c936b7 100644 ---- a/src/daemon/Greeter.cpp -+++ b/src/daemon/Greeter.cpp -@@ -145,6 +145,10 @@ namespace SDDM { - env.insert(QStringLiteral("XDG_VTNR"), QString::number(m_display->terminalId())); - env.insert(QStringLiteral("XDG_SESSION_CLASS"), QStringLiteral("greeter")); - env.insert(QStringLiteral("XDG_SESSION_TYPE"), m_display->sessionType()); -+ -+ //some themes may use KDE components and that will automatically load KDE's crash handler which we don't want -+ //counterintuitively setting this env disables that handler -+ env.insert(QStringLiteral("KDE_DEBUG"), QStringLiteral("1")); - m_auth->insertEnvironment(env); - - // log message diff --git a/x11-misc/sddm/files/sddm-0.12.0-respect-user-flags.patch b/x11-misc/sddm/files/sddm-0.12.0-respect-user-flags.patch index 67a662186615..fc450169792d 100644 --- a/x11-misc/sddm/files/sddm-0.12.0-respect-user-flags.patch +++ b/x11-misc/sddm/files/sddm-0.12.0-respect-user-flags.patch @@ -1,6 +1,6 @@ diff -u CMakeLists.txt CMakeLists.txt ---- CMakeLists.txt 2015-09-05 22:40:50.000000000 +0200 -+++ CMakeLists.txt 2015-09-07 12:15:33.419530808 +0200 +--- a/CMakeLists.txt 2015-09-05 22:40:50.000000000 +0200 ++++ b/CMakeLists.txt 2015-09-07 12:15:33.419530808 +0200 @@ -35,22 +35,6 @@ # Definitions add_definitions(-Wall -std=c++11 -DQT_NO_CAST_FROM_ASCII) diff --git a/x11-misc/sddm/files/sddm-0.13.0-pam_kwallet.patch b/x11-misc/sddm/files/sddm-0.13.0-pam_kwallet.patch new file mode 100644 index 000000000000..ff1c4d2dd409 --- /dev/null +++ b/x11-misc/sddm/files/sddm-0.13.0-pam_kwallet.patch @@ -0,0 +1,10 @@ +--- a/services/sddm.pam 2015-08-17 18:06:19.000000000 +0200 ++++ b/services/sddm.pam 2016-02-21 19:54:08.654091951 +0100 +@@ -4,3 +4,7 @@ + account include system-login + password include system-login + session include system-login ++-auth optional pam_kwallet.so kdehome=.kde4 ++-auth optional pam_kwallet5.so ++-session optional pam_kwallet.so ++-session optional pam_kwallet5.so auto_start diff --git a/x11-misc/sddm/sddm-0.13.0-r2.ebuild b/x11-misc/sddm/sddm-0.13.0-r2.ebuild new file mode 100644 index 000000000000..26c16d65f4ee --- /dev/null +++ b/x11-misc/sddm/sddm-0.13.0-r2.ebuild @@ -0,0 +1,80 @@ +# Copyright 1999-2016 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=6 +inherit cmake-utils 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.xz" +KEYWORDS="~amd64 ~arm ~x86" + +LICENSE="GPL-2+ MIT CC-BY-3.0 CC-BY-SA-3.0 public-domain" +SLOT="0" +IUSE="consolekit +pam systemd" + +RDEPEND="dev-qt/qtcore:5 + dev-qt/qtdbus:5 + dev-qt/qtgui:5 + dev-qt/qtdeclarative:5 + dev-qt/qtnetwork:5 + >=x11-base/xorg-server-1.15.1 + x11-libs/libxcb[xkb(-)] + consolekit? ( >=sys-auth/consolekit-0.9.4 ) + pam? ( sys-libs/pam ) + systemd? ( sys-apps/systemd:= ) + !systemd? ( || ( sys-power/upower sys-power/upower-pm-utils ) )" + +DEPEND="${RDEPEND} + dev-python/docutils + dev-qt/linguist-tools:5 + dev-qt/qttest:5 + virtual/pkgconfig" + +pkg_pretend() { + if [[ ${MERGE_TYPE} != binary && $(tc-getCC) == *gcc* ]]; then + if [[ $(gcc-major-version) -lt 4 || $(gcc-major-version) == 4 && $(gcc-minor-version) -lt 7 ]] ; then + die 'The active compiler needs to be gcc 4.7 (or newer)' + fi + fi +} + +src_prepare() { + eapply "${FILESDIR}/${PN}-0.13.0-pam_kwallet.patch" + # fix for flags handling and bug 563108 + eapply "${FILESDIR}/${PN}-0.12.0-respect-user-flags.patch" + use consolekit && eapply "${FILESDIR}/${PN}-0.11.0-consolekit.patch" + + cmake-utils_src_prepare +} + +src_configure() { + local mycmakeargs=( + -DENABLE_PAM=$(usex pam) + -DNO_SYSTEMD=$(usex systemd) + -DBUILD_MAN_PAGES=ON + -DDBUS_CONFIG_FILENAME="org.freedesktop.sddm.conf" + ) + + cmake-utils_src_configure +} + +pkg_postinst() { + enewgroup ${PN} + enewuser ${PN} -1 -1 /var/lib/${PN} ${PN} video + + if use consolekit && use pam && [[ -e "${ROOT}"/etc/pam.d/system-login ]]; then + local line=$(grep "pam_ck_connector.*nox11" "${ROOT}"/etc/pam.d/system-login) + if [[ -z ${line} ]]; then + ewarn + ewarn "Erroneous /etc/pam.d/system-login settings detected!" + ewarn "Please restore 'nox11' option in the line containing pam_ck_connector:" + ewarn + ewarn "session optional pam_ck_connector.so nox11" + ewarn + ewarn "or 'emerge -1 sys-auth/pambase' and run etc-update." + ewarn + fi + fi +} -- cgit v1.2.3-65-gdbad