summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Palimaka <kensington@gentoo.org>2017-06-03 22:04:16 +1000
committerMichael Palimaka <kensington@gentoo.org>2017-06-03 22:06:00 +1000
commitfb917030ea1e32b9e920cfa4b8d1003a5c90f183 (patch)
tree2719c708625955bc654f82033b18a657c1a9cf44 /sys-auth
parentapp-arch/bzip2: Security revbump to fix CVE-2016-3189 (bug #620466). (diff)
downloadgentoo-fb917030ea1e32b9e920cfa4b8d1003a5c90f183.tar.gz
gentoo-fb917030ea1e32b9e920cfa4b8d1003a5c90f183.tar.bz2
gentoo-fb917030ea1e32b9e920cfa4b8d1003a5c90f183.zip
sys-auth/pambase: revision bump adds elogind support
Thanks-to: Sven Eden <yamakuzure@gmx.net> Thanks-to: Andreas Sturmlechner <asturm@gentoo.org> Gentoo-bug: 599498 Package-Manager: Portage-2.3.5, Repoman-2.3.2
Diffstat (limited to 'sys-auth')
-rw-r--r--sys-auth/pambase/files/pambase-20150213-elogind.patch23
-rw-r--r--sys-auth/pambase/files/pambase-20150213-selinux-note.patch4
-rw-r--r--sys-auth/pambase/metadata.xml3
-rw-r--r--sys-auth/pambase/pambase-20150213-r1.ebuild107
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 000000000000..7ec92f787b82
--- /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 1cb018f34508..0c44d108090c 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 2d8727dbfa3d..7cd2dea5abe7 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 000000000000..9be8d621dbef
--- /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
+}