commit:     6005c98c26eed73212aee70d46a4fa2b343c2278
Author:     Andreas Sturmlechner <andreas.sturmlechner <AT> gmail <DOT> com>
AuthorDate: Thu Apr  7 14:29:34 2016 +0000
Commit:     Michael Palimaka <kensington <AT> gentoo <DOT> org>
CommitDate: Thu Apr  7 16:12:43 2016 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=6005c98c

kde-plasma/kwallet-pam: Add USE=oldwallet, block kde-apps/kwalletd-pam

Improvements to pkg_postinst thx to Arfrever.

Package-Manager: portage-2.2.27

 kde-plasma/kwallet-pam/kwallet-pam-5.6.2-r1.ebuild | 90 ++++++++++++++++++++++
 kde-plasma/kwallet-pam/metadata.xml                |  3 +
 2 files changed, 93 insertions(+)

diff --git a/kde-plasma/kwallet-pam/kwallet-pam-5.6.2-r1.ebuild 
b/kde-plasma/kwallet-pam/kwallet-pam-5.6.2-r1.ebuild
new file mode 100644
index 0000000..9c5669e
--- /dev/null
+++ b/kde-plasma/kwallet-pam/kwallet-pam-5.6.2-r1.ebuild
@@ -0,0 +1,90 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=6
+
+KDE_AUTODEPS="false"
+inherit kde5 multibuild multilib
+
+DESCRIPTION="KWallet PAM module to not enter password again"
+LICENSE="LGPL-2.1"
+KEYWORDS="~amd64 ~arm ~x86"
+IUSE="+oldwallet"
+
+COMMON_DEPEND="
+       dev-libs/libgcrypt:0=
+       virtual/pam
+"
+DEPEND="${COMMON_DEPEND}
+       $(add_frameworks_dep extra-cmake-modules)
+       $(add_qt_dep qtcore)
+"
+RDEPEND="${COMMON_DEPEND}
+       !kde-apps/kwalletd-pam
+       net-misc/socat
+"
+
+pkg_setup() {
+       kde5_pkg_setup
+       MULTIBUILD_VARIANTS=( kf5 $(usev oldwallet) )
+}
+
+src_configure() {
+       myconfigure() {
+               local mycmakeargs=(
+                       -DCMAKE_INSTALL_LIBDIR="/$(get_libdir)"
+               )
+               [[ ${MULTIBUILD_VARIANT} = oldwallet ]] && mycmakeargs+=( 
-DKWALLET4=1 )
+
+               kde5_src_configure
+       }
+       multibuild_foreach_variant myconfigure
+}
+
+src_compile() {
+       multibuild_foreach_variant kde5_src_compile
+}
+
+src_install() {
+       multibuild_foreach_variant kde5_src_install
+}
+
+pkg_postinst() {
+       check_dm() {
+               local good
+               if [[ -e "${ROOT}${2}" ]] ; then
+                       if grep -Eq "auth\s+optional\s+pam_kwallet5.so" 
"${ROOT}${2}" && \
+                               grep -Eq "session\s+optional\s+pam_kwallet5.so" 
"${ROOT}${2}" ; then
+                               good=true
+                       fi
+                       if use oldwallet ; then
+                               if ! grep -Eq 
"auth\s+optional\s+pam_kwallet.so" "${ROOT}${2}" || \
+                                       ! grep -Eq 
"session\s+optional\s+pam_kwallet.so" "${ROOT}${2}" ; then
+                                       good=false
+                               fi
+                       fi
+               fi
+               [[ "${good}" = true ]] && \
+                       elog "    ${1} - ${2} ...GOOD" || \
+                       ewarn "    ${1} - ${2} ...BAD"
+       }
+       elog
+       elog "This package enables auto-unlocking of kde-frameworks/kwallet:5."
+       use oldwallet && elog "You have also selected support for legacy 
kde-apps/kwalletd:4."
+       elog "List of things to make it work:"
+       elog "1.  Use same password for login and kwallet"
+       elog "2.  A display manager with support for PAM"
+       elog "3.a Have the following lines in the display manager's pam.d file:"
+       elog "    -auth        optional        pam_kwallet5.so"
+       elog "    -session     optional        pam_kwallet5.so auto_start"
+       if use oldwallet ; then
+               elog "    -auth        optional        pam_kwallet.so 
kdehome=.kde4"
+               elog "    -session     optional        pam_kwallet.so"
+       fi
+       elog "3.b Checking installed DMs..."
+       has_version "x11-misc/sddm" && check_dm "SDDM" "/etc/pam.d/sddm"
+       has_version "x11-misc/lightdm" && check_dm "LightDM" 
"/etc/pam.d/lightdm"
+       has_version "kde-base/kdm" && check_dm "KDM" "/etc/pam.d/kde"
+       elog
+}

diff --git a/kde-plasma/kwallet-pam/metadata.xml 
b/kde-plasma/kwallet-pam/metadata.xml
index 2fdbf33..033c611 100644
--- a/kde-plasma/kwallet-pam/metadata.xml
+++ b/kde-plasma/kwallet-pam/metadata.xml
@@ -5,4 +5,7 @@
                <email>k...@gentoo.org</email>
                <name>Gentoo KDE Project</name>
        </maintainer>
+       <use>
+               <flag name="oldwallet">Enable legacy support for 
<pkg>kde-apps/kwalletd</pkg></flag>
+       </use>
 </pkgmetadata>

Reply via email to