commit:     55608644a523b1d94f414298e0aba3cb8749ca3a
Author:     Andreas Sturmlechner <andreas.sturmlechner <AT> gmail <DOT> com>
AuthorDate: Sun Feb 21 19:27:24 2016 +0000
Commit:     Michael Palimaka <kensington <AT> gentoo <DOT> org>
CommitDate: Wed Mar  2 19:23:18 2016 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=55608644

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(-)

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 4871bee..0e2a7f8 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 7ae6773..0000000
--- a/x11-misc/sddm/files/sddm-0.12.0-CVE-2015-0856.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-commit 4cfed6b0a625593fb43876f04badc4dd99799d86
-Author: David Edmundson <[email protected]>
-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 67a6621..fc45016 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 0000000..ff1c4d2
--- /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 0000000..26c16d6
--- /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
+}

Reply via email to