aboutsummaryrefslogtreecommitdiffstats
path: root/package/quota/quota-tools-getrpcbynumber.patch
diff options
context:
space:
mode:
authorThomas Petazzoni <thomas.petazzoni@free-electrons.com>2012-11-10 11:42:44 +0000
committerPeter Korsgaard <jacmet@sunsite.dk>2012-11-14 23:00:23 +0100
commit96bdfdf08a88e190c8e36ec4112a09f5f7c07e89 (patch)
treea2916655b19e651b350164cce20ad925efa81df2 /package/quota/quota-tools-getrpcbynumber.patch
parentaca0d2a1af44acb610d4f23ceafda482590a3011 (diff)
downloadbuildroot-novena-96bdfdf08a88e190c8e36ec4112a09f5f7c07e89.tar.gz
buildroot-novena-96bdfdf08a88e190c8e36ec4112a09f5f7c07e89.zip
quota: allow usage of getrpcbynumber() instead of getrpcbynumber_r()
libtirpc does not implement the reentrant function getrpcbynumber_r(), so allow quota to use the non-reentrant version getrpcbynumber(). This should not be a problem as quota tools are not multi-threaded. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
Diffstat (limited to 'package/quota/quota-tools-getrpcbynumber.patch')
-rw-r--r--package/quota/quota-tools-getrpcbynumber.patch42
1 files changed, 42 insertions, 0 deletions
diff --git a/package/quota/quota-tools-getrpcbynumber.patch b/package/quota/quota-tools-getrpcbynumber.patch
new file mode 100644
index 000000000..3fed853c0
--- /dev/null
+++ b/package/quota/quota-tools-getrpcbynumber.patch
@@ -0,0 +1,42 @@
+allow usage of getrpcbynumber() instead of getrpcbynumber_r()
+
+libtirpc does not implement the reentrant function getrpcbynumber_r(),
+so allow quota to use the non-reentrant version getrpcbynumber(). This
+should not be a problem as quota tools are not multi-threaded.
+
+Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
+
+Index: b/configure.in
+===================================================================
+--- a/configure.in
++++ b/configure.in
+@@ -182,6 +182,12 @@
+ AC_C_CONST
+ AC_C_INLINE
+
++AC_CHECK_FUNCS([getrpcbynumber getrpcbynumber_r])
++
++if test "$ac_cv_func_getrpcbynumber_r" != "yes" -a "$ac_cv_func_getrpcbynumber" != "yes"; then
++ AC_MSG_ERROR([Neither getrpcbynumber_r nor getrpcbynumber are available])
++fi
++
+ AC_ARG_ENABLE(altformat,
+ [ --enable-altformat=[yes/no] Enable alternative format used by edquota [default=yes].],
+ ,
+Index: b/svc_socket.c
+===================================================================
+--- a/svc_socket.c
++++ b/svc_socket.c
+@@ -55,7 +55,12 @@
+ addr.sin_family = AF_INET;
+
+ if (!port) {
++#if HAVE_GETRPCBYNUMBER_R
+ ret = getrpcbynumber_r(number, &rpcbuf, rpcdata, sizeof(rpcdata), &rpcp);
++#else
++ rpcp = getrpcbynumber(number);
++ ret = 0;
++#endif
+ if (ret == 0 && rpcp != NULL) {
+ /* First try name */
+ ret = getservbyname_r(rpcp->r_name, proto, &servbuf, servdata,