mirror of
https://git.busybox.net/buildroot.git
synced 2024-11-23 21:43:30 +08:00
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>
This commit is contained in:
parent
aca0d2a1af
commit
96bdfdf08a
42
package/quota/quota-tools-getrpcbynumber.patch
Normal file
42
package/quota/quota-tools-getrpcbynumber.patch
Normal file
@ -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,
|
@ -8,6 +8,8 @@ QUOTA_VERSION = 4.00
|
||||
QUOTA_SOURCE = quota-$(QUOTA_VERSION).tar.gz
|
||||
QUOTA_SITE = http://downloads.sourceforge.net/project/linuxquota/quota-tools/$(QUOTA_VERSION)
|
||||
|
||||
QUOTA_AUTORECONF = YES
|
||||
|
||||
QUOTA_CFLAGS = $(TARGET_CFLAGS)
|
||||
QUOTA_LDFLAGS = $(TARGET_LDFLAGS)
|
||||
|
||||
@ -23,6 +25,8 @@ QUOTA_LDFLAGS += -ltirpc
|
||||
endif
|
||||
|
||||
QUOTA_MAKE_OPT = $(TARGET_CONFIGURE_OPTS) CFLAGS="$(QUOTA_CFLAGS) -D_GNU_SOURCE" LDFLAGS="$(QUOTA_LDFLAGS)"
|
||||
QUOTA_CONF_ENV = \
|
||||
CFLAGS="$(QUOTA_CFLAGS) -D_GNU_SOURCE" LDFLAGS="$(QUOTA_LDFLAGS)"
|
||||
|
||||
# Package uses autoconf but not automake.
|
||||
QUOTA_INSTALL_TARGET_OPT = \
|
||||
|
Loading…
Reference in New Issue
Block a user