- Remove "Start-Before: autofs" from nfs.init. This turns

out not to be needed, and is out of place.  If anything,
  autofs should declare a dependency on nfs. (bnc#861489)
- fedfs-lib-name, nfs-utils.spec
  Build with fedfs support so that if fedfs-utils is also
  installed, federated-filesystems can be exported.
  (FATE#313522)

OBS-URL: https://build.opensuse.org/package/show/Base:System/nfs-utils?expand=0&rev=113
This commit is contained in:
Neil Brown 2014-03-09 23:06:13 +00:00 committed by Git OBS Bridge
parent 439a0898e8
commit 6f41be50b0
4 changed files with 77 additions and 1 deletions

59
fedfs-lib-name Normal file
View File

@ -0,0 +1,59 @@
From 878972d60cb55f2bc6e04a0937f81407fbc308fe Mon Sep 17 00:00:00 2001
From: Neil Brown <neilb@suse.de>
Date: Wed, 5 Mar 2014 14:55:46 +1100
Subject: [PATCH] mountd: use SONAME fir libnfsjunct when loading with dlopen.
The standard for loading shared libraries is to identify them by their
"soname" (Which "objdump -x $BINARY | grep SONAME" will report).
However mountd currently loads using the "linker name" which should only
be used when building new code.
Future releases of fedfs-utils will define the soname in the include
file, so if that is defined, use it. If not, use the soname of the
first version: "libnfsjunct.so.0".
This is a slight behavioural change. However all distros known to
package fedfs-utils will install "libnfsjunct.so.0" whenever they
install the old name of "libnfsjunct.so", and "make install" will
install both. So it should not be a noticeable change.
Also only test the JP_API_VERSION if it is defined. As the version is
embedded in the soname, a secondary test is not needed.
Cc: Chuck Lever <chuck.lever@oracle.com>
Signed-off-by: NeilBrown <neilb@suse.de>
---
utils/mountd/cache.c | 9 +++++++--
1 file changed, 7 insertions(+), 2 deletions(-)
--- nfs-utils-1.2.8.orig/utils/mountd/cache.c
+++ nfs-utils-1.2.8/utils/mountd/cache.c
@@ -1055,12 +1055,13 @@ static struct exportent *invoke_junction
__func__, error);
return NULL;
}
+#ifdef JP_API_VERSION
if (ops->jp_api_version != JP_API_VERSION) {
xlog(D_GENERAL, "%s: unrecognized junction API version: %u",
__func__, ops->jp_api_version);
return NULL;
}
-
+#endif
status = ops->jp_init(false);
if (status != JP_OK) {
xlog(D_GENERAL, "%s: failed to resolve %s: %s",
@@ -1107,7 +1108,11 @@ static struct exportent *lookup_junction
struct link_map *map;
void *handle;
- handle = dlopen("libnfsjunct.so", RTLD_NOW);
+#ifdef JP_NFSPLUGIN_SONAME
+ handle = dlopen(JP_NFSPLUGIN_SONAME, RTLD_NOW);
+#else
+ handle = dlopen("libnfsjunct.so.0", RTLD_NOW);
+#endif
if (handle == NULL) {
xlog(D_GENERAL, "%s: dlopen: %s", __func__, dlerror());
return NULL;

View File

@ -1,3 +1,14 @@
-------------------------------------------------------------------
Sun Mar 9 23:00:19 UTC 2014 - nfbrown@suse.com
- Remove "Start-Before: autofs" from nfs.init. This turns
out not to be needed, and is out of place. If anything,
autofs should declare a dependency on nfs. (bnc#861489)
- fedfs-lib-name, nfs-utils.spec
Build with fedfs support so that if fedfs-utils is also
installed, federated-filesystems can be exported.
(FATE#313522)
-------------------------------------------------------------------
Mon Feb 17 04:40:41 UTC 2014 - nfbrown@suse.com

View File

@ -34,6 +34,9 @@ BuildRequires: tcpd-devel
%if 0%{?suse_version} >= 1210
BuildRequires: systemd
%endif
%if 0%{?suse_version} >= 1310
BuildRequires: fedfs-utils-devel
%endif
Url: http://kernel.org/pub/linux/utils/nfs-utils/
Summary: Support Utilities for Kernel nfsd
License: GPL-2.0+
@ -85,6 +88,9 @@ Patch10: exportfs-report-failure-if-asked-to-unexport-somethi.patch
Patch11: gssd-mount-hang-fix
# PATCH-FIX-UPSTREAM udp-fallback.fix bnc#863749 nfbrown@suse.de
Patch12: udp-fallback.fix
# PATCH-FIX-UPSTREAM fedfs-lib-name nfbrown@suse.de
Patch13: fedfs-lib-name
Suggests: python-base
%description
@ -148,6 +154,7 @@ This package contains additional NFS documentation.
%patch10 -p1
%patch11 -p1
%patch12 -p1
%patch13 -p1
cp %{S:6} .
%build

View File

@ -15,7 +15,6 @@
# Provides: nfs
# Required-Start: $network $portmap
# Required-Stop: $network $portmap
# X-Start-Before: +autofs
# Default-Start: 3 5
# Default-Stop: 0 1 2 6
# Short-Description: NFS client services