diff options
author | V3n3RiX <venerix@redcorelinux.org> | 2019-09-25 19:33:39 +0100 |
---|---|---|
committer | V3n3RiX <venerix@redcorelinux.org> | 2019-09-28 08:31:11 +0100 |
commit | ad6182343997a405079870a2fe91c4e0c6b94595 (patch) | |
tree | 4aa7483cd0ad7de54338afc8e7971417abe1dd81 /net-fs/nfs-utils | |
parent | e8f81810baa21f490d6910e8e2d424546b72a333 (diff) |
gentoo resync : 25.09.2019
Diffstat (limited to 'net-fs/nfs-utils')
-rw-r--r-- | net-fs/nfs-utils/Manifest | 4 | ||||
-rw-r--r-- | net-fs/nfs-utils/files/nfs-utils-2.4.1-Fix-include-order-between-config.h-and-stat.h.patch | 151 | ||||
-rw-r--r-- | net-fs/nfs-utils/nfs-utils-2.4.1-r1.ebuild | 2 | ||||
-rw-r--r-- | net-fs/nfs-utils/nfs-utils-2.4.1-r2.ebuild | 207 |
4 files changed, 362 insertions, 2 deletions
diff --git a/net-fs/nfs-utils/Manifest b/net-fs/nfs-utils/Manifest index c858622e929f..50eaaa54d957 100644 --- a/net-fs/nfs-utils/Manifest +++ b/net-fs/nfs-utils/Manifest @@ -6,6 +6,7 @@ AUX nfs-utils-2.3.2-junction_libs.patch 1487 BLAKE2B 5ecd4709fdcbc1c0885c91aea13 AUX nfs-utils-2.3.2-no-werror.patch 1375 BLAKE2B d494d00f81e236fd0531d4629108a4536415e3a6898b655f267b0125c0fd6b87cb567ef5cb7598fc19e68653572c1072566d7ef791fedb9f0c8d9ea663e67565 SHA512 acc3ccd6cf4afa73bbd253f6a1faa0349e6f8d50d57d9316fafa1faeb9f8ed5d5dfa60ec1b0a53339cd71af4d65b32d9595965ec435bc72eadcc86b8d187438b AUX nfs-utils-2.3.4-no-werror.patch 1832 BLAKE2B 6e0f3da6a355c3b828bbaae3135c3a6c8bab29008cf160ca728ff5b72402f108221b4def304e9bf36f98310407bee9c26d828ab833bb7a9619fdaf609e66d06c SHA512 ce76f46c8dcef8b151040b9d198843746b6c20507c23a0dc511b3d3dec7681b3ac65c089de3f09d4e496ffa1bd011c034ce70198def374058a0805daf4ec8292 AUX nfs-utils-2.3.4_rc2-improved_res_querydomain_check.patch 1629 BLAKE2B 8d97392b754fefa5760c8c7c9d2f6615e5d9a6b3b29211fe2dbee85f3e01dc4c80dabe691beeb5d59410d1f917b5b597aed3da5958ac7c1de1cfc516bf617f4d SHA512 f4971098e0db597233806cbb79e4af7f3e2ed59280f7cc6f80b9e7b8684a5d53cd16a5e2c2ef1690daade84ca4676470217d0e65e750df103fd34363b6983de5 +AUX nfs-utils-2.4.1-Fix-include-order-between-config.h-and-stat.h.patch 4020 BLAKE2B 9f9079879be7bbaaf7748d4c2e5711fdeacac8b389fdb48d7fdc1c781191dc283f2dc05c9aded7558eb0cf3801cf7eda7032d091592e45cb8eb47018a0ce5430 SHA512 36b80e0f1ef0826e25ee719980171f4d6215db246392e1dbceef6aab4f1fbe78e4e1222256dfb23232b7da1b5328a23050966f3608a10c8b70b2f75491603f31 AUX nfs-utils-2.4.1-gssd-Look-in-lib32-for-gss-libs-aswell.patch 1608 BLAKE2B 761eb16d6556b0df1029556453922925ccac7bdc88c4f769382afdf659dfccdd90aa6a183d317667c638e2d2d4d8fc080cfe49070c5fec5bb5f5dc2f66d2040e SHA512 cc4a7a7dde84854b52f57afe09bbff9e241712a19784febd0992b5b53b4b14905b6daf6620a8e9049fbda1dfe0a1619f322adc0517d9747466d7974d4c3eac06 AUX nfs-utils.conf 74 BLAKE2B 504c298c1e8e7eb596cd87813f1aeeac5cbc830bb85be9e26ed98f7ed85cdbd14ae2c47b0e111c912398ef28ef629e6de7e585a7b161624e9698ea208750fd9f SHA512 d72c0fbdf12cb1ddf8eaa5885e1ed93a2078c40ca48eb8868836fb72fa456c4865df15273fb7472f70dfe8098167e695b1340ff9a59b55e73b47690baaf977d6 AUX nfs.confd 930 BLAKE2B 4ef1662b31cffd78b0e96396ad74dc8b8135a9a18956fa1267639d2069893d4f218ded5809497b56d19a192e7e18408e1d1b56bd1535abed8db236bc1a1649cb SHA512 bc11b073735ee86c96b9c249ee187f4d16329c279a4e26760875059d2b5fa1d510ef3e4df5ee9dfb2a3133d755e1eb5c323d2fadc432a0cf630191ec353ac535 @@ -25,5 +26,6 @@ DIST nfs-utils-2.3.4.tar.bz2 906900 BLAKE2B 968fac7b37c7311bc8d29667c88db925aac0 DIST nfs-utils-2.4.1.tar.bz2 910791 BLAKE2B 4419eff7fca21747e0bc4969ebb8a8b863aa951984af8f23f197e7dfc4faad3770173808862b84178714ca75f021be1af96f9e4408fecd7ef97999d261f2f21b SHA512 655a115955f35177b761f821e29c752693d614f4c6c2a90d392e0ab83b615247a397cf18e8ad453a93c6dc528d1fa90cfdf8b04de6626e0f4083b10e2e54f540 EBUILD nfs-utils-2.3.3.ebuild 5534 BLAKE2B e70b34817cd313721687897c29622f66ac3c1c2e347f71a3ef6763d4693c121866e21dee282a9499661db2dfcf27a33a40a90cc80fe481859b402753c0ab1816 SHA512 f5afca6badb7be19d708632a624d535ffdd7abad2fac6ccc59295061f9354c5db66cacb841001dcc2039f5380a29e4f56450105311d42c38b7b2c60786a7373b EBUILD nfs-utils-2.3.4.ebuild 5274 BLAKE2B 8ac149fa4f44491d101a7fbdd283f7b0bfc1db7183c2622d54f0e39f1a3b477fc0ce52481d6ee13478e03e0f6dec08d04507e775a3851aab80c0f11586c18ad5 SHA512 97b33afd3742f740754502d991dbc2d99ddb4c361af497db0bc2c026315354bb45e82625c68a7ef198aa7f6dced68b325f82521a482a8d434bca24faa992aeb7 -EBUILD nfs-utils-2.4.1-r1.ebuild 5885 BLAKE2B a10469ff0db08c9f593395e78653da622b9c06fb12592a0d0c5586e5c110ca3bdec60e9565b63415f7210387b5746ba1f6481003785aaed934f22df16fa1567f SHA512 e2f57b4c9761201305e8f70e161fb9704cd10899d8673ed643aa969a400e79d1022eab1053935f8bbfba9933d92d09fb027ef5003c19f1617907733eded72b9c +EBUILD nfs-utils-2.4.1-r1.ebuild 5883 BLAKE2B f5d7a4cb014005d45ad02fe768465a7c7610bf11979b613d325519475e92ffcfcc5669b5db69c295b88076aa4401e5d7d8f8cda5099530d359df61ef4111b963 SHA512 10395eb302a7a3c4fd3d79d06c741a06133b560ac84ec4109623d9fa1395e3c3935bc9fc68b3badbc46088f4db4a0717764fd64aa3681d0327ef3ba03b7362cb +EBUILD nfs-utils-2.4.1-r2.ebuild 5966 BLAKE2B cfbd2bdd3c8967f71cf95eee655cfe39f18fa7690a8f3fcfff9e71d803b4f13e8dbc184920c10d7a209b773a0f66396c3105ee84f67c5727703c79b4fc446185 SHA512 244423891fc20796f48efc3692e4fe279fbae79d392bfe9012767f74dbfb9e872fd03c7b3cbe2d0e5ccb362233291c6c14429b3d11f0e0e27f457022b3f2c012 MISC metadata.xml 932 BLAKE2B 14cb95a010cdb52373502bdad4de008234494be6e38f6b3fbf6b69e0848a6daa1315ed69b8eaadaad0cd546e84ba0e291b56ebf9db486b7c6e66011147b9a97c SHA512 eb45c97d7ed2bdaa8e43ce0a4fdb2f8a1d197bfd67a8b04f718c6083e7701873e2c22550700049edc25068daacb5278ca2535b63a02a10c1040efe0dbcef76a5 diff --git a/net-fs/nfs-utils/files/nfs-utils-2.4.1-Fix-include-order-between-config.h-and-stat.h.patch b/net-fs/nfs-utils/files/nfs-utils-2.4.1-Fix-include-order-between-config.h-and-stat.h.patch new file mode 100644 index 000000000000..836a2af54078 --- /dev/null +++ b/net-fs/nfs-utils/files/nfs-utils-2.4.1-Fix-include-order-between-config.h-and-stat.h.patch @@ -0,0 +1,151 @@ +From 2fbc62e2a13fc22b6ae4910e295a2c10fb790486 Mon Sep 17 00:00:00 2001 +From: Zoltan Karcagi <zkr7432@gmail.com> +Date: Mon, 12 Aug 2019 13:27:16 -0400 +Subject: [PATCH] Fix include order between config.h and stat.h + +At least on Arch linux ARM, the definition of struct stat in stat.h depends +on __USE_FILE_OFFSET64. This symbol comes from config.h when defined, +therefore config.h must always be included before stat.h. Fix all +occurrences where the order is wrong by moving config.h to the top. + +This fixes the client side error "Stale file handle" when mounting from +a server running Arch Linux ARM. + +Signed-off-by: Zoltan Karcagi <zkr7432@gmail.com> +Signed-off-by: Steve Dickson <steved@redhat.com> +--- + support/misc/nfsd_path.c | 5 ++++- + support/misc/xstat.c | 5 ++++- + support/nfs/conffile.c | 8 +++++++- + utils/blkmapd/device-discovery.c | 8 ++++---- + utils/idmapd/idmapd.c | 8 ++++---- + 5 files changed, 23 insertions(+), 11 deletions(-) + +diff --git a/support/misc/nfsd_path.c b/support/misc/nfsd_path.c +index 84e48028..f078a668 100644 +--- a/support/misc/nfsd_path.c ++++ b/support/misc/nfsd_path.c +@@ -1,3 +1,7 @@ ++#ifdef HAVE_CONFIG_H ++#include <config.h> ++#endif ++ + #include <errno.h> + #include <sys/types.h> + #include <sys/stat.h> +@@ -5,7 +9,6 @@ + #include <stdlib.h> + #include <unistd.h> + +-#include "config.h" + #include "conffile.h" + #include "xmalloc.h" + #include "xlog.h" +diff --git a/support/misc/xstat.c b/support/misc/xstat.c +index fa047880..4c997eea 100644 +--- a/support/misc/xstat.c ++++ b/support/misc/xstat.c +@@ -1,3 +1,7 @@ ++#ifdef HAVE_CONFIG_H ++#include <config.h> ++#endif ++ + #include <errno.h> + #include <sys/types.h> + #include <fcntl.h> +@@ -5,7 +9,6 @@ + #include <sys/sysmacros.h> + #include <unistd.h> + +-#include "config.h" + #include "xstat.h" + + #ifdef HAVE_FSTATAT +diff --git a/support/nfs/conffile.c b/support/nfs/conffile.c +index b6400bec..6ba8a35c 100644 +--- a/support/nfs/conffile.c ++++ b/support/nfs/conffile.c +@@ -500,7 +500,7 @@ conf_readfile(const char *path) + + if ((stat (path, &sb) == 0) || (errno != ENOENT)) { + char *new_conf_addr = NULL; +- size_t sz = sb.st_size; ++ off_t sz; + int fd = open (path, O_RDONLY, 0); + + if (fd == -1) { +@@ -517,6 +517,11 @@ conf_readfile(const char *path) + + /* only after we have the lock, check the file size ready to read it */ + sz = lseek(fd, 0, SEEK_END); ++ if (sz < 0) { ++ xlog_warn("conf_readfile: unable to determine file size: %s", ++ strerror(errno)); ++ goto fail; ++ } + lseek(fd, 0, SEEK_SET); + + new_conf_addr = malloc(sz+1); +@@ -2162,6 +2167,7 @@ conf_write(const char *filename, const char *section, const char *arg, + ret = 0; + + cleanup: ++ flush_outqueue(&inqueue, NULL); + flush_outqueue(&outqueue, NULL); + + if (buff) +diff --git a/utils/blkmapd/device-discovery.c b/utils/blkmapd/device-discovery.c +index e811703d..f5f9b10b 100644 +--- a/utils/blkmapd/device-discovery.c ++++ b/utils/blkmapd/device-discovery.c +@@ -26,6 +26,10 @@ + * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + ++#ifdef HAVE_CONFIG_H ++#include "config.h" ++#endif /* HAVE_CONFIG_H */ ++ + #include <sys/sysmacros.h> + #include <sys/types.h> + #include <sys/stat.h> +@@ -51,10 +55,6 @@ + #include <errno.h> + #include <libdevmapper.h> + +-#ifdef HAVE_CONFIG_H +-#include "config.h" +-#endif /* HAVE_CONFIG_H */ +- + #include "device-discovery.h" + #include "xcommon.h" + #include "nfslib.h" +diff --git a/utils/idmapd/idmapd.c b/utils/idmapd/idmapd.c +index 62e37b8a..267acea5 100644 +--- a/utils/idmapd/idmapd.c ++++ b/utils/idmapd/idmapd.c +@@ -34,6 +34,10 @@ + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + ++#ifdef HAVE_CONFIG_H ++#include "config.h" ++#endif /* HAVE_CONFIG_H */ ++ + #include <sys/types.h> + #include <sys/time.h> + #include <sys/inotify.h> +@@ -62,10 +66,6 @@ + #include <libgen.h> + #include <nfsidmap.h> + +-#ifdef HAVE_CONFIG_H +-#include "config.h" +-#endif /* HAVE_CONFIG_H */ +- + #include "xlog.h" + #include "conffile.h" + #include "queue.h" +-- +2.21.0 + diff --git a/net-fs/nfs-utils/nfs-utils-2.4.1-r1.ebuild b/net-fs/nfs-utils/nfs-utils-2.4.1-r1.ebuild index f836166582d2..26604696ea86 100644 --- a/net-fs/nfs-utils/nfs-utils-2.4.1-r1.ebuild +++ b/net-fs/nfs-utils/nfs-utils-2.4.1-r1.ebuild @@ -14,7 +14,7 @@ if [[ "${PV}" = *_rc* ]] ; then S="${WORKDIR}/${PN}-${PN}-${MY_PV}" else SRC_URI="mirror://sourceforge/nfs/${P}.tar.bz2" - KEYWORDS="~alpha amd64 arm arm64 ~hppa ia64 ~mips ppc ppc64 ~riscv s390 ~sh sparc x86" + KEYWORDS="alpha amd64 arm arm64 hppa ia64 ~mips ppc ppc64 ~riscv s390 ~sh sparc x86" fi LICENSE="GPL-2" diff --git a/net-fs/nfs-utils/nfs-utils-2.4.1-r2.ebuild b/net-fs/nfs-utils/nfs-utils-2.4.1-r2.ebuild new file mode 100644 index 000000000000..778fbf1dd67e --- /dev/null +++ b/net-fs/nfs-utils/nfs-utils-2.4.1-r2.ebuild @@ -0,0 +1,207 @@ +# Copyright 1999-2019 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit autotools flag-o-matic linux-info multilib systemd + +DESCRIPTION="NFS client and server daemons" +HOMEPAGE="http://linux-nfs.org/" + +if [[ "${PV}" = *_rc* ]] ; then + MY_PV="$(ver_rs 1- -)" + SRC_URI="http://git.linux-nfs.org/?p=steved/nfs-utils.git;a=snapshot;h=refs/tags/${PN}-${MY_PV};sf=tgz -> ${P}.tar.gz" + S="${WORKDIR}/${PN}-${PN}-${MY_PV}" +else + SRC_URI="mirror://sourceforge/nfs/${P}.tar.bz2" + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~riscv ~s390 ~sh ~sparc ~x86" +fi + +LICENSE="GPL-2" +SLOT="0" +IUSE="caps ipv6 junction kerberos ldap +libmount nfsdcld +nfsidmap +nfsv4 nfsv41 selinux tcpd +uuid" +REQUIRED_USE="kerberos? ( nfsv4 )" +RESTRICT="test" #315573 + +# kth-krb doesn't provide the right include +# files, and nfs-utils doesn't build against heimdal either, +# so don't depend on virtual/krb. +# (04 Feb 2005 agriffis) +DEPEND=" + >=dev-db/sqlite-3.3 + dev-libs/libxml2 + net-libs/libtirpc:= + >=net-nds/rpcbind-0.2.4 + sys-libs/e2fsprogs-libs + caps? ( sys-libs/libcap ) + ldap? ( net-nds/openldap ) + libmount? ( sys-apps/util-linux ) + nfsv4? ( + dev-libs/libevent:= + >=sys-apps/keyutils-1.5.9:= + kerberos? ( + >=net-libs/libtirpc-0.2.4-r1[kerberos] + app-crypt/mit-krb5 + ) + ) + nfsv41? ( + sys-fs/lvm2 + ) + tcpd? ( sys-apps/tcp-wrappers ) + uuid? ( sys-apps/util-linux )" +RDEPEND="${DEPEND} + !net-libs/libnfsidmap + !net-nds/portmap + !<sys-apps/openrc-0.13.9 + selinux? ( + sec-policy/selinux-rpc + sec-policy/selinux-rpcbind + ) +" +BDEPEND=" + net-libs/rpcsvc-proto + virtual/pkgconfig +" + +PATCHES=( + "${FILESDIR}"/${PN}-1.1.4-mtab-sym.patch + "${FILESDIR}"/${PN}-1.2.8-cross-build.patch + "${FILESDIR}"/${PN}-2.3.4-no-werror.patch + "${FILESDIR}"/${P}-gssd-Look-in-lib32-for-gss-libs-aswell.patch + "${FILESDIR}"/${P}-Fix-include-order-between-config.h-and-stat.h.patch +) + +pkg_setup() { + linux-info_pkg_setup + if use nfsv4 && ! use nfsdcld && linux_config_exists && ! linux_chkconfig_present CRYPTO_MD5 ; then + ewarn "Your NFS server will be unable to track clients across server restarts!" + ewarn "Please enable the \"${HILITE}nfsdcld${NORMAL}\" USE flag to install the nfsdcltrack usermode" + ewarn "helper upcall program, or enable ${HILITE}CONFIG_CRYPTO_MD5${NORMAL} in your kernel to" + ewarn "support the legacy, in-kernel client tracker." + fi +} + +src_prepare() { + default + + sed \ + -e "/^sbindir/s:= := \"${EPREFIX}\":g" \ + -i utils/*/Makefile.am || die + + eautoreconf +} + +src_configure() { + export libsqlite3_cv_is_recent=yes # Our DEPEND forces this. + export ac_cv_header_keyutils_h=$(usex nfsidmap) + local myeconfargs=( + --with-statedir="${EPREFIX%/}"/var/lib/nfs + --enable-tirpc + --with-tirpcinclude="${EPREFIX%/}"/usr/include/tirpc/ + --with-pluginpath="${EPREFIX%/}"/usr/$(get_libdir)/libnfsidmap + --with-rpcgen + --with-systemd="$(systemd_get_systemunitdir)" + --without-gssglue + $(use_enable caps) + $(use_enable ipv6) + $(use_enable junction) + $(use_enable kerberos gss) + $(use_enable kerberos svcgss) + $(use_enable ldap) + $(use_enable libmount libmount-mount) + $(use_enable nfsdcld nfsdcltrack) + $(use_enable nfsv4) + $(use_enable nfsv41) + $(use_enable uuid) + $(use_with tcpd tcp-wrappers) + ) + econf "${myeconfargs[@]}" +} + +src_compile(){ + # remove compiled files bundled in the tarball + emake clean + default +} + +src_install() { + default + rm linux-nfs/Makefile* || die + dodoc -r linux-nfs README + + # Don't overwrite existing xtab/etab, install the original + # versions somewhere safe... more info in pkg_postinst + keepdir /var/lib/nfs/{,sm,sm.bak} + mv "${ED}"/var/lib/nfs "${ED}"/usr/$(get_libdir)/ || die + + # Install some client-side binaries in /sbin + dodir /sbin + mv "${ED}"/usr/sbin/rpc.statd "${ED}"/sbin/ || die + + if use nfsv4 && use nfsidmap ; then + insinto /etc + doins support/nfsidmap/idmapd.conf + + # Install a config file for idmappers in newer kernels. #415625 + insinto /etc/request-key.d + echo 'create id_resolver * * /usr/sbin/nfsidmap -t 600 %k %d' > id_resolver.conf + doins id_resolver.conf + fi + + insinto /etc + doins "${FILESDIR}"/exports + keepdir /etc/exports.d + + local f list=() opt_need="" + if use nfsv4 ; then + opt_need="rpc.idmapd" + list+=( rpc.idmapd rpc.pipefs ) + use kerberos && list+=( rpc.gssd rpc.svcgssd ) + fi + for f in nfs nfsclient rpc.statd "${list[@]}" ; do + newinitd "${FILESDIR}"/${f}.initd ${f} + done + newinitd "${FILESDIR}"/nfsmount.initd-1.3.1 nfsmount # Nuke after 2015/08/01 + for f in nfs nfsclient ; do + newconfd "${FILESDIR}"/${f}.confd ${f} + done + sed -i \ + -e "/^NFS_NEEDED_SERVICES=/s:=.*:=\"${opt_need}\":" \ + "${ED}"/etc/conf.d/nfs || die #234132 + + local systemd_systemunitdir="$(systemd_get_systemunitdir)" + sed -i \ + -e 's:/usr/sbin/rpc.statd:/sbin/rpc.statd:' \ + "${ED}${systemd_systemunitdir}"/* || die + + keepdir /var/lib/nfs #368505 + keepdir /var/lib/nfs/v4recovery #603628 + +} + +pkg_postinst() { + # Install default xtab and friends if there's none existing. In + # src_install we put them in /usr/lib/nfs for safe-keeping, but + # the daemons actually use the files in /var/lib/nfs. #30486 + local f + for f in "${EROOT}"/usr/$(get_libdir)/nfs/*; do + [[ -e ${EROOT}/var/lib/nfs/${f##*/} ]] && continue + einfo "Copying default ${f##*/} from ${EPREFIX}/usr/$(get_libdir)/nfs to ${EPREFIX}/var/lib/nfs" + cp -pPR "${f}" "${EROOT}"/var/lib/nfs/ + done + + if systemd_is_booted; then + for v in ${REPLACING_VERSIONS}; do + if ver_test "${v}" -lt 1.3.0; then + ewarn "We have switched to upstream systemd unit files. Since" + ewarn "they got renamed, you should probably enable the new ones." + ewarn "You can run 'equery files nfs-utils | grep systemd'" + ewarn "to know what services you need to enable now." + fi + done + else + ewarn "If you use OpenRC, the nfsmount service has been replaced with nfsclient." + ewarn "If you were using nfsmount, please add nfsclient and netmount to the" + ewarn "same runlevel as nfsmount." + fi +} |