commit:     fb917030ea1e32b9e920cfa4b8d1003a5c90f183
Author:     Michael Palimaka <kensington <AT> gentoo <DOT> org>
AuthorDate: Sat Jun  3 12:04:16 2017 +0000
Commit:     Michael Palimaka <kensington <AT> gentoo <DOT> org>
CommitDate: Sat Jun  3 12:06:00 2017 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=fb917030

sys-auth/pambase: revision bump adds elogind support

Thanks-to: Sven Eden <yamakuzure <AT> gmx.net>
Thanks-to: Andreas Sturmlechner <asturm <AT> gentoo.org>
Gentoo-bug: 599498
Package-Manager: Portage-2.3.5, Repoman-2.3.2

 .../pambase/files/pambase-20150213-elogind.patch   |  23 +++++
 .../files/pambase-20150213-selinux-note.patch      |   4 +-
 sys-auth/pambase/metadata.xml                      |   3 +
 sys-auth/pambase/pambase-20150213-r1.ebuild        | 107 +++++++++++++++++++++
 4 files changed, 135 insertions(+), 2 deletions(-)

diff --git a/sys-auth/pambase/files/pambase-20150213-elogind.patch 
b/sys-auth/pambase/files/pambase-20150213-elogind.patch
new file mode 100644
index 00000000000..7ec92f787b8
--- /dev/null
+++ b/sys-auth/pambase/files/pambase-20150213-elogind.patch
@@ -0,0 +1,23 @@
+--- a/Makefile
++++ b/Makefile
+@@ -32,6 +32,10 @@
+ PAMFLAGS += -DHAVE_SYSTEMD=1
+ endif
+ 
++ifeq "$(ELOGIND)" "yes"
++PAMFLAGS += -DHAVE_ELOGIND=1
++endif
++
+ ifeq "$(GNOME_KEYRING)" "yes"
+ PAMFLAGS += -DHAVE_GNOME_KEYRING=1
+ endif
+--- a/system-auth.in
++++ b/system-auth.in
+@@ -39,3 +39,7 @@
+ #if HAVE_SYSTEMD
+ -session        optional        pam_systemd.so
+ #endif
++
++#if HAVE_ELOGIND
++-session        optional        pam_elogind.so
++#endif

diff --git a/sys-auth/pambase/files/pambase-20150213-selinux-note.patch 
b/sys-auth/pambase/files/pambase-20150213-selinux-note.patch
index 1cb018f3450..0c44d108090 100644
--- a/sys-auth/pambase/files/pambase-20150213-selinux-note.patch
+++ b/sys-auth/pambase/files/pambase-20150213-selinux-note.patch
@@ -1,5 +1,5 @@
---- system-login.in.orig       2015-04-17 16:58:02.247000000 +0200
-+++ system-login.in    2015-04-17 16:58:07.684000000 +0200
+--- a/system-login.in.orig     2015-04-17 16:58:02.247000000 +0200
++++ b/system-login.in  2015-04-17 16:58:07.684000000 +0200
 @@ -48,7 +48,7 @@
  session               optional        pam_ck_connector.so nox11
  #endif

diff --git a/sys-auth/pambase/metadata.xml b/sys-auth/pambase/metadata.xml
index 2d8727dbfa3..7cd2dea5abe 100644
--- a/sys-auth/pambase/metadata.xml
+++ b/sys-auth/pambase/metadata.xml
@@ -16,6 +16,9 @@
       allows for console logins to make use of ConsoleKit
       authorization.
     </flag>
+    <flag name="elogind">
+      Use pam_elogind module to register user sessions with elogind.
+    </flag>
     <flag name="systemd">
       Use pam_systemd module to register user sessions in the systemd
       control group hierarchy.

