diff options
author | Diego Elio Pettenò <flameeyes@gentoo.org> | 2008-02-19 11:43:37 +0000 |
---|---|---|
committer | Diego Elio Pettenò <flameeyes@gentoo.org> | 2008-02-19 11:43:37 +0000 |
commit | 62286e19464be8ab1b44a66ddaea30628c52cbd0 (patch) | |
tree | 439c95822a0e5e391065668d71ebe2e57f7e2f6b /sys-libs | |
parent | Initial import, pambase package provides the basic configuration files for PA... (diff) | |
download | gentoo-2-62286e19464be8ab1b44a66ddaea30628c52cbd0.tar.gz gentoo-2-62286e19464be8ab1b44a66ddaea30628c52cbd0.tar.bz2 gentoo-2-62286e19464be8ab1b44a66ddaea30628c52cbd0.zip |
New revision that works with the new sys-auth/pambase (and requires it).
(Portage version: 2.1.4.4)
Diffstat (limited to 'sys-libs')
-rw-r--r-- | sys-libs/pam/ChangeLog | 8 | ||||
-rw-r--r-- | sys-libs/pam/pam-0.99.9.0-r1.ebuild | 166 |
2 files changed, 173 insertions, 1 deletions
diff --git a/sys-libs/pam/ChangeLog b/sys-libs/pam/ChangeLog index d203ddd709e9..c38a5a64b0e5 100644 --- a/sys-libs/pam/ChangeLog +++ b/sys-libs/pam/ChangeLog @@ -1,6 +1,12 @@ # ChangeLog for sys-libs/pam # Copyright 2002-2008 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/sys-libs/pam/ChangeLog,v 1.194 2008/02/10 17:59:34 flameeyes Exp $ +# $Header: /var/cvsroot/gentoo-x86/sys-libs/pam/ChangeLog,v 1.195 2008/02/19 11:43:37 flameeyes Exp $ + +*pam-0.99.9.0-r1 (19 Feb 2008) + + 19 Feb 2008; Diego Pettenò <flameeyes@gentoo.org> + +pam-0.99.9.0-r1.ebuild: + New revision that works with the new sys-auth/pambase (and requires it). 10 Feb 2008; Diego Pettenò <flameeyes@gentoo.org> pam-0.99.8.1-r1.ebuild, pam-0.99.9.0.ebuild: diff --git a/sys-libs/pam/pam-0.99.9.0-r1.ebuild b/sys-libs/pam/pam-0.99.9.0-r1.ebuild new file mode 100644 index 000000000000..5de07ade27c1 --- /dev/null +++ b/sys-libs/pam/pam-0.99.9.0-r1.ebuild @@ -0,0 +1,166 @@ +# Copyright 1999-2008 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/sys-libs/pam/pam-0.99.9.0-r1.ebuild,v 1.1 2008/02/19 11:43:37 flameeyes Exp $ + +WANT_AUTOCONF="latest" +WANT_AUTOMAKE="latest" + +inherit libtool multilib eutils autotools pam toolchain-funcs + +MY_PN="Linux-PAM" +MY_P="${MY_PN}-${PV}" + +HOMEPAGE="http://www.kernel.org/pub/linux/libs/pam/" +DESCRIPTION="Linux-PAM (Pluggable Authentication Modules)" + +SRC_URI="mirror://kernel/linux/libs/pam/pre/library/${MY_P}.tar.bz2" + +LICENSE="PAM" +SLOT="0" +KEYWORDS="" +IUSE="cracklib nls elibc_FreeBSD selinux vim-syntax audit test elibc_glibc" + +RDEPEND="nls? ( virtual/libintl ) + cracklib? ( >=sys-libs/cracklib-2.8.3 ) + audit? ( sys-process/audit ) + selinux? ( >=sys-libs/libselinux-1.28 )" +DEPEND="${RDEPEND} + sys-devel/flex + test? ( elibc_glibc? ( >=sys-libs/glibc-2.4 ) ) + nls? ( sys-devel/gettext )" +PDEPEND="sys-auth/pambase + vim-syntax? ( app-vim/pam-syntax )" + +S="${WORKDIR}/${MY_P}" + +PROVIDE="virtual/pam" + +check_old_modules() { + local retval="0" + + if sed -e 's:#.*::' "${ROOT}"/etc/pam.d/* 2>/dev/null | fgrep -q pam_stack.so; then + eerror "" + eerror "Your current setup is using the pam_stack module." + eerror "This module is deprecated and no longer supported, and since version" + eerror "0.99 is no longer installed, nor provided by any other package." + eerror "The package will be built (to allow binary package builds), but will" + eerror "not be installed." + eerror "Please replace pam_stack usage with proper include directive usage," + eerror "following the PAM Upgrade guide at the following URL" + eerror " http://www.gentoo.org/proj/en/base/pam/upgrade-0.99.xml" + eerror "" + ebeep 15 + + retval=1 + fi + + if sed -e 's:#.*::' "${ROOT}"/etc/pam.d/* 2>/dev/null | egrep -q 'pam_(pwdb|radius|timestamp|console)'; then + eerror "" + eerror "Your current setup is using one or more of the following modules," + eerror "that are not built or supported anymore:" + eerror "pam_pwdb, pam_radius, pam_timestamp, pam_console" + eerror "If you are in real need for these modules, please contact the maintainers" + eerror "of PAM through http://bugs.gentoo.org/ providing information about its" + eerror "use cases." + eerror "Please also make sure to read the PAM Upgrade guide at the following URL:" + eerror " http://www.gentoo.org/proj/en/base/pam/upgrade-0.99.xml" + eerror "" + ebeep 10 + + retval=1 + fi + + # Produce the warnings only during upgrade, for the following two + has_version '<sys-libs/pam-0.99' || return $retval + + # This works only for those modules that are moved to sys-auth/$module, or the + # message will be wrong. + for module in pam_chroot pam_userdb; do + if sed -e 's:#.*::' "${ROOT}"/etc/pam.d/* 2>/dev/null | fgrep -q ${module}.so; then + ewarn "" + ewarn "Your current setup is using the ${module} module." + ewarn "Since version 0.99, ${CATEGORY}/${PN} does not provide this module" + ewarn "anymore; if you want to continue using this module, you should install" + ewarn "sys-auth/${module}." + ewarn "" + ebeep 5 + fi + done + + return $retval +} + +pkg_setup() { + check_old_modules +} + +src_unpack() { + unpack ${A} + cd "${S}" + + mkdir -p doc/txts + for readme in modules/pam_*/README; do + cp -f "${readme}" doc/txts/README.$(dirname "${readme}" | \ + sed -e 's|^modules/||') + done + + epatch "${FILESDIR}/${MY_PN}-0.99.7.0-disable-regenerate-man.patch" + epatch "${FILESDIR}/${MY_PN}-0.99.8.1-xtests.patch" + + AT_M4DIR="m4" eautoreconf + + elibtoolize +} + +src_compile() { + local myconf + + if use hppa || use elibc_FreeBSD; then + myconf="${myconf} --disable-pie" + fi + + econf \ + $(use_enable nls) \ + $(use_enable selinux) \ + $(use_enable cracklib) \ + $(use_enable audit) \ + --libdir=/usr/$(get_libdir) \ + --disable-db \ + --enable-securedir=/$(get_libdir)/security \ + --enable-isadir=/$(get_libdir)/security \ + --disable-dependency-tracking \ + --disable-prelude \ + --enable-docdir=/usr/share/doc/${PF} \ + --disable-regenerate-man \ + ${myconf} || die "econf failed" + emake || die "emake failed" +} + +src_install() { + emake DESTDIR="${D}" install || die "make install failed" + + # Need to be suid + fperms u+s /sbin/unix_chkpwd + + dodir /$(get_libdir) + mv "${D}/usr/$(get_libdir)/libpam.so"* "${D}/$(get_libdir)/" + mv "${D}/usr/$(get_libdir)/libpamc.so"* "${D}/$(get_libdir)/" + mv "${D}/usr/$(get_libdir)/libpam_misc.so"* "${D}/$(get_libdir)/" + gen_usr_ldscript libpam.so libpamc.so libpam_misc.so + + # No, we don't really need .la files for PAM modules. + rm -f "${D}/$(get_libdir)/security/"*.la + + dodoc CHANGELOG ChangeLog README AUTHORS Copyright + docinto modules ; dodoc doc/txts/README.* + + # Remove the wrongly installed manpages + rm "${D}"/usr/share/man/man8/pam_userdb.8* + use cracklib || rm "${D}"/usr/share/man/man8/pam_cracklib.8* +} + +pkg_preinst() { + check_old_modules || die "deprecated PAM modules still used" + + pam_epam_expand "${D}"/etc/pam.d/* +} |