kde-base/kdebase-startkde: Backport kwalletd-pam integration
authorAndreas Sturmlechner <andreas.sturmlechner@gmail.com>
Sat, 27 Feb 2016 17:16:34 +0000 (18:16 +0100)
committerMichael Palimaka <kensington@gentoo.org>
Wed, 2 Mar 2016 19:23:19 +0000 (06:23 +1100)
Package-Manager: portage-2.2.27

kde-base/kdebase-startkde/files/kdebase-startkde-kwalletd-pam.patch [new file with mode: 0644]
kde-base/kdebase-startkde/kdebase-startkde-4.11.22-r1.ebuild [new file with mode: 0644]

diff --git a/kde-base/kdebase-startkde/files/kdebase-startkde-kwalletd-pam.patch b/kde-base/kdebase-startkde/files/kdebase-startkde-kwalletd-pam.patch
new file mode 100644 (file)
index 0000000..c70a07f
--- /dev/null
@@ -0,0 +1,25 @@
+From: Àlex Fiestas <afiestas@kde.org>
+Date: Mon, 28 Apr 2014 16:05:07 +0000
+Subject: [startkde] Send env to kwalletd in case of pam-kwallet
+X-Git-Tag: v4.96.0
+X-Git-Url: http://quickgit.kde.org/?p=plasma-workspace.git&a=commitdiff&h=9581a52a5d734435d0cef759e20d1af2473dd15e
+---
+[startkde] Send env to kwalletd in case of pam-kwallet
+---
+
+
+--- a/startkde/startkde.cmake
++++ b/startkde/startkde.cmake
+@@ -329,6 +329,11 @@
+ XDG_CURRENT_DESKTOP=KDE
+ export XDG_CURRENT_DESKTOP
++
++# At this point all the environment is ready, let's send it to kwalletd if running
++if test -n "PAM_KWALLET_LOGIN" ; then
++    env | socat STDIN UNIX-CONNECT:$PAM_KWALLET_LOGIN
++fi
+ # We set LD_BIND_NOW to increase the efficiency of kdeinit.
+ # kdeinit unsets this variable before loading applications.
+
diff --git a/kde-base/kdebase-startkde/kdebase-startkde-4.11.22-r1.ebuild b/kde-base/kdebase-startkde/kdebase-startkde-4.11.22-r1.ebuild
new file mode 100644 (file)
index 0000000..47f9483
--- /dev/null
@@ -0,0 +1,96 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+KMNAME="kde-workspace"
+KMNOMODULE="true"
+inherit kde4-meta prefix
+
+DESCRIPTION="Startkde script, which starts a complete KDE session, and associated scripts"
+KEYWORDS="~amd64 ~arm ~ppc ~ppc64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="+wallpapers"
+
+# The KDE apps called from the startkde script.
+# These provide the most minimal KDE desktop.
+RDEPEND="
+       $(add_kdebase_dep kcminit)
+       $(add_kdeapps_dep kdebase-runtime-meta)
+       $(add_kdeapps_dep kfmclient)
+       $(add_kdeapps_dep knotify)
+       $(add_kdeapps_dep kreadconfig)
+       $(add_kdebase_dep krunner)
+       $(add_kdebase_dep ksmserver)
+       $(add_kdebase_dep ksplash)
+       $(add_kdebase_dep kstartupconfig)
+       $(add_kdebase_dep kwin)
+       $(add_kdeapps_dep phonon-kde)
+       $(add_kdeapps_dep plasma-apps)
+       $(add_kdebase_dep plasma-workspace)
+       $(add_kdebase_dep systemsettings)
+       x11-apps/mkfontdir
+       x11-apps/xmessage
+       x11-apps/xprop
+       x11-apps/xrandr
+       x11-apps/xrdb
+       x11-apps/xsetroot
+       x11-apps/xset
+       wallpapers? ( $(add_kdeapps_dep kde-wallpapers '' 15.08.3) )
+"
+
+KMEXTRACTONLY="
+       ConfigureChecks.cmake
+       kdm/
+       startkde.cmake
+"
+
+PATCHES=(
+       "${FILESDIR}/gentoo-startkde4-4.patch"
+       "${FILESDIR}/${PN}-kscreen.patch"
+       "${FILESDIR}/${PN}-kwalletd-pam.patch"
+)
+
+src_prepare() {
+       kde4-meta_src_prepare
+
+       cp "${FILESDIR}/KDE-4" "${T}"
+
+       # fix ${EPREFIX}
+       eprefixify startkde.cmake "${T}/KDE-4"
+}
+
+src_install() {
+       kde4-meta_src_install
+
+       # startup and shutdown scripts
+       insinto /etc/kde/startup
+       doins "${FILESDIR}/agent-startup.sh"
+
+       insinto /etc/kde/shutdown
+       doins "${FILESDIR}/agent-shutdown.sh"
+
+       # x11 session script
+       exeinto /etc/X11/Sessions
+       doexe "${T}/KDE-4"
+
+       # freedesktop compliant session script
+       sed -e "s:\${BIN_INSTALL_DIR}:${EPREFIX}/usr/bin:g" \
+               "${S}/kdm/kfrontend/sessions/kde-plasma.desktop.cmake" > "${T}/KDE-4.desktop"
+       insinto /usr/share/xsessions
+       doins "${T}/KDE-4.desktop"
+}
+
+pkg_postinst () {
+       kde4-meta_pkg_postinst
+
+       echo
+       elog "To enable gpg-agent and/or ssh-agent in KDE sessions,"
+       elog "edit ${EPREFIX}/etc/kde/startup/agent-startup.sh and"
+       elog "${EPREFIX}/etc/kde/shutdown/agent-shutdown.sh"
+       echo
+       elog "The name of the session script has changed."
+       elog "If you currently have XSESSION=\"kde-$(get_kde_version)\" in your"
+       elog "configuration files, you will need to change it to"
+       elog "XSESSION=\"KDE-4\""
+}