diff options
author | Stefaan De Roeck <stefaan@gentoo.org> | 2008-05-03 09:16:59 +0000 |
---|---|---|
committer | Stefaan De Roeck <stefaan@gentoo.org> | 2008-05-03 09:16:59 +0000 |
commit | 030696fc1fc1d32d8201fe013ddc651dd34f3762 (patch) | |
tree | 8df39ba6b7b221a8f0ee212ef725dd8bae01f98c /net-fs/autofs | |
parent | Version bump wrt #220016. Patching .desktop file to respect latest specificat... (diff) | |
download | gentoo-2-030696fc1fc1d32d8201fe013ddc651dd34f3762.tar.gz gentoo-2-030696fc1fc1d32d8201fe013ddc651dd34f3762.tar.bz2 gentoo-2-030696fc1fc1d32d8201fe013ddc651dd34f3762.zip |
Support also heimdal's krb5 implementation (fixes bug #210762) + some QA
(Portage version: 2.1.5_rc6)
Diffstat (limited to 'net-fs/autofs')
-rw-r--r-- | net-fs/autofs/ChangeLog | 9 | ||||
-rw-r--r-- | net-fs/autofs/autofs-5.0.3-r4.ebuild | 6 | ||||
-rw-r--r-- | net-fs/autofs/autofs-5.0.3-r5.ebuild | 101 | ||||
-rw-r--r-- | net-fs/autofs/files/autofs-5.0.3-heimdal.patch | 35 |
4 files changed, 147 insertions, 4 deletions
diff --git a/net-fs/autofs/ChangeLog b/net-fs/autofs/ChangeLog index b8f4a7d6bd30..2daecb42adbe 100644 --- a/net-fs/autofs/ChangeLog +++ b/net-fs/autofs/ChangeLog @@ -1,6 +1,13 @@ # ChangeLog for net-fs/autofs # Copyright 2002-2008 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/net-fs/autofs/ChangeLog,v 1.71 2008/04/28 19:53:27 stefaan Exp $ +# $Header: /var/cvsroot/gentoo-x86/net-fs/autofs/ChangeLog,v 1.72 2008/05/03 09:16:59 stefaan Exp $ + +*autofs-5.0.3-r5 (03 May 2008) + + 03 May 2008; Stefaan De Roeck <stefaan@gentoo.org> + +files/autofs-5.0.3-heimdal.patch, autofs-5.0.3-r4.ebuild, + +autofs-5.0.3-r5.ebuild: + Support also heimdal's krb5 implementation (fixes bug #210762) + some QA *autofs-5.0.3-r4 (28 Apr 2008) diff --git a/net-fs/autofs/autofs-5.0.3-r4.ebuild b/net-fs/autofs/autofs-5.0.3-r4.ebuild index b64cc2f24050..7576051d810c 100644 --- a/net-fs/autofs/autofs-5.0.3-r4.ebuild +++ b/net-fs/autofs/autofs-5.0.3-r4.ebuild @@ -1,6 +1,6 @@ # Copyright 1999-2008 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/net-fs/autofs/autofs-5.0.3-r4.ebuild,v 1.1 2008/04/28 19:53:27 stefaan Exp $ +# $Header: /var/cvsroot/gentoo-x86/net-fs/autofs/autofs-5.0.3-r4.ebuild,v 1.2 2008/05/03 09:16:59 stefaan Exp $ inherit eutils multilib autotools @@ -34,8 +34,8 @@ KEYWORDS="~alpha ~amd64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sparc ~x86" src_unpack() { unpack ${P}.tar.bz2 - patch ${DISTDIR}/${P}-map-type-in-map-name.patch \ - < ${FILESDIR}/${P}-map-patch-fix.patch || die "failed to patch" + patch "${DISTDIR}"/${P}-map-type-in-map-name.patch \ + < "${FILESDIR}"/${P}-map-patch-fix.patch || die "failed to patch" PATCH_LIST=" ${P}-ldap-page-control-configure-fix.patch ${P}-xfn-not-supported.patch diff --git a/net-fs/autofs/autofs-5.0.3-r5.ebuild b/net-fs/autofs/autofs-5.0.3-r5.ebuild new file mode 100644 index 000000000000..a497ff0c14f3 --- /dev/null +++ b/net-fs/autofs/autofs-5.0.3-r5.ebuild @@ -0,0 +1,101 @@ +# Copyright 1999-2008 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/net-fs/autofs/autofs-5.0.3-r5.ebuild,v 1.1 2008/05/03 09:16:59 stefaan Exp $ + +inherit eutils multilib autotools + +IUSE="ldap sasl" +DESCRIPTION="Kernel based automounter" +HOMEPAGE="http://www.linux-consulting.com/Amd_AutoFS/autofs.html" +SRC_URI_BASE="mirror://kernel/linux/daemons/${PN}/v5" +SRC_URI="${SRC_URI_BASE}/${P}.tar.bz2 + ${SRC_URI_BASE}/${P}-ldap-page-control-configure-fix.patch + ${SRC_URI_BASE}/${P}-xfn-not-supported.patch + ${SRC_URI_BASE}/${P}-basedn-with-spaces-fix-3.patch + ${SRC_URI_BASE}/${P}-nfs4-tcp-only.patch + ${SRC_URI_BASE}/${P}-correct-ldap-lib.patch + ${SRC_URI_BASE}/${P}-dont-fail-on-empty-master-fix-2.patch + ${SRC_URI_BASE}/${P}-expire-works-too-hard.patch + ${SRC_URI_BASE}/${P}-unlink-mount-return-fix.patch + ${SRC_URI_BASE}/${P}-update-linux-auto_fs4-h.patch + ${SRC_URI_BASE}/${P}-expire-works-too-hard-update.patch + ${SRC_URI_BASE}/${P}-expire-works-too-hard-update-2.patch + ${SRC_URI_BASE}/${P}-handle-zero-length-nis-key.patch + ${SRC_URI_BASE}/${PN}-5.0.2-init-cb-on-load.patch + ${SRC_URI_BASE}/${P}-map-type-in-map-name.patch + ${SRC_URI_BASE}/${P}-mount-thread-create-cond-handling.patch" +DEPEND="virtual/libc + ldap? ( >=net-nds/openldap-2.0 ) + sasl? ( virtual/krb5 )" + # currently, sasl code assumes the presence of kerberosV +SLOT="0" +LICENSE="GPL-2" +KEYWORDS="~alpha ~amd64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sparc ~x86" + +src_unpack() { + unpack ${P}.tar.bz2 + patch "${DISTDIR}"/${P}-map-type-in-map-name.patch \ + < "${FILESDIR}"/${P}-map-patch-fix.patch || die "failed to patch" + PATCH_LIST=" + ${P}-ldap-page-control-configure-fix.patch + ${P}-xfn-not-supported.patch + ${P}-basedn-with-spaces-fix-3.patch + ${P}-nfs4-tcp-only.patch + ${P}-correct-ldap-lib.patch + ${P}-dont-fail-on-empty-master-fix-2.patch + ${P}-expire-works-too-hard.patch + ${P}-unlink-mount-return-fix.patch + ${P}-update-linux-auto_fs4-h.patch + ${P}-expire-works-too-hard-update.patch + ${P}-expire-works-too-hard-update-2.patch + ${P}-handle-zero-length-nis-key.patch + ${PN}-5.0.2-init-cb-on-load.patch + ${P}-map-type-in-map-name.patch + ${P}-mount-thread-create-cond-handling.patch" + for i in ${PATCH_LIST}; do + EPATCH_OPTS="-p1 -d ${S}" epatch ${DISTDIR}/${i} + done + + # fixes bug #210762 + epatch "${FILESDIR}"/${P}-heimdal.patch + + cd "${S}" + + # # use CC and CFLAGS from environment (bug #154797) + # write these values in Makefile.conf + (echo "# Use the compiler and cflags determined by configure"; + echo "CC := @CC@"; echo "CFLAGS := @CFLAGS@") >> Makefile.conf.in + # make sure Makefile.conf is parsed after Makefile.rules + sed -ni '/include Makefile.conf/{x; n; G}; p' Makefile + sed -i 's/^\(CC\|CXX\).*//' Makefile.rules + sed -i 's/^CFLAGS=-fPIE.*//' configure.in + + # do not include <nfs/nfs.h>, rather <linux/nfs.h>, + # as the former is a lame header for the latter (bug #157968) + sed -i 's@nfs/nfs.h@linux/nfs.h@' include/rpc_subs.h + + eautoreconf || die "Autoconf failed" +} + +src_compile() { + CFLAGS="${CFLAGS}" \ + econf \ + $(use_with ldap openldap) \ + $(use_with sasl) \ + --enable-ignore-busy \ + || die "configure failed" + + emake DONTSTRIP=1 || die "make failed" +} + +src_install() { + make DESTDIR="${D}" install || die "make install failed" + + newinitd "${FILESDIR}"/autofs5.rc1 autofs +} + +pkg_postinst() { + elog "Note: If you plan on using autofs for automounting" + elog "remote NFS mounts without having the NFS daemon running" + elog "please add portmap to your default run-level." +} diff --git a/net-fs/autofs/files/autofs-5.0.3-heimdal.patch b/net-fs/autofs/files/autofs-5.0.3-heimdal.patch new file mode 100644 index 000000000000..707364df2f97 --- /dev/null +++ b/net-fs/autofs/files/autofs-5.0.3-heimdal.patch @@ -0,0 +1,35 @@ +--- autofs-5.0.3.orig/modules/cyrus-sasl.c 2008-04-28 16:17:03.000000000 +0200 ++++ autofs-5.0.3/modules/cyrus-sasl.c 2008-04-28 16:41:58.000000000 +0200 +@@ -66,6 +66,15 @@ + #endif + #endif + ++/** ++ * The type of a principal is different for MIT Krb5 and Heimdal. ++ * These macros are provided by Heimdal, and introduced here for MIT. ++ */ ++#ifndef krb5_realm_length ++#define krb5_realm_length(r) ((r).length) ++#define krb5_realm_data(r) ((r).data) ++#endif ++ + /* + * Once a krb5 credentials cache is setup, we need to set the KRB5CCNAME + * environment variable so that the library knows where to find it. +@@ -452,11 +461,11 @@ + + /* setup a principal for the ticket granting service */ + ret = krb5_build_principal_ext(ctxt->krb5ctxt, &tgs_princ, +- krb5_princ_realm(ctxt->krb5ctxt, krb5_client_princ)->length, +- krb5_princ_realm(ctxt->krb5ctxt, krb5_client_princ)->data, ++ krb5_realm_length(*krb5_princ_realm(ctxt->krb5ctxt, krb5_client_princ)), ++ krb5_realm_data(*krb5_princ_realm(ctxt->krb5ctxt, krb5_client_princ)), + strlen(KRB5_TGS_NAME), KRB5_TGS_NAME, +- krb5_princ_realm(ctxt->krb5ctxt, krb5_client_princ)->length, +- krb5_princ_realm(ctxt->krb5ctxt, krb5_client_princ)->data, ++ krb5_realm_length(*krb5_princ_realm(ctxt->krb5ctxt, krb5_client_princ)), ++ krb5_realm_data(*krb5_princ_realm(ctxt->krb5ctxt, krb5_client_princ)), + 0); + if (ret) { + error(logopt, + |