Upgraded packages to latest upstream
Upgraded net-fs/autofs to v5.1.8-r1
BUG=None
TEST=presubmit
RELEASE_NOTE=Upgraded net-fs/autofs to v5.1.8-r1.
Change-Id: Idd507f95b6b9ef31656bfbfe9ed19e34f08dcc12
Reviewed-on: https://cos-review.googlesource.com/c/third_party/overlays/portage-stable/+/44556
Tested-by: Cusky Presubmit Bot <presubmit@cos-infra-prod.iam.gserviceaccount.com>
Reviewed-by: Chenglong Tang <chenglongtang@google.com>
diff --git a/net-fs/autofs/Manifest b/net-fs/autofs/Manifest
index b42b207..503d31c 100644
--- a/net-fs/autofs/Manifest
+++ b/net-fs/autofs/Manifest
@@ -1 +1,3 @@
-DIST autofs-5.1.4.tar.xz 304864 BLAKE2B 7348aa1106554eb765919c765c0585b5d975d7a0ea036dec5b509711bf33cefd0f3e1e857a6865434adabbd1e323cfe8ffb09eb234495672e81101f79b8f4d0f SHA512 1ef48800a1e44d6bf7048923109f3b8299ef266ff0fbaf5f979c32f42c6c5e28620c1876f64b9d913fddb69244ff83226c01c666401ff6271dd6b53d31860589
+DIST autofs-5.1.6.tar.xz 315316 BLAKE2B 0c5e2351462505c6de0b12e510f0c08a625a0235e1ff8eeaff825946c4530c258449d26aaf6a3794aa82a97e8860711226168f434dd31bfb8a4e70287beb3ca4 SHA512 dc8b2bd86c140905dd1bc461bfc469f92363d9c2687fe422e1e751cc7ad64c0733b011c80bf4840e510e5909176cd1a066968b9a5ba835b62c4cf27537863cf2
+DIST autofs-5.1.8-patches-0.tar.xz 3476 BLAKE2B a7fb146542f9cb0a8e93240d9c3f68ff7b569f4dc0e829103ae67ced6d04e110331d320ff429f6e6af03b7265a068ee648738691cd637080cf976f441fe10444 SHA512 73023735bf269e3214e38a4841b6b3a1edff30e5d925a62d3ca9e841726835793c1e242804233e696e946e63720f522ceeb82f78449d3597d3d39b727f4b8d24
+DIST autofs-5.1.8.tar.xz 327396 BLAKE2B 22ef626cc867c1ed4f1f859aebe2547c497c35dea712967de70158e85db590f5ffc26165e1479cfc64eb8070a9c43fd06b1570a82bd8bbbac70f2930e1841718 SHA512 6ee6283c0977c82848a654dc24745ee687f6916de441c3688fa91f67ca7295e632ee3808cc2358984a4b9f19841e6e1a91ab48aad6341ac8e63827fe8c32d223
diff --git a/net-fs/autofs/autofs-5.1.4-r1.ebuild b/net-fs/autofs/autofs-5.1.4-r1.ebuild
deleted file mode 120000
index 865b8e5..0000000
--- a/net-fs/autofs/autofs-5.1.4-r1.ebuild
+++ /dev/null
@@ -1 +0,0 @@
-autofs-5.1.4.ebuild
\ No newline at end of file
diff --git a/net-fs/autofs/autofs-5.1.4.ebuild b/net-fs/autofs/autofs-5.1.4.ebuild
deleted file mode 100644
index 6a156e4..0000000
--- a/net-fs/autofs/autofs-5.1.4.ebuild
+++ /dev/null
@@ -1,114 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit linux-info multilib systemd toolchain-funcs
-
-PATCH_VER=
-[[ -n ${PATCH_VER} ]] && \
- PATCHSET_URI="https://dev.gentoo.org/~jlec/distfiles/${P}-patches-${PATCH_VER}.tar.lzma"
-
-DESCRIPTION="Kernel based automounter"
-HOMEPAGE="http://www.linux-consulting.com/Amd_AutoFS/autofs.html"
-SRC_URI="
- mirror://kernel/linux/daemons/${PN}/v5/${P}.tar.xz
- ${PATCHSET_URI}"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="*"
-IUSE="-dmalloc ldap +libtirpc mount-locking 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=">=sys-apps/util-linux-2.20
- dmalloc? ( dev-libs/dmalloc[threads] )
- ldap? ( >=net-nds/openldap-2.0
- sasl? (
- dev-libs/cyrus-sasl
- dev-libs/libxml2
- virtual/krb5
- )
- )
- libtirpc? ( net-libs/libtirpc )
- !libtirpc? ( elibc_glibc? ( sys-libs/glibc[rpc(-)] ) )
-"
-DEPEND="${RDEPEND}
- sys-devel/flex
- virtual/yacc
- libtirpc? ( net-libs/rpcsvc-proto )
-"
-
-CONFIG_CHECK="~AUTOFS4_FS"
-
-src_prepare() {
- # Upstream's patchset
- if [[ -n ${PATCH_VER} ]]; then
- EPATCH_SUFFIX="patch" \
- epatch "${WORKDIR}"/patches
- fi
-
- sed -i -e "s:/usr/bin/kill:/bin/kill:" samples/autofs.service.in || die #bug #479492
- default
-}
-
-src_configure() {
- # bug #483716
- tc-export AR
- # --with-confdir is for bug #361481
- # --with-mapdir is for bug #385113
- local myeconfargs=(
- --with-confdir=/etc/conf.d
- --with-mapdir=/etc/autofs
- $(use_with dmalloc)
- $(use_with ldap openldap)
- $(use_with libtirpc)
- $(use_with sasl)
- $(use_enable mount-locking)
- --without-hesiod
- --disable-ext-env
- --enable-sloppy-mount # bug #453778
- --enable-force-shutdown
- --enable-ignore-busy
- --with-systemd="$(systemd_get_systemunitdir)" #bug #479492
- RANLIB="$(type -P $(tc-getRANLIB))" # bug #483716
- )
- econf "${myeconfargs[@]}"
-}
-
-src_compile() {
- export DONTSTRIP=1
- default
-}
-
-src_install() {
- default
-
- if kernel_is -lt 2 6 30; then
- # kernel patches
- docinto patches
- dodoc patches/${PN}4-2.6.??{,.?{,?}}-v5-update-????????.patch
- fi
- 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/autofs-5.1.8-r1.ebuild b/net-fs/autofs/autofs-5.1.8-r1.ebuild
new file mode 100644
index 0000000..5e3be6b
--- /dev/null
+++ b/net-fs/autofs/autofs-5.1.8-r1.ebuild
@@ -0,0 +1,131 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit linux-info systemd toolchain-funcs
+
+DESCRIPTION="Kernel based automounter"
+HOMEPAGE="https://web.archive.org/web/*/http://www.linux-consulting.com/Amd_AutoFS/autofs.html https://git.kernel.org/pub/scm/linux/storage/autofs/autofs.git"
+SRC_URI="https://www.kernel.org/pub/linux/daemons/${PN}/v5/${P}.tar.xz
+ https://dev.gentoo.org/~dlan/distfiles/${CATEGORY}/${PN}/${P}-patches-0.tar.xz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="*"
+IUSE="dmalloc ldap +libtirpc mount-locking sasl systemd"
+
+# currently, sasl code assumes the presence of kerberosV
+RDEPEND="
+ net-libs/libnsl:=
+ >=sys-apps/util-linux-2.20
+ dmalloc? ( dev-libs/dmalloc[threads] )
+ ldap? (
+ >=net-nds/openldap-2.0:=
+ sasl? (
+ dev-libs/cyrus-sasl
+ dev-libs/libxml2
+ virtual/krb5
+ )
+ )
+ systemd? ( sys-apps/systemd )
+ libtirpc? ( net-libs/libtirpc:= )
+ !libtirpc? ( elibc_glibc? ( sys-libs/glibc[rpc(-)] ) )
+"
+DEPEND="${RDEPEND}
+ libtirpc? ( net-libs/rpcsvc-proto )
+"
+BDEPEND="
+ sys-devel/flex
+ virtual/pkgconfig
+ app-alternatives/yacc
+"
+
+PATCHES=(
+ "${WORKDIR}"/${P}-patches/
+ "${FILESDIR}/${P}-dmalloc.patch"
+ "${FILESDIR}/${P}-nfsv4-mount.patch"
+ "${FILESDIR}/${P}-mount_conflict.patch"
+)
+
+pkg_setup() {
+ linux-info_pkg_setup
+
+ local CONFIG_CHECK
+
+ if kernel_is -ge 4 18; then
+ CONFIG_CHECK="~AUTOFS_FS"
+ else
+ CONFIG_CHECK="~AUTOFS4_FS"
+ fi
+
+ check_extra_config
+}
+
+src_prepare() {
+ sed -i -e "s:/usr/bin/kill:/bin/kill:" samples/autofs.service.in || die # bug #479492
+ sed -i -e "/^EnvironmentFile/d" samples/autofs.service.in || die # bug #592334
+
+ # Install samples including autofs.service
+ sed -i -e "/^SUBDIRS/s/$/ samples/g" Makefile.rules || die
+
+ default
+}
+
+src_configure() {
+ # bug #483716
+ tc-export AR
+ # --with-confdir is for bug #361481
+ # --with-mapdir is for bug #385113
+ local myeconfargs=(
+ --with-confdir=/etc/conf.d
+ --with-mapdir=/etc/autofs
+ $(use_with dmalloc)
+ $(use_with ldap openldap)
+ $(use_with libtirpc)
+ $(use_with sasl)
+ $(use_enable mount-locking)
+ $(use_with systemd systemd $(systemd_get_systemunitdir)) # bug #479492
+ --without-hesiod
+ --disable-ext-env
+ --enable-sloppy-mount # bug #453778
+ --enable-force-shutdown
+ --enable-ignore-busy
+ RANLIB="$(type -P $(tc-getRANLIB))" # bug #483716
+ )
+
+ CONFIG_SHELL="${BROOT}/bin/bash" econf "${myeconfargs[@]}"
+}
+
+src_compile() {
+ emake STRIP=: DONTSTRIP=1
+}
+
+src_install() {
+ default
+ rmdir "${D}"/run
+
+ if kernel_is -lt 2 6 30; then
+ # kernel patches
+ docinto patches
+ dodoc patches/${PN}4-2.6.??{,.?{,?}}-v5-update-????????.patch
+ fi
+ 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.1.6-glibc.patch b/net-fs/autofs/files/autofs-5.1.6-glibc.patch
new file mode 100644
index 0000000..338d885
--- /dev/null
+++ b/net-fs/autofs/files/autofs-5.1.6-glibc.patch
@@ -0,0 +1,110 @@
+diff --git a/daemon/lookup.c b/daemon/lookup.c
+index 60a48f3..bbd65e0 100644
+--- a/daemon/lookup.c
++++ b/daemon/lookup.c
+@@ -382,7 +382,7 @@ static int read_file_source_instance(struct autofs_point *ap, struct map_source
+ if (!S_ISREG(st.st_mode))
+ return NSS_STATUS_NOTFOUND;
+
+- if (st.st_mode & __S_IEXEC)
++ if (st.st_mode & S_IEXEC)
+ type = src_prog;
+ else
+ type = src_file;
+@@ -937,7 +937,7 @@ static int lookup_name_file_source_instance(struct autofs_point *ap, struct map_
+ if (!S_ISREG(st.st_mode))
+ return NSS_STATUS_NOTFOUND;
+
+- if (st.st_mode & __S_IEXEC)
++ if (st.st_mode & S_IEXEC)
+ type = src_prog;
+ else
+ type = src_file;
+@@ -1113,7 +1113,7 @@ static struct map_source *lookup_get_map_source(struct master_mapent *entry)
+ if (!S_ISREG(st.st_mode))
+ return NULL;
+
+- if (st.st_mode & __S_IEXEC)
++ if (st.st_mode & S_IEXEC)
+ type = "program";
+ else
+ type = "file";
+diff --git a/include/automount.h b/include/automount.h
+index 4fd0ba9..7b855a7 100644
+--- a/include/automount.h
++++ b/include/automount.h
+@@ -13,6 +13,7 @@
+ #include <limits.h>
+ #include <time.h>
+ #include <syslog.h>
++#include <sys/procfs.h>
+ #include <sys/types.h>
+ #include <pthread.h>
+ #include <sched.h>
+@@ -142,6 +143,16 @@ struct autofs_point;
+ #define UMOUNT_RETRIES 8
+ #define EXPIRE_RETRIES 3
+
++#ifndef __SWORD_TYPE
++#if __WORDSIZE == 32
++# define __SWORD_TYPE int
++#elif __WORDSIZE == 64
++# define __SWORD_TYPE long int
++#else
++#error
++#endif
++#endif
++
+ static u_int32_t inline hash(const char *key, unsigned int size)
+ {
+ u_int32_t hashval;
+diff --git a/include/nsswitch.h b/include/nsswitch.h
+index d3e4027..8376113 100644
+--- a/include/nsswitch.h
++++ b/include/nsswitch.h
+@@ -24,6 +24,10 @@
+ #include <netdb.h>
+ #include "list.h"
+
++#ifndef _PATH_NSSWITCH_CONF
++#define _PATH_NSSWITCH_CONF "/dev/null"
++#endif
++
+ #define NSSWITCH_FILE _PATH_NSSWITCH_CONF
+
+ enum nsswitch_status {
+diff --git a/include/rpc_subs.h b/include/rpc_subs.h
+index 6e35eed..7ba4b93 100644
+--- a/include/rpc_subs.h
++++ b/include/rpc_subs.h
+@@ -18,7 +18,7 @@
+
+ #include <rpc/rpc.h>
+ #include <rpc/pmap_prot.h>
+-#include <nfs/nfs.h>
++#include <linux/nfs.h>
+ #include <linux/nfs2.h>
+ #include <linux/nfs3.h>
+
+diff --git a/modules/lookup_multi.c b/modules/lookup_multi.c
+index fadd2ea..cf109de 100644
+--- a/modules/lookup_multi.c
++++ b/modules/lookup_multi.c
+@@ -247,7 +247,7 @@ static struct lookup_mod *nss_open_lookup(const char *format, int argc, const ch
+ continue;
+ }
+
+- if (st.st_mode & __S_IEXEC)
++ if (st.st_mode & S_IEXEC)
+ type = src_prog;
+ else
+ type = src_file;
+@@ -452,7 +452,7 @@ int lookup_reinit(const char *my_mapfmt,
+ continue;
+ }
+
+- if (st.st_mode & __S_IEXEC)
++ if (st.st_mode & S_IEXEC)
+ type = src_prog;
+ else
+ type = src_file;
diff --git a/net-fs/autofs/files/autofs-5.1.6-musl.patch b/net-fs/autofs/files/autofs-5.1.6-musl.patch
new file mode 100644
index 0000000..bdcc0db
--- /dev/null
+++ b/net-fs/autofs/files/autofs-5.1.6-musl.patch
@@ -0,0 +1,12 @@
+--- a/include/automount.h
++++ b/include/automount.h
+@@ -25,6 +25,9 @@
+ #include "list.h"
+
+ #include <linux/auto_fs4.h>
++#ifndef __GLIBC__
++#include <bits/reg.h>
++#endif
+
+ #include "defaults.h"
+ #include "state.h"
diff --git a/net-fs/autofs/files/autofs-5.1.6-pid.patch b/net-fs/autofs/files/autofs-5.1.6-pid.patch
new file mode 100644
index 0000000..1766c34
--- /dev/null
+++ b/net-fs/autofs/files/autofs-5.1.6-pid.patch
@@ -0,0 +1,14 @@
+diff --git a/include/log.h b/include/log.h
+index 69eed96..14051cc 100644
+--- a/include/log.h
++++ b/include/log.h
+@@ -46,6 +46,8 @@ extern void log_crit(unsigned, const char* msg, ...);
+ extern void log_debug(unsigned int, const char* msg, ...);
+ extern void logmsg(const char* msg, ...);
+
++#include <unistd.h> /* Required for pid_t */
++
+ extern pid_t log_pidinfo(struct autofs_point *ap, pid_t pid, char *label);
+
+ #define debug(opt, msg, args...) \
+
diff --git a/net-fs/autofs/files/autofs-5.1.8-dmalloc.patch b/net-fs/autofs/files/autofs-5.1.8-dmalloc.patch
new file mode 100644
index 0000000..e2ed58f
--- /dev/null
+++ b/net-fs/autofs/files/autofs-5.1.8-dmalloc.patch
@@ -0,0 +1,53 @@
+diff --git a/include/mounts.h b/include/mounts.h
+index ddb7e4c..854e1fb 100644
+--- a/include/mounts.h
++++ b/include/mounts.h
+@@ -84,7 +84,7 @@ typedef void (*tree_free_t) (struct tree_node *n);
+ struct tree_ops {
+ tree_new_t new;
+ tree_cmp_t cmp;
+- tree_free_t free;
++ tree_free_t set_free;
+ };
+
+ typedef int (*tree_work_fn_t) (struct tree_node *n, void *ptr);
+diff --git a/lib/mounts.c b/lib/mounts.c
+index 4c86688..1e54a33 100644
+--- a/lib/mounts.c
++++ b/lib/mounts.c
+@@ -75,7 +75,7 @@ static void tree_mnt_free(struct tree_node *n);
+ static struct tree_ops mnt_ops = {
+ .new = tree_mnt_new,
+ .cmp = tree_mnt_cmp,
+- .free = tree_mnt_free,
++ .set_free = tree_mnt_free,
+ };
+ static struct tree_ops *tree_mnt_ops = &mnt_ops;
+
+@@ -86,7 +86,7 @@ static void tree_host_free(struct tree_node *n);
+ static struct tree_ops host_ops = {
+ .new = tree_host_new,
+ .cmp = tree_host_cmp,
+- .free = tree_host_free,
++ .set_free = tree_host_free,
+ };
+ static struct tree_ops *tree_host_ops = &host_ops;
+
+@@ -97,7 +97,7 @@ static void tree_mapent_free(struct tree_node *n);
+ static struct tree_ops mapent_ops = {
+ .new = tree_mapent_new,
+ .cmp = tree_mapent_cmp,
+- .free = tree_mapent_free,
++ .set_free = tree_mapent_free,
+ };
+ static struct tree_ops *tree_mapent_ops = &mapent_ops;
+
+@@ -1360,7 +1360,7 @@ void tree_free(struct tree_node *root)
+ tree_free(root->right);
+ if (root->left)
+ tree_free(root->left);
+- ops->free(root);
++ ops->set_free(root);
+ }
+
+ int tree_traverse_inorder(struct tree_node *n, tree_work_fn_t work, void *ptr)
diff --git a/net-fs/autofs/files/autofs-5.1.8-mount_conflict.patch b/net-fs/autofs/files/autofs-5.1.8-mount_conflict.patch
new file mode 100644
index 0000000..e2a94bf
--- /dev/null
+++ b/net-fs/autofs/files/autofs-5.1.8-mount_conflict.patch
@@ -0,0 +1,30 @@
+Avoid conflicts between sys/mount.h and linux/mount.h
+
+linux/fs.h includes linux/mount.h and this include file is unused so
+do not include it and avoid conflict too with glibc 2.36+ see [1]
+
+[1] https://sourceware.org/glibc/wiki/Release/2.36#Usage_of_.3Clinux.2Fmount.h.3E_and_.3Csys.2Fmount.h.3E
+
+Upstream-Status: Pending
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+--- a/modules/parse_amd.c
++++ b/modules/parse_amd.c
+@@ -27,7 +27,6 @@
+ #include <sys/utsname.h>
+ #include <netinet/in.h>
+ #include <sys/mount.h>
+-#include <linux/fs.h>
+
+ #define MODULE_PARSE
+ #include "automount.h"
+--- a/modules/parse_sun.c
++++ b/modules/parse_sun.c
+@@ -30,7 +30,6 @@
+ #include <sys/utsname.h>
+ #include <netinet/in.h>
+ #include <sys/mount.h>
+-#include <linux/fs.h>
+
+ #define MODULE_PARSE
+ #include "automount.h"
diff --git a/net-fs/autofs/files/autofs-5.1.8-nfsv4-mount.patch b/net-fs/autofs/files/autofs-5.1.8-nfsv4-mount.patch
new file mode 100644
index 0000000..eb1bc6c
--- /dev/null
+++ b/net-fs/autofs/files/autofs-5.1.8-nfsv4-mount.patch
@@ -0,0 +1,88 @@
+autofs-5.1.8 - fix nfsv4 only mounts should not use rpcbind
+
+From: Ian Kent <raven@xxxxxxxxxx>
+
+Commit 606795ecfaa1 ("autofs-5.1.7 - also require TCP_REQUESTED when
+setting NFS port" together with commit 26fb6b5408be) caused NFSv4 only
+mounts to also use rpcbind to probe availability which breaks the
+requirememt that this type of mount not use rpcbind at all.
+
+Fix this by treating fstype=nfs4 mounts as a special case which doesn't
+use rpcbind.
+---
+ CHANGELOG | 1 +
+ include/replicated.h | 2 ++
+ modules/mount_nfs.c | 13 +++++++------
+ modules/replicated.c | 4 ++--
+ 4 files changed, 12 insertions(+), 8 deletions(-)
+
+diff --git a/include/replicated.h b/include/replicated.h
+index 95ff1f0d..f889a56a 100644
+--- a/include/replicated.h
++++ b/include/replicated.h
+@@ -35,6 +35,8 @@
+ #define NFS3_REQUESTED NFS3_SUPPORTED
+ #define NFS4_REQUESTED NFS4_SUPPORTED
+
++#define NFS4_ONLY_REQUESTED 0x0800
++
+ #define TCP_SUPPORTED 0x0001
+ #define UDP_SUPPORTED 0x0002
+ #define TCP_REQUESTED TCP_SUPPORTED
+diff --git a/modules/mount_nfs.c b/modules/mount_nfs.c
+index 0ab87dcf..feb5afcd 100644
+--- a/modules/mount_nfs.c
++++ b/modules/mount_nfs.c
+@@ -92,7 +92,7 @@ int mount_mount(struct autofs_point *ap, const char *root, const char *name, int
+ mount_default_proto = defaults_get_mount_nfs_default_proto();
+ vers = NFS_VERS_DEFAULT | NFS_PROTO_DEFAULT;
+ if (strcmp(fstype, "nfs4") == 0)
+- vers = NFS4_VERS_DEFAULT | TCP_SUPPORTED;
++ vers = NFS4_VERS_DEFAULT | TCP_SUPPORTED | NFS4_ONLY_REQUESTED;
+ else if (mount_default_proto == 4)
+ vers = vers | NFS4_VERS_DEFAULT;
+
+@@ -157,15 +157,16 @@ int mount_mount(struct autofs_point *ap, const char *root, const char *name, int
+ } else {
+ /* Is any version of NFSv4 in the options */
+ if (_strncmp("vers=4", cp, 6) == 0 ||
+- _strncmp("nfsvers=4", cp, 9) == 0)
+- vers = NFS4_VERS_MASK | TCP_SUPPORTED;
+- else if (_strncmp("vers=3", cp, o_len) == 0 ||
++ _strncmp("nfsvers=4", cp, 9) == 0) {
++ vers &= ~(NFS_VERS_MASK);
++ vers |= NFS4_VERS_MASK | TCP_SUPPORTED | NFS4_ONLY_REQUESTED;
++ } else if (_strncmp("vers=3", cp, o_len) == 0 ||
+ _strncmp("nfsvers=3", cp, o_len) == 0) {
+- vers &= ~(NFS4_VERS_MASK | NFS_VERS_MASK);
++ vers &= ~(NFS4_VERS_MASK | NFS_VERS_MASK | NFS4_ONLY_REQUESTED);
+ vers |= NFS3_REQUESTED;
+ } else if (_strncmp("vers=2", cp, o_len) == 0 ||
+ _strncmp("nfsvers=2", cp, o_len) == 0) {
+- vers &= ~(NFS4_VERS_MASK | NFS_VERS_MASK);
++ vers &= ~(NFS4_VERS_MASK | NFS_VERS_MASK | NFS4_ONLY_REQUESTED);
+ vers |= NFS2_REQUESTED;
+ } else if (strstr(cp, "port=") == cp &&
+ o_len - 5 < 25) {
+diff --git a/modules/replicated.c b/modules/replicated.c
+index 09075dd0..cdb7c617 100644
+--- a/modules/replicated.c
++++ b/modules/replicated.c
+@@ -291,7 +291,7 @@ static unsigned int get_nfs_info(unsigned logopt, struct host *host,
+
+ rpc_info->proto = proto;
+ if (port < 0) {
+- if ((version & NFS4_REQUESTED) && (version & TCP_REQUESTED))
++ if (version & NFS4_REQUESTED && (version & NFS4_ONLY_REQUESTED))
+ rpc_info->port = NFS_PORT;
+ else
+ port = 0;
+@@ -525,7 +525,7 @@ static int get_vers_and_cost(unsigned logopt, struct host *host,
+ {
+ struct conn_info pm_info, rpc_info;
+ time_t timeout = RPC_TIMEOUT;
+- unsigned int supported, vers = (NFS_VERS_MASK | NFS4_VERS_MASK);
++ unsigned int supported, vers = (NFS_VERS_MASK | NFS4_VERS_MASK | NFS4_ONLY_REQUESTED);
+ int ret = 0;
+
+ if (!check_address_proto(logopt, host, version))
diff --git a/net-fs/autofs/files/autofs5.initd b/net-fs/autofs/files/autofs5.initd
index 119585c..1b9b0fa 100644
--- a/net-fs/autofs/files/autofs5.initd
+++ b/net-fs/autofs/files/autofs5.initd
@@ -1,5 +1,5 @@
#!/sbin/openrc-run
-# Copyright 1999-2011 Gentoo Foundation
+# Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
DAEMON=/usr/sbin/automount
@@ -8,7 +8,7 @@
depend() {
need localmount
- use ypbind nfs slapd portmap net
+ use ypbind nfsclient slapd net
}
extra_started_commands="reload"
diff --git a/net-fs/autofs/metadata.xml b/net-fs/autofs/metadata.xml
index 01c0462..fac959b 100644
--- a/net-fs/autofs/metadata.xml
+++ b/net-fs/autofs/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>dlan@gentoo.org</email>