diff options
author | Andreas Sturmlechner <andreas.sturmlechner@gmail.com> | 2016-04-07 16:29:34 +0200 |
---|---|---|
committer | Michael Palimaka <kensington@gentoo.org> | 2016-04-08 02:12:43 +1000 |
commit | 6005c98c26eed73212aee70d46a4fa2b343c2278 (patch) | |
tree | d5296c25288bf0aab2afe9aaff6a4c747ab97bdb /kde-plasma | |
parent | dev-lang/rust: fix stage0 snapshots (diff) | |
download | gentoo-6005c98c26eed73212aee70d46a4fa2b343c2278.tar.gz gentoo-6005c98c26eed73212aee70d46a4fa2b343c2278.tar.bz2 gentoo-6005c98c26eed73212aee70d46a4fa2b343c2278.zip |
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
Diffstat (limited to 'kde-plasma')
-rw-r--r-- | kde-plasma/kwallet-pam/kwallet-pam-5.6.2-r1.ebuild | 90 | ||||
-rw-r--r-- | kde-plasma/kwallet-pam/metadata.xml | 3 |
2 files changed, 93 insertions, 0 deletions
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 000000000000..9c5669e84166 --- /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 2fdbf33d963d..033c6118eed8 100644 --- a/kde-plasma/kwallet-pam/metadata.xml +++ b/kde-plasma/kwallet-pam/metadata.xml @@ -5,4 +5,7 @@ <email>kde@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> |