diff options
author | Thomas Petazzoni <thomas.petazzoni@free-electrons.com> | 2012-11-10 11:42:44 +0000 |
---|---|---|
committer | Peter Korsgaard <jacmet@sunsite.dk> | 2012-11-14 23:00:23 +0100 |
commit | 96bdfdf08a88e190c8e36ec4112a09f5f7c07e89 (patch) | |
tree | a2916655b19e651b350164cce20ad925efa81df2 | |
parent | aca0d2a1af44acb610d4f23ceafda482590a3011 (diff) | |
download | buildroot-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>
-rw-r--r-- | package/quota/quota-tools-getrpcbynumber.patch | 42 | ||||
-rw-r--r-- | package/quota/quota.mk | 4 |
2 files changed, 46 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, diff --git a/package/quota/quota.mk b/package/quota/quota.mk index 701905964..899dfddf8 100644 --- a/package/quota/quota.mk +++ b/package/quota/quota.mk @@ -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 = \ |