summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndreas Sturmlechner <andreas.sturmlechner@gmail.com>2016-02-21 20:27:24 +0100
committerMichael Palimaka <kensington@gentoo.org>2016-03-03 06:23:18 +1100
commit55608644a523b1d94f414298e0aba3cb8749ca3a (patch)
treec5bfbd09b62c24126f334eadd2bcef8430bfbd16 /x11-misc/sddm
parentkde-base/kdebase-pam: Add pam_kwallet.so entries (diff)
downloadgentoo-55608644a523b1d94f414298e0aba3cb8749ca3a.tar.gz
gentoo-55608644a523b1d94f414298e0aba3cb8749ca3a.tar.bz2
gentoo-55608644a523b1d94f414298e0aba3cb8749ca3a.zip
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
Diffstat (limited to 'x11-misc/sddm')
-rw-r--r--x11-misc/sddm/files/sddm-0.11.0-consolekit.patch4
-rw-r--r--x11-misc/sddm/files/sddm-0.12.0-CVE-2015-0856.patch34
-rw-r--r--x11-misc/sddm/files/sddm-0.12.0-respect-user-flags.patch4
-rw-r--r--x11-misc/sddm/files/sddm-0.13.0-pam_kwallet.patch10
-rw-r--r--x11-misc/sddm/sddm-0.13.0-r2.ebuild80
5 files changed, 94 insertions, 38 deletions
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 <kde@davidedmundson.co.uk>
-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
+}