diff options
author | Michael Palimaka <kensington@gentoo.org> | 2017-06-03 22:04:16 +1000 |
---|---|---|
committer | Michael Palimaka <kensington@gentoo.org> | 2017-06-03 22:06:00 +1000 |
commit | fb917030ea1e32b9e920cfa4b8d1003a5c90f183 (patch) | |
tree | 2719c708625955bc654f82033b18a657c1a9cf44 /sys-auth/pambase | |
parent | app-arch/bzip2: Security revbump to fix CVE-2016-3189 (bug #620466). (diff) | |
download | gentoo-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/pambase')
-rw-r--r-- | sys-auth/pambase/files/pambase-20150213-elogind.patch | 23 | ||||
-rw-r--r-- | sys-auth/pambase/files/pambase-20150213-selinux-note.patch | 4 | ||||
-rw-r--r-- | sys-auth/pambase/metadata.xml | 3 | ||||
-rw-r--r-- | 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 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 +} |