summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStefaan De Roeck <stefaan@gentoo.org>2008-05-03 09:16:59 +0000
committerStefaan De Roeck <stefaan@gentoo.org>2008-05-03 09:16:59 +0000
commit030696fc1fc1d32d8201fe013ddc651dd34f3762 (patch)
tree8df39ba6b7b221a8f0ee212ef725dd8bae01f98c /net-fs/autofs
parentVersion bump wrt #220016. Patching .desktop file to respect latest specificat... (diff)
downloadgentoo-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/ChangeLog9
-rw-r--r--net-fs/autofs/autofs-5.0.3-r4.ebuild6
-rw-r--r--net-fs/autofs/autofs-5.0.3-r5.ebuild101
-rw-r--r--net-fs/autofs/files/autofs-5.0.3-heimdal.patch35
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,
+