summaryrefslogtreecommitdiff
path: root/net-fs
diff options
context:
space:
mode:
authorPeter Volkov <pva@gentoo.org>2011-07-01 11:24:07 +0000
committerPeter Volkov <pva@gentoo.org>2011-07-01 11:24:07 +0000
commit8fa4dfc81693c79dfc31a188792cdec12a127efb (patch)
tree8cd5ffc48407d28c68a565c3b133740145ad615d /net-fs
parentmasking app-crypt/steghide for removal (diff)
downloadgentoo-2-8fa4dfc81693c79dfc31a188792cdec12a127efb.tar.gz
gentoo-2-8fa4dfc81693c79dfc31a188792cdec12a127efb.tar.bz2
gentoo-2-8fa4dfc81693c79dfc31a188792cdec12a127efb.zip
Fix regression in the ipv6 lookup, bug #373577 thank Juergen Rose for report and Dustin Polke for the fix.
(Portage version: 2.1.10.3/cvs/Linux x86_64)
Diffstat (limited to 'net-fs')
-rw-r--r--net-fs/autofs/ChangeLog9
-rw-r--r--net-fs/autofs/autofs-5.0.6-r1.ebuild113
-rw-r--r--net-fs/autofs/files/autofs-5.0.6-ipv6_name_lookup_regression.patch49
3 files changed, 170 insertions, 1 deletions
diff --git a/net-fs/autofs/ChangeLog b/net-fs/autofs/ChangeLog
index 8fccf0a692cf..a4981cc93ba1 100644
--- a/net-fs/autofs/ChangeLog
+++ b/net-fs/autofs/ChangeLog
@@ -1,6 +1,13 @@
# ChangeLog for net-fs/autofs
# Copyright 1999-2011 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/net-fs/autofs/ChangeLog,v 1.111 2011/06/28 14:06:07 pva Exp $
+# $Header: /var/cvsroot/gentoo-x86/net-fs/autofs/ChangeLog,v 1.112 2011/07/01 11:24:07 pva Exp $
+
+*autofs-5.0.6-r1 (01 Jul 2011)
+
+ 01 Jul 2011; Peter Volkov <pva@gentoo.org> +autofs-5.0.6-r1.ebuild,
+ +files/autofs-5.0.6-ipv6_name_lookup_regression.patch:
+ Fix regression in the ipv6 lookup, bug #373577 thank Juergen Rose for report
+ and Dustin Polke for the fix.
*autofs-5.0.6 (28 Jun 2011)
diff --git a/net-fs/autofs/autofs-5.0.6-r1.ebuild b/net-fs/autofs/autofs-5.0.6-r1.ebuild
new file mode 100644
index 000000000000..388a730a26f4
--- /dev/null
+++ b/net-fs/autofs/autofs-5.0.6-r1.ebuild
@@ -0,0 +1,113 @@
+# Copyright 1999-2011 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/net-fs/autofs/autofs-5.0.6-r1.ebuild,v 1.1 2011/07/01 11:24:07 pva Exp $
+
+EAPI="4"
+inherit eutils multilib autotools linux-info
+
+DESCRIPTION="Kernel based automounter"
+HOMEPAGE="http://www.linux-consulting.com/Amd_AutoFS/autofs.html"
+PATCH_VER=""
+[[ -n ${PATCH_VER} ]] && \
+ PATCHSET_URI="mirror://gentoo/${P}-patches-${PATCH_VER}.tar.lzma"
+SRC_URI="mirror://kernel/linux/daemons/${PN}/v5/${P}.tar.bz2
+ ${PATCHSET_URI}"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sparc ~x86"
+IUSE="hesiod ldap sasl"
+
+# USE="sasl" adds SASL support to the LDAP module which will not be build. If
+# SASL support should be available, please add "ldap" to the USE flags.
+REQUIRED_USE="sasl? ( ldap )"
+
+# currently, sasl code assumes the presence of kerberosV
+RDEPEND="hesiod? ( net-dns/hesiod )
+ ldap? ( >=net-nds/openldap-2.0
+ sasl? ( dev-libs/cyrus-sasl
+ dev-libs/libxml2
+ virtual/krb5 ) )"
+DEPEND="${RDEPEND}"
+
+src_prepare() {
+ # Upstream's patchset
+ if [[ -n ${PATCH_VER} ]]; then
+ EPATCH_SUFFIX="patch" \
+ epatch "${WORKDIR}"/patches
+ fi
+
+ # Fix for bug #210762
+ # Upstream reference: http://thread.gmane.org/gmane.linux.kernel.autofs/4203
+ epatch "${FILESDIR}"/${PN}-5.0.3-heimdal.patch
+
+ # Accumulated fixes for bugs
+ # #154797: Respect CC and CFLAGS
+ # #253412: Respect LDFLAGS
+ # #247969: Link order for --as-needed
+ epatch "${FILESDIR}"/${P}-respect-user-flags-and-fix-asneeded.patch
+
+ # do not include <nfs/nfs.h>, rather <linux/nfs.h>,
+ # as the former is a lame header for the latter (bug #157968)
+ sed 's@nfs/nfs.h@linux/nfs.h@' -i include/rpc_subs.h || die
+
+ # Upstream reference: http://thread.gmane.org/gmane.linux.kernel.autofs/5371
+ epatch "${FILESDIR}"/${PN}-5.0.5-fix-install-deadlink.patch
+
+ # Upstream reference: http://thread.gmane.org/gmane.linux.kernel.autofs/6039
+ # Disable LDAP specific code if USE="-ldap", let's see what upstream says...
+ epatch "${FILESDIR}"/${PN}-5.0.5-fix-building-without-ldap.patch
+
+ # https://bugs.gentoo.org/show_bug.cgi?id=361899
+ epatch "${FILESDIR}"/${PN}-5.0.5-add-missing-endif-HAVE_SASL-in-modules-lookup_ldap.c.patch
+
+ # Fix for bug #373577
+ # Upstream reference: http://article.gmane.org/gmane.linux.kernel.autofs/6187
+ # Fix regression in IPv6 name lookup regression
+ epatch "${FILESDIR}"/${P}-ipv6_name_lookup_regression.patch
+
+ eautoreconf
+}
+
+src_configure() {
+ # work around bug #355975 (mount modifies timestamp of /etc/mtab)
+ # with >=sys-apps/util-linux-2.19,
+ addpredict "/etc/mtab"
+
+ # --with-confdir is for bug #361481
+ econf \
+ --with-confdir=/etc/conf.d \
+ $(use_with ldap openldap) \
+ $(use_with sasl) \
+ $(use_with hesiod) \
+ --enable-ignore-busy
+}
+
+src_install() {
+ emake DESTDIR="${D}" install
+
+ dodoc README* CHANGELOG CREDITS COPYRIGHT INSTALL
+
+ # kernel patches
+ docinto patches
+ dodoc patches/${PN}4-2.6.??{,.?{,?}}-v5-update-????????.patch
+
+ newinitd "${FILESDIR}"/autofs5.initd autofs
+ insinto etc/autofs
+ newins "${FILESDIR}"/autofs5-auto.master auto.master
+}
+
+pkg_postinst() {
+ if kernel_is -lt 2 6 30; then
+ elog "This version of ${PN} requires a kernel with autofs4 supporting"
+ elog "protocol version 5.00. Patches for kernels older than 2.6.30 have"
+ elog "been installed into"
+ elog "${EROOT}usr/share/doc/${P}/patches."
+ elog "For further instructions how to patch the kernel, please refer to"
+ elog "${EROOT}usr/share/doc/${P}/INSTALL."
+ elog
+ fi
+ elog "If you plan on using autofs for automounting remote NFS mounts,"
+ elog "please check that both portmap (or rpcbind) and rpc.statd/lockd"
+ elog "are running."
+}
diff --git a/net-fs/autofs/files/autofs-5.0.6-ipv6_name_lookup_regression.patch b/net-fs/autofs/files/autofs-5.0.6-ipv6_name_lookup_regression.patch
new file mode 100644
index 000000000000..7465a98a3993
--- /dev/null
+++ b/net-fs/autofs/files/autofs-5.0.6-ipv6_name_lookup_regression.patch
@@ -0,0 +1,49 @@
+--- modules/replicated.c
++++ modules/replicated.c
+@@ -1111,7 +1111,8 @@ static int add_host_addrs(struct host **list, const char *host,
+ unsigned int weight, unsigned int options)
+ {
+ struct addrinfo hints, *ni, *this;
+- char *name = strdup(host);
++ char *n_ptr;
++ char *name = n_ptr = strdup(host);
+ int len;
+ char buf[MAX_ERR_BUF];
+ int rr = 0;
+@@ -1125,15 +1126,17 @@ static int add_host_addrs(struct host **list, const char *host,
+ }
+ len = strlen(name);
+
+- if (name[0] == '[' && name[--len] == ']')
++ if (name[0] == '[' && name[--len] == ']') {
+ name[len] = '\0';
++ name++;
++ }
+
+ memset(&hints, 0, sizeof(hints));
+ hints.ai_flags = AI_NUMERICHOST;
+ hints.ai_family = AF_UNSPEC;
+ hints.ai_socktype = SOCK_DGRAM;
+
+- ret = getaddrinfo(name + 1, NULL, &hints, &ni);
++ ret = getaddrinfo(name, NULL, &hints, &ni);
+ if (ret)
+ goto try_name;
+
+@@ -1153,7 +1156,7 @@ try_name:
+ hints.ai_family = AF_UNSPEC;
+ hints.ai_socktype = SOCK_DGRAM;
+
+- ret = getaddrinfo(name + 1, NULL, &hints, &ni);
++ ret = getaddrinfo(name, NULL, &hints, &ni);
+ if (ret) {
+ error(LOGOPT_ANY, "hostname lookup failed: %s",
+ gai_strerror(ret));
+@@ -1172,7 +1175,7 @@ try_name:
+ }
+ freeaddrinfo(ni);
+ done:
+- free(name);
++ free(n_ptr);
+ return ret;
+ }