summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndreas Schneider <asn@samba.org>2018-01-19 14:30:20 +0100
committerKarolin Seeger <kseeger@samba.org>2018-01-25 15:04:21 +0100
commit3c46eef8f1ea1f43a80aec4ab94f17530f38ca76 (patch)
tree80bde8d9781b8d52901f7f22ed0c83688c2230fc
parent0970c824c61b9c89051b347609611833d239ee00 (diff)
downloadsamba-3c46eef8f1ea1f43a80aec4ab94f17530f38ca76.tar.gz
waf: Fix NFS quota support with libtirpc
BUG: https://bugzilla.samba.org/show_bug.cgi?id=13238 Signed-off-by: Andreas Schneider <asn@samba.org> Reviewed-by: Alexander Bokovoy <ab@samba.org> Autobuild-User(master): Andreas Schneider <asn@cryptomilk.org> Autobuild-Date(master): Mon Jan 22 17:26:52 CET 2018 on sn-devel-144 (cherry picked from commit 39a6ea766dfe55d84ab2284b8d5ed01d66da11dd)
-rw-r--r--lib/replace/wscript2
-rw-r--r--source3/lib/sysquotas_nfs.c11
-rw-r--r--source3/modules/nfs4acl_xattr_xdr.c9
-rw-r--r--source3/wscript26
-rw-r--r--source3/wscript_build2
5 files changed, 35 insertions, 15 deletions
diff --git a/lib/replace/wscript b/lib/replace/wscript
index 57b0a45faee..2c638b77212 100644
--- a/lib/replace/wscript
+++ b/lib/replace/wscript
@@ -70,7 +70,7 @@ def configure(conf):
conf.SET_TARGET_TYPE('tirpc', 'EMPTY')
conf.CHECK_HEADERS('rpc/rpc.h rpc/nettype.h')
if not conf.CONFIG_SET('HAVE_RPC_RPC_H'):
- if conf.CHECK_CFG(package='libtirpc', args='--cflags',
+ if conf.CHECK_CFG(package='libtirpc', args='--cflags --libs',
msg='Checking for libtirpc headers',
uselib_store='TIRPC'):
conf.CHECK_HEADERS('rpc/rpc.h rpc/nettype.h', lib='tirpc', together=True)
diff --git a/source3/lib/sysquotas_nfs.c b/source3/lib/sysquotas_nfs.c
index fe46d3fa36a..dd2b12d0ffd 100644
--- a/source3/lib/sysquotas_nfs.c
+++ b/source3/lib/sysquotas_nfs.c
@@ -36,13 +36,22 @@
* This is based on the FreeBSD / SUNOS5 section of quotas.c
*/
+/* <rpc/xdr.h> uses TRUE and FALSE */
+#ifdef TRUE
+#undef TRUE
+#endif
+
+#ifdef FALSE
+#undef FALSE
+#endif
+
#include <rpc/rpc.h>
#include <rpc/types.h>
+#include <rpc/xdr.h>
#include <rpcsvc/rquota.h>
#ifdef HAVE_RPC_NETTYPE_H
#include <rpc/nettype.h>
#endif
-#include <rpc/xdr.h>
#ifndef RQ_PATHLEN
#define RQ_PATHLEN 1024
diff --git a/source3/modules/nfs4acl_xattr_xdr.c b/source3/modules/nfs4acl_xattr_xdr.c
index 524e69c0e1f..399c104faa4 100644
--- a/source3/modules/nfs4acl_xattr_xdr.c
+++ b/source3/modules/nfs4acl_xattr_xdr.c
@@ -27,6 +27,15 @@
#define DBGC_CLASS DBGC_VFS
#ifdef HAVE_RPC_XDR_H
+/* <rpc/xdr.h> uses TRUE and FALSE */
+#ifdef TRUE
+#undef TRUE
+#endif
+
+#ifdef FALSE
+#undef FALSE
+#endif
+
#include <rpc/xdr.h>
#include "nfs41acl.h"
#include "nfs4acl_xattr_xdr.h"
diff --git a/source3/wscript b/source3/wscript
index 173b097ced6..3f23e218edd 100644
--- a/source3/wscript
+++ b/source3/wscript
@@ -1446,10 +1446,22 @@ main() {
conf.CHECK_STRUCTURE_MEMBER('struct dqblk', 'dqb_curbytes', define='HAVE_STRUCT_DQBLK_DQB_CURBYTES',
headers='sys/quota.h')
if conf.CHECK_HEADERS('rpcsvc/rquota.h', lib='tirpc'):
- conf.DEFINE('HAVE_NFS_QUOTAS', '1')
+ # Optional structure member
conf.CHECK_STRUCTURE_MEMBER('struct getquota_rslt', 'getquota_rslt_u',
define='HAVE_GETQUOTA_RSLT_GETQUOTA_RSLT_U',
- headers='rpcsvc/rquota.h')
+ headers='rpcsvc/rquota.h',
+ lib='tirpc')
+
+ # Required fucntion for NFS quote support
+ conf.CHECK_CODE('''
+ clnt_create("", RQUOTAPROG, RQUOTAVERS, "udp");
+ ''',
+ headers="rpc/rpc.h rpc/types.h rpcsvc/rquota.h rpc/nettype.h rpc/xdr.h",
+ define='HAVE_NFS_QUOTAS',
+ msg='checking for clnt_create()',
+ execute=True,
+ local_include=False,
+ lib='tirpc')
if (host_os.rfind('linux') > -1):
conf.DEFINE('HAVE_QUOTACTL_LINUX', '1')
@@ -1476,16 +1488,6 @@ main() {
execute=True,
addmain=False)
- conf.CHECK_CODE('''
- clnt_create("", RQUOTAPROG, RQUOTAVERS, "udp");
-''',
- headers="rpc/rpc.h rpc/types.h rpcsvc/rquota.h rpc/nettype.h rpc/xdr.h",
- define='HAVE_NFS_QUOTAS',
- msg='for NFS QUOTAS',
- execute=True,
- local_include=False,
- lib='tirpc')
-
if conf.CONFIG_SET('HAVE_QUOTACTL_LINUX') or \
conf.CONFIG_SET('HAVE_QUOTACTL_4A') or \
conf.CONFIG_SET('HAVE_QUOTACTL_4B') or \
diff --git a/source3/wscript_build b/source3/wscript_build
index d4bc3cb1700..76c5d6e203b 100644
--- a/source3/wscript_build
+++ b/source3/wscript_build
@@ -594,7 +594,7 @@ bld.SAMBA3_SUBSYSTEM('sysquotas',
lib/sysquotas_nfs.c
''',
allow_warnings=True,
- deps='samba3-util samba-util')
+ deps='samba3-util samba-util tirpc')
NOTIFY_SOURCES=''
NOTIFY_DEPS=''