diff --git a/sys-auth/pambase/pambase-20150213-r1.ebuild 
b/sys-auth/pambase/pambase-20150213-r1.ebuild
new file mode 100644
index 00000000000..9be8d621dbe
--- /dev/null
+++ b/sys-auth/pambase/pambase-20150213-r1.ebuild
@@ -0,0 +1,107 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+DESCRIPTION="PAM base configuration files"
+HOMEPAGE="https://www.gentoo.org/proj/en/base/pam/";
+SRC_URI="https://dev.gentoo.org/~vapier/dist/${P}.tar.xz";
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 
~sh ~sparc ~x86 -sparc-fbsd -x86-fbsd ~amd64-linux ~x86-linux"
+IUSE="consolekit cracklib debug elogind gnome-keyring minimal mktemp +nullok 
pam_krb5 pam_ssh passwdqc securetty selinux +sha512 systemd"
+
+RESTRICT="binchecks"
+
+MIN_PAM_REQ=1.1.3
+
+RDEPEND="
+       || (
+               >=sys-libs/pam-${MIN_PAM_REQ}
+               ( sys-auth/openpam || ( sys-freebsd/freebsd-pam-modules 
sys-netbsd/netbsd-pam-modules ) )
+       )
+       consolekit? ( sys-auth/consolekit[pam] )
+       cracklib? ( sys-libs/pam[cracklib] )
+       elogind? ( sys-auth/elogind[pam] )
+       gnome-keyring? ( gnome-base/gnome-keyring[pam] )
+       mktemp? ( sys-auth/pam_mktemp )
+       pam_krb5? (
+               || ( >=sys-libs/pam-${MIN_PAM_REQ} sys-auth/openpam )
+               sys-auth/pam_krb5
+       )
+       pam_ssh? ( sys-auth/pam_ssh )
+       passwdqc? ( sys-auth/pam_passwdqc )
+       selinux? ( sys-libs/pam[selinux] )
+       sha512? ( >=sys-libs/pam-${MIN_PAM_REQ} )
+       systemd? ( sys-apps/systemd[pam] )
+"
+DEPEND="
+       app-arch/xz-utils
+       app-portage/portage-utils
+"
+
+PATCHES=(
+       "${FILESDIR}"/${P}-selinux-note.patch #540096
+       "${FILESDIR}"/${P}-elogind.patch #599498
+)
+
+pkg_setup() {
+       local stcnt=0
+
+       use consolekit && stcnt=$((stcnt+1))
+       use elogind && stcnt=$((stcnt+1))
+       use systemd && stcnt=$((stcnt+1))
+
+       if [[ ${stcnt} -gt 1 ]] ; then
+               ewarn "You are enabling ${stcnt} session trackers at the same 
time."
+               ewarn "This is not a recommended setup to have. Please consider 
enabling"
+               ewarn "only one of USE=\"consolekit\", USE=\"elogind\" or 
USE=\"systemd\"."
+       fi
+}
+
+src_compile() {
+       local implementation linux_pam_version
+       if has_version sys-libs/pam; then
+               implementation=linux-pam
+               local ver_str=$(qatom $(best_version sys-libs/pam) | cut -d ' ' 
-f 3)
+               linux_pam_version=$(printf "0x%02x%02x%02x" ${ver_str//\./ })
+       elif has_version sys-auth/openpam; then
+               implementation=openpam
+       else
+               die "PAM implementation not identified"
+       fi
+
+       use_var() {
+               local varname=$(echo "$1" | tr '[:lower:]' '[:upper:]')
+               local usename=${2-$(echo "$1" | tr '[:upper:]' '[:lower:]')}
+               local varvalue=$(usex ${usename})
+               echo "${varname}=${varvalue}"
+       }
+
+       emake \
+               GIT=true \
+               $(use_var debug) \
+               $(use_var cracklib) \
+               $(use_var passwdqc) \
+               $(use_var consolekit) \
+               $(use_var elogind) \
+               $(use_var systemd) \
+               $(use_var GNOME_KEYRING gnome-keyring) \
+               $(use_var selinux) \
+               $(use_var nullok) \
+               $(use_var mktemp) \
+               $(use_var pam_ssh) \
+               $(use_var securetty) \
+               $(use_var sha512) \
+               $(use_var KRB5 pam_krb5) \
+               $(use_var minimal) \
+               IMPLEMENTATION=${implementation} \
+               LINUX_PAM_VERSION=${linux_pam_version}
+}
+
+src_test() { :; }
+
+src_install() {
+       emake GIT=true DESTDIR="${ED}" install
+}

Reply via email to