Buildroot Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [pull request] Pull request for branch for-2012.11/rpc-support
@ 2012-11-03 17:47 Thomas Petazzoni
  2012-11-03 17:47 ` [Buildroot] [PATCH 01/18] uClibc: use the Buildroot toolchain options instead of the hidden common options Thomas Petazzoni
                   ` (17 more replies)
  0 siblings, 18 replies; 40+ messages in thread
From: Thomas Petazzoni @ 2012-11-03 17:47 UTC (permalink / raw)
  To: buildroot

Hello,

This set of patches reworks the RPC support to take into account newer
glibc versions that do not provide RPC support.

Compared to the previous posting (August, 11th), the changes are
mainly:

 * libtirpc is now automatically selected (like any other library) by
   packages needing RPC support and no RPC support is available from
   the toolchain

 * if there is RPC support in the toolchain but libtirpc is available,
   then libtirpc will be used (i.e we're passing the compiler and
   linker flags needed for the packages to find libtirpc)

 * removal of the patch adding the ARM CodeSourcery toolchain, since
   this toolchain in fact had RPC support, and it was merged
   separately.

 * removal of the patches converting netkitbase and netkittelnet to
   the package infrastructure, since those were merged separately
   thanks to the work of Samuel Martin.

 * some other minor fixes done after comments of the first review
   (typos in help text, issue with some toolchains was fixed, etc.)

Note that patches 1, 2, 3, 4, 17, 18 can be comitted separately from
the other patches.

In order to help in the review, here is a step by step description of
what is being done:

 * Patch 1 changes uclibc.mk to use the BR2_TOOLCHAIN_BUILDROOT_*
   options instead of directly BR2_LARGEFILE/BR2_INET_IPV6, etc. This
   is not strictly needed, but since BR2_INET_RPC is going to be
   renamed in later patches, it helps to use BR2_TOOLCHAIN_BUILDROOT_*
   everywhere. It is also more logical since the
   BR2_TOOLCHAIN_BUILDROOT_* options are defined by the internal
   Buildroot toolchain backend, so it makes sense to use those options
   in uclibc.mk which is part of this toolchain backend.

 * Patch 2 simplifies the Busybox recipe to do mess up with
   FEATURE_NFS_MOUNT automatically. Instead, we leave the default of
   our configuration files (FEATURE_NFS_MOUNT is disabled), and if the
   user wants it, (s)he'll enable it. This will simplify how to handle
   Busybox with regard to libtirpc.

 * Patch 3 does the same thing as patch 1, but for the Crosstool-NG
   backend.

 * Patch 4 makes a naive rename BR2_INET_RPC to
   BR2_TOOLCHAIN_HAS_NATIVE_RPC. This name better describes what it
   means: whether the toolchain has or does not have RPC support (the
   RPC support will later have the capability of being provided by
   libtirpc, outside of the toolchain).

 * Patch 5 enhance the external toolchain logic around the RPC
   support. Basically, the BR2_TOOLCHAIN_EXTERNAL_GLIBC option no
   longer unconditionally selects BR2_TOOLCHAIN_HAS_NATIVE_RPC since
   there are glibc toolchains that don't have RPC support. All the
   predefined toolchain profiles are updated to take into account this
   change: for the moment, all glibc toolchains that have pre-defined
   toolchains have RPC support, but further patches in the series add
   pre-defined glibc toolchains that don't have RPC support. In the
   case of custom glibc toolchains, a question is asked to the user so
   that he can say whether the external glibc toolchain has RPC
   support or not. The validity of this configuration option is
   checked by the new check_glibc_rpc_feature function in helpers.mk.

 * Patch 6 adds a package for libtirpc, with a bunch of patches to
   make its compilation work properly on top of uClibc.

   What is worth noting is that the libtirpc package is only available
   if the toolchain does not have RPC support. We for now assume that
   the user will want to use the internal RPC support of the toolchain
   if available rather than libtirpc. Note that this choice may be
   changed in the future, as the RPC support in libtirpc may have more
   features than the one provided by the toolchain.

   The other thing that this package Config.in file provides is the
   BR2_RPC_SUPPORT_AVAILABLE option, which tells whether the toolchain
   has RPC support *OR* libtirpc is enabled. Packages needing RPC
   support can therefore "depends on" this.

 * Patch 7 adjust the Busybox build process to use libtirpc if
   available. We do not 'select' libtirpc if the RPC support is not
   available in the toolchain, as we don't want a simple program such
   as Busybox to carry dependencies without the user noticing. Since
   we're not enabling FEATURE_NFS_MOUNT automatically (as per patch
   2), this libtirpc will only be used is (1) libtirpc is selected and
   (2) the user has manually enabled FEATURE_NFS_MOUNT.

 * Patch 8 makes it possible to link lmbench against libtirpc. Nothing
   special to mention here.

 * Patch 9 makes it possible to link nfs-utils against libtirpc. The
   only thing worth mentionning is that I removed the select on
   BR2_PACKAGE_PORTMAP. This select was not a build-time dependency,
   but a run-time dependency, and nowadays, nfs-utils can work
   together with rpcbind rather than portmap (which is deprecated).

 * Patch 10 adds a package for rpcbind, the modern replacement for
   portmap. This package directly selects libtirpc. Question: how
   should it behave with toolchains having internal RPC support?

 * Patch 11 adds a small comment in portmap saying that rpcbind is the
   newer replacement. Portmap doesn't link properly against libtirpc,
   and it probably isn't worth fixing it. Question: should I mark
   portmap as deprecated?

 * Patch 12 makes it possible to link quota against libtirpc. Nothing
   special to mention here.

 * Patch 13 changes how the --with-sys-quotas option is handled by
   Samba. This option does not depend on RPC support in the toolchain
   apparently.

 * Patch 14 makes it possible to link xinetd against libtirpc. Nothing
   special to mention here.

 * Patches 15-16 add the latest Sourcery CodeBench toolchain for x86
   and SH4. Those glibc toolchains use glibc 2.15 and therefore do not
   have RPC support.

 * Patches 17-18 makes netkitbase and netkittelnet packages
   deprecated.

Thanks!

Thomas

The following changes since commit 5a61fbd82394f9bc9317535b717a2e1dd51dea7d:

  fs/skeleton: remove /etc/TZ (2012-10-24 09:16:50 +0200)

are available in the git repository at:

  git://git.free-electrons.com/users/thomas-petazzoni/buildroot.git for-2012.11/rpc-support

for you to fetch changes up to 0003a7e4a071871640d8d842c6838611bf210ae5:

  netkittelnet: mark as deprecated (2012-11-03 18:45:57 +0100)

----------------------------------------------------------------
Thomas Petazzoni (18):
      uClibc: use the Buildroot toolchain options instead of the hidden common options
      busybox: don't force FEATURE_NFS_MOUNT
      toolchain-crosstool-ng: use the Crosstool-ng config options instead of the common hidden ones
      Rename BR2_INET_RPC to BR2_TOOLCHAIN_HAS_NATIVE_RPC
      toolchain-external: improve glibc support to test availability of RPC
      libtirpc: new package
      busybox: add support to link against libtirpc when available
      lmbench: add support to use libtirpc when available
      nfs-utils: add support to use RPC support from libtirpc
      rpcbind: new package
      portmap: mention that rpcbind is the project that superseds portmap
      quota: add support to use RPC support from libtirpc
      samba: unconditionally enable --with-sys-quotas
      xinetd: add support to use RPC support from libtirpc
      toolchain-external: add Sourcery CodeBench SuperH 2012.03
      toolchain-external: add Sourcery CodeBench x86 2012.03
      netkitbase: mark as deprecated
      netkittelnet: mark as deprecated

 package/Config.in                                  |    2 +
 package/busybox/busybox.mk                         |   30 ++++---
 package/libtirpc/Config.in                         |    7 ++
 ...able-parts-of-TIRPC-requiring-NIS-support.patch |   70 +++++++++++++++
 ...out-RPC-support-does-not-install-rpcent.h.patch |   26 ++++++
 ...btirpc-0003-Add-missing-INET6-conditional.patch |   60 +++++++++++++
 .../libtirpc-0004-Make-IPv6-support-optional.patch |   43 +++++++++
 package/libtirpc/libtirpc.mk                       |   17 ++++
 package/lmbench/Config.in                          |    6 +-
 package/lmbench/lmbench.mk                         |   11 ++-
 package/netkitbase/Config.in                       |    5 +-
 package/netkittelnet/Config.in                     |    5 +-
 package/nfs-utils/Config.in                        |    7 +-
 package/nfs-utils/nfs-utils.mk                     |    8 +-
 package/portmap/Config.in                          |    6 +-
 package/quota/Config.in                            |    6 +-
 package/quota/quota.mk                             |   13 ++-
 package/rpcbind/Config.in                          |    8 ++
 package/rpcbind/rpcbind-01-no-yp-support.patch     |   46 ++++++++++
 package/rpcbind/rpcbind.mk                         |   17 ++++
 package/samba/samba.mk                             |    2 +-
 package/xinetd/xinetd.mk                           |   19 +++-
 toolchain/helpers.mk                               |   29 ++++--
 toolchain/toolchain-buildroot/Config.in.2          |    2 +-
 toolchain/toolchain-common.in                      |    2 +-
 toolchain/toolchain-crosstool-ng/Config.in         |   10 ++-
 toolchain/toolchain-crosstool-ng/crosstool-ng.mk   |   10 +--
 toolchain/toolchain-external/Config.in             |   93 +++++++++++++++++---
 toolchain/toolchain-external/ext-tool.mk           |   14 ++-
 toolchain/uClibc/uclibc.mk                         |   10 +--
 30 files changed, 507 insertions(+), 77 deletions(-)
 create mode 100644 package/libtirpc/Config.in
 create mode 100644 package/libtirpc/libtirpc-0001-Disable-parts-of-TIRPC-requiring-NIS-support.patch
 create mode 100644 package/libtirpc/libtirpc-0002-uClibc-without-RPC-support-does-not-install-rpcent.h.patch
 create mode 100644 package/libtirpc/libtirpc-0003-Add-missing-INET6-conditional.patch
 create mode 100644 package/libtirpc/libtirpc-0004-Make-IPv6-support-optional.patch
 create mode 100644 package/libtirpc/libtirpc.mk
 create mode 100644 package/rpcbind/Config.in
 create mode 100644 package/rpcbind/rpcbind-01-no-yp-support.patch
 create mode 100644 package/rpcbind/rpcbind.mk

Thanks,
-- 
Thomas Petazzoni

^ permalink raw reply	[flat|nested] 40+ messages in thread

* [Buildroot] [PATCH 01/18] uClibc: use the Buildroot toolchain options instead of the hidden common options
  2012-11-03 17:47 [Buildroot] [pull request] Pull request for branch for-2012.11/rpc-support Thomas Petazzoni
@ 2012-11-03 17:47 ` Thomas Petazzoni
  2012-11-03 23:32   ` Arnout Vandecappelle
  2012-11-04  0:11   ` Peter Korsgaard
  2012-11-03 17:47 ` [Buildroot] [PATCH 02/18] busybox: don't force FEATURE_NFS_MOUNT Thomas Petazzoni
                   ` (16 subsequent siblings)
  17 siblings, 2 replies; 40+ messages in thread
From: Thomas Petazzoni @ 2012-11-03 17:47 UTC (permalink / raw)
  To: buildroot

Since we are some day going to finally rename the badly named common
toolchain options (BR2_USE_WCHAR, BR2_ENABLE_LOCALE, BR2_INET_RPC,
etc.) into something more logical, let's start using the Buildroot
toolchain options in the uClibc code.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
---
 toolchain/uClibc/uclibc.mk |   10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/toolchain/uClibc/uclibc.mk b/toolchain/uClibc/uclibc.mk
index d1cd718..14430d7 100644
--- a/toolchain/uClibc/uclibc.mk
+++ b/toolchain/uClibc/uclibc.mk
@@ -230,19 +230,19 @@ ifneq ($(UCLIBC_TARGET_ENDIAN),)
 		-e 's/.*\(ARCH_WANTS_$(UCLIBC_TARGET_ENDIAN)_ENDIAN\).*/\1=y/g' \
 		$(UCLIBC_DIR)/.oldconfig
 endif
-ifeq ($(BR2_LARGEFILE),y)
+ifeq ($(BR2_TOOLCHAIN_BUILDROOT_LARGEFILE),y)
 	$(SED) 's,.*UCLIBC_HAS_LFS.*,UCLIBC_HAS_LFS=y,g' $(UCLIBC_DIR)/.oldconfig
 else
 	$(SED) 's,.*UCLIBC_HAS_LFS.*,UCLIBC_HAS_LFS=n,g' $(UCLIBC_DIR)/.oldconfig
 	$(SED) '/.*UCLIBC_HAS_FOPEN_LARGEFILE_MODE.*/d' $(UCLIBC_DIR)/.oldconfig
 	echo "# UCLIBC_HAS_FOPEN_LARGEFILE_MODE is not set" >> $(UCLIBC_DIR)/.oldconfig
 endif
-ifeq ($(BR2_INET_IPV6),y)
+ifeq ($(BR2_TOOLCHAIN_BUILDROOT_INET_IPV6),y)
 	$(SED) 's,^.*UCLIBC_HAS_IPV6.*,UCLIBC_HAS_IPV6=y,g' $(UCLIBC_DIR)/.oldconfig
 else
 	$(SED) 's,^.*UCLIBC_HAS_IPV6.*,UCLIBC_HAS_IPV6=n,g' $(UCLIBC_DIR)/.oldconfig
 endif
-ifeq ($(BR2_INET_RPC),y)
+ifeq ($(BR2_TOOLCHAIN_BUILDROOT_INET_RPC),y)
 	$(SED) 's,^.*UCLIBC_HAS_RPC.*,UCLIBC_HAS_RPC=y,g' \
 		-e 's,^.*UCLIBC_HAS_FULL_RPC.*,UCLIBC_HAS_FULL_RPC=y,g' \
 		-e 's,^.*UCLIBC_HAS_REENTRANT_RPC.*,UCLIBC_HAS_REENTRANT_RPC=y,g' \
@@ -302,12 +302,12 @@ ifeq ($(BR2_PTHREAD_DEBUG),y)
 else
 	echo "# PTHREADS_DEBUG_SUPPORT is not set" >> $(UCLIBC_DIR)/.oldconfig
 endif
-ifeq ($(BR2_ENABLE_LOCALE),y)
+ifeq ($(BR2_TOOLCHAIN_BUILDROOT_LOCALE),y)
 	$(SED) 's,^.*UCLIBC_HAS_LOCALE.*,UCLIBC_HAS_LOCALE=y\n# UCLIBC_BUILD_ALL_LOCALE is not set\nUCLIBC_BUILD_MINIMAL_LOCALE=y\nUCLIBC_BUILD_MINIMAL_LOCALES="$(UCLIBC_LOCALES)"\nUCLIBC_PREGENERATED_LOCALE_DATA=n\nUCLIBC_DOWNLOAD_PREGENERATED_LOCALE_DATA=n\nUCLIBC_HAS_XLOCALE=y\nUCLIBC_HAS_GLIBC_DIGIT_GROUPING=n\n,g' $(UCLIBC_DIR)/.oldconfig
 else
 	$(SED) 's,^.*UCLIBC_HAS_LOCALE.*,UCLIBC_HAS_LOCALE=n,g' $(UCLIBC_DIR)/.oldconfig
 endif
-ifeq ($(BR2_USE_WCHAR),y)
+ifeq ($(BR2_TOOLCHAIN_BUILDROOT_WCHAR),y)
 	$(SED) 's,^.*UCLIBC_HAS_WCHAR.*,UCLIBC_HAS_WCHAR=y,g' $(UCLIBC_DIR)/.oldconfig
 else
 	$(SED) 's,^.*UCLIBC_HAS_WCHAR.*,UCLIBC_HAS_WCHAR=n,g' $(UCLIBC_DIR)/.oldconfig
-- 
1.7.9.5

^ permalink raw reply related	[flat|nested] 40+ messages in thread

* [Buildroot] [PATCH 02/18] busybox: don't force FEATURE_NFS_MOUNT
  2012-11-03 17:47 [Buildroot] [pull request] Pull request for branch for-2012.11/rpc-support Thomas Petazzoni
  2012-11-03 17:47 ` [Buildroot] [PATCH 01/18] uClibc: use the Buildroot toolchain options instead of the hidden common options Thomas Petazzoni
@ 2012-11-03 17:47 ` Thomas Petazzoni
  2012-11-03 23:35   ` Arnout Vandecappelle
  2012-11-04  0:12   ` Peter Korsgaard
  2012-11-03 17:47 ` [Buildroot] [PATCH 03/18] toolchain-crosstool-ng: use the Crosstool-ng config options instead of the common hidden ones Thomas Petazzoni
                   ` (15 subsequent siblings)
  17 siblings, 2 replies; 40+ messages in thread
From: Thomas Petazzoni @ 2012-11-03 17:47 UTC (permalink / raw)
  To: buildroot

Instead of making the Busybox configuration more complicated by trying
to adjust it depending on whether RPC is available or not (which gets
complicated when RPC support can be provided by libtirpc), simplify
things by letting the user enable FEATURE_NFS_MOUNT or not depending
on whether RPC support is available or not.

Our default configuration do not enable FEATURE_NFS_MOUNT, so users
will not face any build problems by default. Only if they explicitly
enable FEATURE_NFS_MOUNT will they have to make sure that the
toolchain has RPC support, or that libtirpc is enabled (support for
this added in a followup patch).

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
---
 package/busybox/busybox.mk |   11 -----------
 1 file changed, 11 deletions(-)

diff --git a/package/busybox/busybox.mk b/package/busybox/busybox.mk
index 33f8633..306b46f 100644
--- a/package/busybox/busybox.mk
+++ b/package/busybox/busybox.mk
@@ -81,17 +81,6 @@ define BUSYBOX_SET_IPV6
 endef
 endif
 
-# If RPC is enabled then enable nfs mounts
-ifeq ($(BR2_INET_RPC),y)
-define BUSYBOX_SET_RPC
-	$(call KCONFIG_ENABLE_OPT,CONFIG_FEATURE_MOUNT_NFS,$(BUSYBOX_BUILD_CONFIG))
-endef
-else
-define BUSYBOX_SET_RPC
-	$(call KCONFIG_DISABLE_OPT,CONFIG_FEATURE_MOUNT_NFS,$(BUSYBOX_BUILD_CONFIG))
-endef
-endif
-
 # If we're using static libs do the same for busybox
 ifeq ($(BR2_PREFER_STATIC_LIB),y)
 define BUSYBOX_PREFER_STATIC
-- 
1.7.9.5

^ permalink raw reply related	[flat|nested] 40+ messages in thread

* [Buildroot] [PATCH 03/18] toolchain-crosstool-ng: use the Crosstool-ng config options instead of the common hidden ones
  2012-11-03 17:47 [Buildroot] [pull request] Pull request for branch for-2012.11/rpc-support Thomas Petazzoni
  2012-11-03 17:47 ` [Buildroot] [PATCH 01/18] uClibc: use the Buildroot toolchain options instead of the hidden common options Thomas Petazzoni
  2012-11-03 17:47 ` [Buildroot] [PATCH 02/18] busybox: don't force FEATURE_NFS_MOUNT Thomas Petazzoni
@ 2012-11-03 17:47 ` Thomas Petazzoni
  2012-11-03 23:39   ` Arnout Vandecappelle
  2012-11-04  0:13   ` Peter Korsgaard
  2012-11-03 17:47 ` [Buildroot] [PATCH 04/18] Rename BR2_INET_RPC to BR2_TOOLCHAIN_HAS_NATIVE_RPC Thomas Petazzoni
                   ` (14 subsequent siblings)
  17 siblings, 2 replies; 40+ messages in thread
From: Thomas Petazzoni @ 2012-11-03 17:47 UTC (permalink / raw)
  To: buildroot

Since we are some day going to finally rename the badly named common
toolchain options (BR2_USE_WCHAR, BR2_ENABLE_LOCALE, BR2_INET_RPC,
etc.) into something more logical, let's start using the Crosstool-NG
toolchain options in the Crosstool-NG code.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Reviewed-by: Yann E. MORIN <yann.morin.1998@free.fr>
---
 toolchain/toolchain-crosstool-ng/crosstool-ng.mk |   10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/toolchain/toolchain-crosstool-ng/crosstool-ng.mk b/toolchain/toolchain-crosstool-ng/crosstool-ng.mk
index e46bb20..5f9119d 100644
--- a/toolchain/toolchain-crosstool-ng/crosstool-ng.mk
+++ b/toolchain/toolchain-crosstool-ng/crosstool-ng.mk
@@ -268,7 +268,7 @@ CTNG_FIX_DOT_CONFIG_PATHS_SED += s:^(CT_SYSROOT_DIR_PREFIX)=.*:\1="":;
 ifeq ($(BR2_TOOLCHAIN_CTNG_uClibc),y)
 
 # Handle the locales option
-ifneq ($(call qstrip,$(BR2_ENABLE_LOCALE)),)
+ifneq ($(call qstrip,$(BR2_TOOLCHAIN_CTNG_uClibc_LOCALE)),)
 CTNG_FIX_DOT_CONFIG_SED += s:^\# (CT_LIBC_UCLIBC_LOCALES) is not set:\1=y\n\# CT_LIBC_UCLIBC_LOCALES_PREGEN_DATA is not set:;
 CTNG_FIX_DOT_CONFIG_SED += s:^(CT_LIBC_UCLIBC_LOCALES_PREGEN_DATA)=.*:\# \1 is not set:;
 else
@@ -276,28 +276,28 @@ CTNG_FIX_DOT_CONFIG_SED += s:^(CT_LIBC_UCLIBC_LOCALES)=.*:\# \1 is not set:;
 endif
 
 # Handle the wide-char option
-ifneq ($(call qstrip,$(BR2_USE_WCHAR)),)
+ifneq ($(call qstrip,$(BR2_TOOLCHAIN_CTNG_uClibc_WCHAR)),)
 CTNG_FIX_DOT_CONFIG_SED += s:^\# (CT_LIBC_UCLIBC_WCHAR) is not set:\1=y:;
 else
 CTNG_FIX_DOT_CONFIG_SED += s:^(CT_LIBC_UCLIBC_WCHAR)=.*:\# \1 is not set:;
 endif
 
 # Handle the LFS option
-ifneq ($(call qstrip,$(BR2_LARGEFILE)),)
+ifneq ($(call qstrip,$(BR2_TOOLCHAIN_CTNG_uClibc_LARGEFILE)),)
 CTNG_FIX_DOT_CONFIG_LIBC_SED += s:^\# (UCLIBC_HAS_LFS) is not set:\1=y:;
 else
 CTNG_FIX_DOT_CONFIG_LIBC_SED += s:^(UCLIBC_HAS_LFS)=.*:\# \1 is not set:;
 endif
 
 # Handle the IPv6 option
-ifneq ($(call qstrip,$(BR2_INET_IPV6)),)
+ifneq ($(call qstrip,$(BR2_TOOLCHAIN_CTNG_uClibc_INET_IPV6)),)
 CTNG_FIX_DOT_CONFIG_LIBC_SED += s:^\# (UCLIBC_HAS_IPV6) is not set:\1=y:;
 else
 CTNG_FIX_DOT_CONFIG_LIBC_SED += s:^(UCLIBC_HAS_IPV6)=.*:\# \1 is not set:;
 endif
 
 # Handle the RPC option
-ifneq ($(call qstrip,$(BR2_INET_RPC)),)
+ifneq ($(call qstrip,$(BR2_TOOLCHAIN_CTNG_uClibc_INET_RPC)),)
 CTNG_FIX_DOT_CONFIG_LIBC_SED += s:^\# (UCLIBC_HAS_RPC) is not set:\1=y\nUCLIBC_HAS_FULL_RPC=y\nUCLIBC_HAS_REENTRANT_RPC=y:;
 CTNG_FIX_DOT_CONFIG_LIBC_SED += s:^\# (UCLIBC_HAS_FULL_RPC) is not set:\1=y:;
 CTNG_FIX_DOT_CONFIG_LIBC_SED += s:^\# (UCLIBC_HAS_REENTRANT_RPC) is not set:\1=y:;
-- 
1.7.9.5

^ permalink raw reply related	[flat|nested] 40+ messages in thread

* [Buildroot] [PATCH 04/18] Rename BR2_INET_RPC to BR2_TOOLCHAIN_HAS_NATIVE_RPC
  2012-11-03 17:47 [Buildroot] [pull request] Pull request for branch for-2012.11/rpc-support Thomas Petazzoni
                   ` (2 preceding siblings ...)
  2012-11-03 17:47 ` [Buildroot] [PATCH 03/18] toolchain-crosstool-ng: use the Crosstool-ng config options instead of the common hidden ones Thomas Petazzoni
@ 2012-11-03 17:47 ` Thomas Petazzoni
  2012-11-03 23:42   ` Arnout Vandecappelle
  2012-11-04  0:15   ` Peter Korsgaard
  2012-11-03 17:47 ` [Buildroot] [PATCH 05/18] toolchain-external: improve glibc support to test availability of RPC Thomas Petazzoni
                   ` (13 subsequent siblings)
  17 siblings, 2 replies; 40+ messages in thread
From: Thomas Petazzoni @ 2012-11-03 17:47 UTC (permalink / raw)
  To: buildroot

The BR2_INET_RPC has for a long time been a not very descriptive
configuration option name, and with the advent of non-RPC glibc
toolchains and the apparition of libtirpc, we really need to rename it
to something more sensible, BR2_TOOLCHAIN_HAS_NATIVE_RPC.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
---
 package/lmbench/Config.in                  |    4 ++--
 package/netkitbase/Config.in               |    4 ++--
 package/netkittelnet/Config.in             |    4 ++--
 package/nfs-utils/Config.in                |    4 ++--
 package/portmap/Config.in                  |    4 ++--
 package/quota/Config.in                    |    4 ++--
 package/samba/samba.mk                     |    2 +-
 package/xinetd/xinetd.mk                   |    2 +-
 toolchain/helpers.mk                       |    4 ++--
 toolchain/toolchain-buildroot/Config.in.2  |    2 +-
 toolchain/toolchain-common.in              |    2 +-
 toolchain/toolchain-crosstool-ng/Config.in |   10 +++++++---
 toolchain/toolchain-external/Config.in     |   14 +++++++-------
 toolchain/toolchain-external/ext-tool.mk   |    8 ++++----
 14 files changed, 36 insertions(+), 32 deletions(-)

diff --git a/package/lmbench/Config.in b/package/lmbench/Config.in
index c8423d1..70449b6 100644
--- a/package/lmbench/Config.in
+++ b/package/lmbench/Config.in
@@ -1,7 +1,7 @@
 config BR2_PACKAGE_LMBENCH
 	bool "lmbench"
 	# Uses pmap_set, pmap__unset, pmap_getport, etc.
-	depends on BR2_INET_RPC
+	depends on BR2_TOOLCHAIN_HAS_NATIVE_RPC
 	help
 	  LMbench is a suite of simple, portable,
 	  ANSI/C microbenchmarks for UNIX/POSIX.
@@ -9,4 +9,4 @@ config BR2_PACKAGE_LMBENCH
 	  http://sourceforge.net/projects/lmbench/
 
 comment "lmbench requires a toolchain with RPC support"
-	depends on !BR2_INET_RPC
+	depends on !BR2_TOOLCHAIN_HAS_NATIVE_RPC
diff --git a/package/netkitbase/Config.in b/package/netkitbase/Config.in
index 725e500..75bd728 100644
--- a/package/netkitbase/Config.in
+++ b/package/netkitbase/Config.in
@@ -1,10 +1,10 @@
 config BR2_PACKAGE_NETKITBASE
 	bool "netkitbase"
-	depends on BR2_INET_RPC
+	depends on BR2_TOOLCHAIN_HAS_NATIVE_RPC
 	help
 	  Old-style inetd.
 
 	  ftp://ftp.uk.linux.org/pub/linux/Networking/netkit/
 
 comment "netkitbase requires a toolchain with RPC support"
-        depends on !BR2_INET_RPC
+        depends on !BR2_TOOLCHAIN_HAS_NATIVE_RPC
diff --git a/package/netkittelnet/Config.in b/package/netkittelnet/Config.in
index 058d210..10eb022 100644
--- a/package/netkittelnet/Config.in
+++ b/package/netkittelnet/Config.in
@@ -1,6 +1,6 @@
 config BR2_PACKAGE_NETKITTELNET
 	bool "netkittelnet"
-	depends on BR2_INET_RPC
+	depends on BR2_TOOLCHAIN_HAS_NATIVE_RPC
 	select BR2_PACKAGE_NETKITBASE
 	help
 	  Standard Linux telnet client and server.
@@ -8,4 +8,4 @@ config BR2_PACKAGE_NETKITTELNET
 	  ftp://ftp.uk.linux.org/pub/linux/Networking/netkit/
 
 comment "netkittelnet requires a toolchain with RPC support"
-	depends on !BR2_INET_RPC
+	depends on !BR2_TOOLCHAIN_HAS_NATIVE_RPC
diff --git a/package/nfs-utils/Config.in b/package/nfs-utils/Config.in
index 67d25a7..c87502f 100644
--- a/package/nfs-utils/Config.in
+++ b/package/nfs-utils/Config.in
@@ -1,6 +1,6 @@
 config BR2_PACKAGE_NFS_UTILS
 	bool "nfs-utils"
-	depends on BR2_INET_RPC
+	depends on BR2_TOOLCHAIN_HAS_NATIVE_RPC
 	depends on BR2_LARGEFILE
 	select BR2_PACKAGE_PORTMAP
 	help
@@ -11,7 +11,7 @@ config BR2_PACKAGE_NFS_UTILS
 	  http://sourceforge.net/projects/nfs
 
 comment "nfs-utils requires a toolchain with RPC and LARGEFILE support"
-	depends on !BR2_INET_RPC || !BR2_LARGEFILE
+	depends on !BR2_TOOLCHAIN_HAS_NATIVE_RPC || !BR2_LARGEFILE
 
 menu "NFS utilities selection"
 	depends on BR2_PACKAGE_NFS_UTILS
diff --git a/package/portmap/Config.in b/package/portmap/Config.in
index 5914357..f017cb6 100644
--- a/package/portmap/Config.in
+++ b/package/portmap/Config.in
@@ -1,10 +1,10 @@
 config BR2_PACKAGE_PORTMAP
 	bool "portmap"
-	depends on BR2_INET_RPC
+	depends on BR2_TOOLCHAIN_HAS_NATIVE_RPC
 	help
 	  The standard portmapper for RPC services.
 
 	  http://neil.brown.name/portmap/
 
 comment "portmap requires a toolchain with RPC support"
-	depends on !BR2_INET_RPC
+	depends on !BR2_TOOLCHAIN_HAS_NATIVE_RPC
diff --git a/package/quota/Config.in b/package/quota/Config.in
index 3ad0b8c..a26f91f 100644
--- a/package/quota/Config.in
+++ b/package/quota/Config.in
@@ -1,6 +1,6 @@
 config BR2_PACKAGE_QUOTA
 	bool "quota"
-	depends on BR2_INET_RPC
+	depends on BR2_TOOLCHAIN_HAS_NATIVE_RPC
 	depends on BR2_LARGEFILE
 	depends on BR2_USE_WCHAR
 	select BR2_PACKAGE_UTIL_LINUX
@@ -12,4 +12,4 @@ config BR2_PACKAGE_QUOTA
 	  http://sourceforge.net/projects/linuxquota/
 
 comment "quota requires a toolchain with RPC + LARGEFILE + WCHAR support"
-	depends on !(BR2_INET_RPC && BR2_LARGEFILE && BR2_USE_WCHAR)
+	depends on !(BR2_TOOLCHAIN_HAS_NATIVE_RPC && BR2_LARGEFILE && BR2_USE_WCHAR)
diff --git a/package/samba/samba.mk b/package/samba/samba.mk
index 7c06e14..7dd0a1d 100644
--- a/package/samba/samba.mk
+++ b/package/samba/samba.mk
@@ -51,7 +51,7 @@ SAMBA_CONF_OPT = \
 	\
 	--without-cluster-support \
 	--without-dnsupdate \
-	$(if $(BR2_INET_RPC),--with-sys-quotas,--without-sys-quotas) \
+	$(if $(BR2_TOOLCHAIN_HAS_NATIVE_RPC),--with-sys-quotas,--without-sys-quotas) \
 	--without-ads \
 	--without-ldap \
 	--with-included-iniparser \
diff --git a/package/xinetd/xinetd.mk b/package/xinetd/xinetd.mk
index 4fc2de9..a420425 100644
--- a/package/xinetd/xinetd.mk
+++ b/package/xinetd/xinetd.mk
@@ -9,7 +9,7 @@ XINETD_SITE          = http://www.xinetd.org
 XINETD_LICENSE       = xinetd license
 XINETD_LICENSE_FILES = COPYRIGHT
 
-ifneq ($(BR2_INET_RPC),y)
+ifneq ($(BR2_TOOLCHAIN_HAS_NATIVE_RPC),y)
 XINETD_CONF_ENV = CFLAGS="$(TARGET_CFLAGS) -DNO_RPC"
 endif
 
diff --git a/toolchain/helpers.mk b/toolchain/helpers.mk
index 497cfff..34e9c17 100644
--- a/toolchain/helpers.mk
+++ b/toolchain/helpers.mk
@@ -202,7 +202,7 @@ check_glibc = \
 	fi; \
 	$(call check_glibc_feature,BR2_LARGEFILE,Large file support) ;\
 	$(call check_glibc_feature,BR2_INET_IPV6,IPv6 support) ;\
-	$(call check_glibc_feature,BR2_INET_RPC,RPC support) ;\
+	$(call check_glibc_feature,BR2_TOOLCHAIN_HAS_NATIVE_RPC,RPC support) ;\
 	$(call check_glibc_feature,BR2_ENABLE_LOCALE,Locale support) ;\
 	$(call check_glibc_feature,BR2_USE_MMU,MMU support) ;\
 	$(call check_glibc_feature,BR2_USE_WCHAR,Wide char support)
@@ -248,7 +248,7 @@ check_uclibc = \
 	$(call check_uclibc_feature,__ARCH_USE_MMU__,BR2_USE_MMU,$${UCLIBC_CONFIG_FILE},MMU support) ;\
 	$(call check_uclibc_feature,__UCLIBC_HAS_LFS__,BR2_LARGEFILE,$${UCLIBC_CONFIG_FILE},Large file support) ;\
 	$(call check_uclibc_feature,__UCLIBC_HAS_IPV6__,BR2_INET_IPV6,$${UCLIBC_CONFIG_FILE},IPv6 support) ;\
-	$(call check_uclibc_feature,__UCLIBC_HAS_RPC__,BR2_INET_RPC,$${UCLIBC_CONFIG_FILE},RPC support) ;\
+	$(call check_uclibc_feature,__UCLIBC_HAS_RPC__,BR2_TOOLCHAIN_HAS_NATIVE_RPC,$${UCLIBC_CONFIG_FILE},RPC support) ;\
 	$(call check_uclibc_feature,__UCLIBC_HAS_LOCALE__,BR2_ENABLE_LOCALE,$${UCLIBC_CONFIG_FILE},Locale support) ;\
 	$(call check_uclibc_feature,__UCLIBC_HAS_WCHAR__,BR2_USE_WCHAR,$${UCLIBC_CONFIG_FILE},Wide char support) ;\
 	$(call check_uclibc_feature,__UCLIBC_HAS_THREADS__,BR2_TOOLCHAIN_HAS_THREADS,$${UCLIBC_CONFIG_FILE},Thread support) ;\
diff --git a/toolchain/toolchain-buildroot/Config.in.2 b/toolchain/toolchain-buildroot/Config.in.2
index 7580946..956ec2f 100644
--- a/toolchain/toolchain-buildroot/Config.in.2
+++ b/toolchain/toolchain-buildroot/Config.in.2
@@ -20,7 +20,7 @@ config BR2_TOOLCHAIN_BUILDROOT_INET_IPV6
 
 config BR2_TOOLCHAIN_BUILDROOT_INET_RPC
 	bool "Enable RPC support"
-	select BR2_INET_RPC
+	select BR2_TOOLCHAIN_HAS_NATIVE_RPC
 	help
 	  Enable this option if you want your toolchain to support
 	  RPC (needed for NFS, for example).
diff --git a/toolchain/toolchain-common.in b/toolchain/toolchain-common.in
index 10950ba..4c2a28b 100644
--- a/toolchain/toolchain-common.in
+++ b/toolchain/toolchain-common.in
@@ -11,7 +11,7 @@ config BR2_LARGEFILE
 config BR2_INET_IPV6
 	bool
 
-config BR2_INET_RPC
+config BR2_TOOLCHAIN_HAS_NATIVE_RPC
 	bool
 
 config BR2_USE_WCHAR
diff --git a/toolchain/toolchain-crosstool-ng/Config.in b/toolchain/toolchain-crosstool-ng/Config.in
index 35ea2b1..9cd5ca5 100644
--- a/toolchain/toolchain-crosstool-ng/Config.in
+++ b/toolchain/toolchain-crosstool-ng/Config.in
@@ -14,7 +14,9 @@ config BR2_TOOLCHAIN_CTNG_eglibc
 	bool "eglibc"
 	select BR2_LARGEFILE
 	select BR2_INET_IPV6
-	select BR2_INET_RPC
+	# Our default ct-ng configuration uses eglibc 2.12, which has
+	# native RPC support
+	select BR2_TOOLCHAIN_HAS_NATIVE_RPC
 	select BR2_ENABLE_LOCALE
 	select BR2_USE_WCHAR
 
@@ -22,7 +24,9 @@ config BR2_TOOLCHAIN_CTNG_glibc
 	bool "glibc"
 	select BR2_LARGEFILE
 	select BR2_INET_IPV6
-	select BR2_INET_RPC
+	# Our default ct-ng configuration uses glibc 2.9, which has
+	# native RPC support
+	select BR2_TOOLCHAIN_HAS_NATIVE_RPC
 	select BR2_ENABLE_LOCALE
 	select BR2_USE_WCHAR
 
@@ -66,7 +70,7 @@ config BR2_TOOLCHAIN_CTNG_uClibc_INET_IPV6
 
 config BR2_TOOLCHAIN_CTNG_uClibc_INET_RPC
 	bool "Enable RPC support"
-	select BR2_INET_RPC
+	select BR2_TOOLCHAIN_HAS_NATIVE_RPC
 	help
 	  Enable this option if you want your toolchain to support
 	  RPC (needed for NFS, for example).
diff --git a/toolchain/toolchain-external/Config.in b/toolchain/toolchain-external/Config.in
index 105fb2a..8d3240a 100644
--- a/toolchain/toolchain-external/Config.in
+++ b/toolchain/toolchain-external/Config.in
@@ -450,7 +450,7 @@ config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_SH2A_201103
 	depends on BR2_sh2a
 	select BR2_TOOLCHAIN_EXTERNAL_UCLIBC
 	select BR2_LARGEFILE
-	select BR2_INET_RPC
+	select BR2_TOOLCHAIN_HAS_NATIVE_RPC
 	select BR2_USE_WCHAR
 	select BR2_TOOLCHAIN_HAS_THREADS
 	select BR2_TOOLCHAIN_HAS_THREADS_DEBUG
@@ -467,7 +467,7 @@ config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_SH2A_201009
 	depends on BR2_sh2a
 	select BR2_TOOLCHAIN_EXTERNAL_UCLIBC
 	select BR2_LARGEFILE
-	select BR2_INET_RPC
+	select BR2_TOOLCHAIN_HAS_NATIVE_RPC
 	select BR2_USE_WCHAR
 	select BR2_TOOLCHAIN_HAS_THREADS
 	select BR2_TOOLCHAIN_HAS_THREADS_DEBUG
@@ -528,7 +528,7 @@ config BR2_TOOLCHAIN_EXTERNAL_BLACKFIN_UCLINUX_2012R1
 	select BR2_INSTALL_LIBSTDCPP
 	select BR2_LARGEFILE
 	select BR2_INET_IPV6
-	select BR2_INET_RPC
+	select BR2_TOOLCHAIN_HAS_NATIVE_RPC
 	select BR2_USE_WCHAR
 	select BR2_TOOLCHAIN_HAS_THREADS
 	select BR2_TOOLCHAIN_HAS_THREADS_DEBUG
@@ -543,7 +543,7 @@ config BR2_TOOLCHAIN_EXTERNAL_BLACKFIN_UCLINUX_2011R1
 	select BR2_INSTALL_LIBSTDCPP
 	select BR2_LARGEFILE
 	select BR2_INET_IPV6
-	select BR2_INET_RPC
+	select BR2_TOOLCHAIN_HAS_NATIVE_RPC
 	select BR2_USE_WCHAR
 	select BR2_TOOLCHAIN_HAS_THREADS
 	select BR2_TOOLCHAIN_HAS_THREADS_DEBUG
@@ -558,7 +558,7 @@ config BR2_TOOLCHAIN_EXTERNAL_BLACKFIN_UCLINUX_2010RC1
 	select BR2_INSTALL_LIBSTDCPP
 	select BR2_LARGEFILE
 	select BR2_INET_IPV6
-	select BR2_INET_RPC
+	select BR2_TOOLCHAIN_HAS_NATIVE_RPC
 	select BR2_USE_WCHAR
 	select BR2_TOOLCHAIN_HAS_THREADS
 	select BR2_TOOLCHAIN_HAS_THREADS_DEBUG
@@ -668,7 +668,7 @@ config BR2_TOOLCHAIN_EXTERNAL_GLIBC
 	bool
 	select BR2_LARGEFILE
 	select BR2_INET_IPV6
-	select BR2_INET_RPC
+	select BR2_TOOLCHAIN_HAS_NATIVE_RPC
 	select BR2_USE_WCHAR
 	select BR2_ENABLE_LOCALE
 	select BR2_TOOLCHAIN_HAS_THREADS
@@ -722,7 +722,7 @@ config BR2_TOOLCHAIN_EXTERNAL_INET_IPV6
 
 config BR2_TOOLCHAIN_EXTERNAL_INET_RPC
 	bool "Toolchain has RPC support?"
-	select BR2_INET_RPC
+	select BR2_TOOLCHAIN_HAS_NATIVE_RPC
 	help
 	  Select this option if your external toolchain supports
 	  RPC. If you don't know, leave the default value, Buildroot
diff --git a/toolchain/toolchain-external/ext-tool.mk b/toolchain/toolchain-external/ext-tool.mk
index 43d747c..459bc12 100644
--- a/toolchain/toolchain-external/ext-tool.mk
+++ b/toolchain/toolchain-external/ext-tool.mk
@@ -24,10 +24,10 @@
 #  the Buildroot configuration system knows whether the toolchain
 #  supports RPC, IPv6, locales, large files, etc. Unfortunately, these
 #  things cannot be detected automatically, since the value of these
-#  options (such as BR2_INET_RPC) are needed at configuration time
-#  because these options are used as dependencies for other
-#  options. And at configuration time, we are not able to retrieve the
-#  external toolchain configuration.
+#  options (such as BR2_TOOLCHAIN_HAS_NATIVE_RPC) are needed at
+#  configuration time because these options are used as dependencies
+#  for other options. And at configuration time, we are not able to
+#  retrieve the external toolchain configuration.
 #
 #  3. Copy the libraries needed at runtime to the target directory,
 #  $(TARGET_DIR). Obviously, things such as the C library, the dynamic
-- 
1.7.9.5

^ permalink raw reply related	[flat|nested] 40+ messages in thread

* [Buildroot] [PATCH 05/18] toolchain-external: improve glibc support to test availability of RPC
  2012-11-03 17:47 [Buildroot] [pull request] Pull request for branch for-2012.11/rpc-support Thomas Petazzoni
                   ` (3 preceding siblings ...)
  2012-11-03 17:47 ` [Buildroot] [PATCH 04/18] Rename BR2_INET_RPC to BR2_TOOLCHAIN_HAS_NATIVE_RPC Thomas Petazzoni
@ 2012-11-03 17:47 ` Thomas Petazzoni
  2012-11-03 23:45   ` Arnout Vandecappelle
  2012-11-03 17:47 ` [Buildroot] [PATCH 06/18] libtirpc: new package Thomas Petazzoni
                   ` (12 subsequent siblings)
  17 siblings, 1 reply; 40+ messages in thread
From: Thomas Petazzoni @ 2012-11-03 17:47 UTC (permalink / raw)
  To: buildroot

Basically, the BR2_TOOLCHAIN_EXTERNAL_GLIBC option no longer
unconditionally selects BR2_TOOLCHAIN_HAS_NATIVE_RPC since there are
glibc toolchains that don't have RPC support. All the predefined
toolchain profiles are updated to take into account this change: for
the moment, all glibc toolchains that have pre-defined toolchains have
RPC support, but further patches in the series add pre-defined glibc
toolchains that don't have RPC support. In the case of custom glibc
toolchains, a question is asked to the user so that he can say whether
the external glibc toolchain has RPC support or not. The validity of
this configuration option is checked by the new
check_glibc_rpc_feature function in helpers.mk.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
---
 toolchain/helpers.mk                   |   27 ++++++++++++++++++-----
 toolchain/toolchain-external/Config.in |   37 ++++++++++++++++++++++++--------
 2 files changed, 50 insertions(+), 14 deletions(-)

diff --git a/toolchain/helpers.mk b/toolchain/helpers.mk
index 34e9c17..1509ff8 100644
--- a/toolchain/helpers.mk
+++ b/toolchain/helpers.mk
@@ -172,9 +172,10 @@ create_lib64_symlinks = \
 	(cd $(STAGING_DIR)/usr ; ln -s lib lib64)
 
 #
-# Check the availability of a particular glibc feature. We assume that
-# all Buildroot toolchain options are supported by glibc, so we just
-# check that they are enabled.
+# Check the availability of a particular glibc feature. This function
+# is used to check toolchain options that are always supported by
+# glibc, so we simply check that the corresponding option is properly
+# enabled.
 #
 # $1: Buildroot option name
 # $2: feature description
@@ -186,6 +187,22 @@ check_glibc_feature = \
 	fi
 
 #
+# Check the availability of RPC support in a glibc toolchain
+#
+# $1: sysroot directory
+#
+check_glibc_rpc_feature = \
+	IS_IN_LIBC=`test -f $(1)/usr/include/rpc/rpc.h && echo y` ; \
+	if [ "$(BR2_TOOLCHAIN_HAS_NATIVE_RPC)" != "y" -a "$${IS_IN_LIBC}" = "y" ] ; then \
+		echo "RPC support available in C library, please enable BR2_TOOLCHAIN_HAS_NATIVE_RPC" ; \
+		exit 1 ; \
+	fi ; \
+	if [ "$(BR2_TOOLCHAIN_HAS_NATIVE_RPC)" = "y" -a "$${IS_IN_LIBC}" != "y" ] ; then \
+		echo "RPC support not available in C library, please disable BR2_TOOLCHAIN_HAS_NATIVE_RPC" ; \
+		exit 1 ; \
+	fi
+
+#
 # Check the correctness of a glibc external toolchain configuration.
 #  1. Check that the C library selected in Buildroot matches the one
 #     of the external toolchain
@@ -202,10 +219,10 @@ check_glibc = \
 	fi; \
 	$(call check_glibc_feature,BR2_LARGEFILE,Large file support) ;\
 	$(call check_glibc_feature,BR2_INET_IPV6,IPv6 support) ;\
-	$(call check_glibc_feature,BR2_TOOLCHAIN_HAS_NATIVE_RPC,RPC support) ;\
 	$(call check_glibc_feature,BR2_ENABLE_LOCALE,Locale support) ;\
 	$(call check_glibc_feature,BR2_USE_MMU,MMU support) ;\
-	$(call check_glibc_feature,BR2_USE_WCHAR,Wide char support)
+	$(call check_glibc_feature,BR2_USE_WCHAR,Wide char support) ;\
+	$(call check_glibc_rpc_feature,$${SYSROOT_DIR})
 
 #
 # Check the conformity of Buildroot configuration with regard to the
diff --git a/toolchain/toolchain-external/Config.in b/toolchain/toolchain-external/Config.in
index 8d3240a..96b689a 100644
--- a/toolchain/toolchain-external/Config.in
+++ b/toolchain/toolchain-external/Config.in
@@ -8,6 +8,7 @@ config BR2_TOOLCHAIN_EXTERNAL_LINARO_2012_09
 	depends on BR2_arm
 	depends on BR2_cortex_a8 || BR2_cortex_a9
 	select BR2_TOOLCHAIN_EXTERNAL_GLIBC
+	select BR2_TOOLCHAIN_HAS_NATIVE_RPC
 	select BR2_INSTALL_LIBSTDCPP
 	help
 	  Linaro toolchain for the ARM architecture. It uses Linaro
@@ -24,6 +25,7 @@ config BR2_TOOLCHAIN_EXTERNAL_LINARO_2012_08
 	depends on BR2_arm
 	depends on BR2_cortex_a8 || BR2_cortex_a9
 	select BR2_TOOLCHAIN_EXTERNAL_GLIBC
+	select BR2_TOOLCHAIN_HAS_NATIVE_RPC
 	select BR2_INSTALL_LIBSTDCPP
 	help
 	  Linaro toolchain for the ARM architecture. It uses Linaro
@@ -40,6 +42,7 @@ config BR2_TOOLCHAIN_EXTERNAL_LINARO_2012_07
 	depends on BR2_arm
 	depends on BR2_cortex_a8 || BR2_cortex_a9
 	select BR2_TOOLCHAIN_EXTERNAL_GLIBC
+	select BR2_TOOLCHAIN_HAS_NATIVE_RPC
 	select BR2_INSTALL_LIBSTDCPP
 	help
 	  Linaro toolchain for the ARM architecture. It uses Linaro
@@ -56,6 +59,7 @@ config BR2_TOOLCHAIN_EXTERNAL_LINARO_2012_06
 	depends on BR2_arm
 	depends on BR2_cortex_a8 || BR2_cortex_a9
 	select BR2_TOOLCHAIN_EXTERNAL_GLIBC
+	select BR2_TOOLCHAIN_HAS_NATIVE_RPC
 	select BR2_INSTALL_LIBSTDCPP
 	help
 	  Linaro toolchain for the ARM architecture. It uses Linaro
@@ -72,6 +76,7 @@ config BR2_TOOLCHAIN_EXTERNAL_LINARO_2012_05
 	depends on BR2_arm
 	depends on BR2_cortex_a8 || BR2_cortex_a9
 	select BR2_TOOLCHAIN_EXTERNAL_GLIBC
+	select BR2_TOOLCHAIN_HAS_NATIVE_RPC
 	select BR2_INSTALL_LIBSTDCPP
 	help
 	  Linaro toolchain for the ARM architecture. It uses Linaro
@@ -108,6 +113,7 @@ config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_ARM201109
 	bool "Sourcery CodeBench ARM 2011.09"
 	depends on BR2_arm
 	select BR2_TOOLCHAIN_EXTERNAL_GLIBC
+	select BR2_TOOLCHAIN_HAS_NATIVE_RPC
 	select BR2_INSTALL_LIBSTDCPP
 	help
 	  Sourcery CodeBench toolchain for the ARM architecture, from
@@ -129,6 +135,7 @@ config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_ARM201103
 	bool "Sourcery CodeBench ARM 2011.03"
 	depends on BR2_arm
 	select BR2_TOOLCHAIN_EXTERNAL_GLIBC
+	select BR2_TOOLCHAIN_HAS_NATIVE_RPC
 	select BR2_INSTALL_LIBSTDCPP
 	help
 	  Sourcery CodeBench toolchain for the ARM architecture, from
@@ -150,6 +157,7 @@ config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_ARM201009
 	bool "Sourcery CodeBench ARM 2010.09"
 	depends on BR2_arm
 	select BR2_TOOLCHAIN_EXTERNAL_GLIBC
+	select BR2_TOOLCHAIN_HAS_NATIVE_RPC
 	select BR2_INSTALL_LIBSTDCPP
 	help
 	  Sourcery CodeBench toolchain for the ARM architecture, from
@@ -171,6 +179,7 @@ config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_ARM2010Q1
 	bool "Sourcery CodeBench ARM 2010q1"
 	depends on BR2_arm
 	select BR2_TOOLCHAIN_EXTERNAL_GLIBC
+	select BR2_TOOLCHAIN_HAS_NATIVE_RPC
 	select BR2_INSTALL_LIBSTDCPP
 	help
 	  Sourcery CodeBench toolchain for the ARM architecture, from
@@ -192,6 +201,7 @@ config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_MIPS201109
 	bool "Sourcery CodeBench MIPS 2011.09"
 	depends on BR2_mips || BR2_mipsel
 	select BR2_TOOLCHAIN_EXTERNAL_GLIBC
+	select BR2_TOOLCHAIN_HAS_NATIVE_RPC
 	select BR2_INSTALL_LIBSTDCPP
 	help
 	  Sourcery CodeBench toolchain for the MIPS architecture, from
@@ -259,6 +269,7 @@ config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_MIPS201103
 	bool "Sourcery CodeBench MIPS 2011.03"
 	depends on BR2_mips || BR2_mipsel
 	select BR2_TOOLCHAIN_EXTERNAL_GLIBC
+	select BR2_TOOLCHAIN_HAS_NATIVE_RPC
 	select BR2_INSTALL_LIBSTDCPP
 	help
 	  Sourcery CodeBench toolchain for the MIPS architecture, from
@@ -308,6 +319,7 @@ config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_MIPS44
 	bool "Sourcery CodeBench MIPS 4.4"
 	depends on BR2_mips || BR2_mipsel
 	select BR2_TOOLCHAIN_EXTERNAL_GLIBC
+	select BR2_TOOLCHAIN_HAS_NATIVE_RPC
 	select BR2_INSTALL_LIBSTDCPP
 	help
 	  Sourcery CodeBench toolchain for the MIPS architecture, from
@@ -357,6 +369,7 @@ config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_POWERPC201103
 	bool "Sourcery CodeBench PowerPC 2011.03"
 	depends on BR2_powerpc
 	select BR2_TOOLCHAIN_EXTERNAL_GLIBC
+	select BR2_TOOLCHAIN_HAS_NATIVE_RPC
 	select BR2_INSTALL_LIBSTDCPP
 	help
 	  Sourcery CodeBench toolchain for the PowerPC architecture,
@@ -384,6 +397,7 @@ config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_POWERPC201009
 	bool "Sourcery CodeBench PowerPC 2010.09"
 	depends on BR2_powerpc
 	select BR2_TOOLCHAIN_EXTERNAL_GLIBC
+	select BR2_TOOLCHAIN_HAS_NATIVE_RPC
 	select BR2_INSTALL_LIBSTDCPP
 	help
 	  Sourcery CodeBench toolchain for the PowerPC architecture,
@@ -411,6 +425,7 @@ config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_SH201103
 	bool "Sourcery CodeBench SH 2011.03"
 	depends on BR2_sh4a || BR2_sh4aeb
 	select BR2_TOOLCHAIN_EXTERNAL_GLIBC
+	select BR2_TOOLCHAIN_HAS_NATIVE_RPC
 	select BR2_INSTALL_LIBSTDCPP
 	help
 	  Sourcery CodeBench toolchain for the SuperH architecture,
@@ -430,6 +445,7 @@ config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_SH201009
 	bool "Sourcery CodeBench SH 2010.09"
 	depends on BR2_sh4a || BR2_sh4aeb
 	select BR2_TOOLCHAIN_EXTERNAL_GLIBC
+	select BR2_TOOLCHAIN_HAS_NATIVE_RPC
 	select BR2_INSTALL_LIBSTDCPP
 	help
 	  Sourcery CodeBench toolchain for the SuperH architecture,
@@ -483,6 +499,7 @@ config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_X86_201109
 	bool "Sourcery CodeBench x86/x86_64 2011.09"
 	depends on BR2_i386 || BR2_x86_64
 	select BR2_TOOLCHAIN_EXTERNAL_GLIBC
+	select BR2_TOOLCHAIN_HAS_NATIVE_RPC
 	select BR2_INSTALL_LIBSTDCPP
 	help
 	  Sourcery CodeBench toolchain for the x86/x86_64
@@ -504,6 +521,7 @@ config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_X86_201009
 	bool "Sourcery CodeBench x86/x86_64 2010.09"
 	depends on BR2_i386 || BR2_x86_64
 	select BR2_TOOLCHAIN_EXTERNAL_GLIBC
+	select BR2_TOOLCHAIN_HAS_NATIVE_RPC
 	select BR2_INSTALL_LIBSTDCPP
 	help
 	  Sourcery CodeBench toolchain for the x86/x86_64
@@ -570,6 +588,7 @@ config BR2_TOOLCHAIN_EXTERNAL_XILINX_MICROBLAZEEL_V2
 	bool "Xilinx Little Endian Microblaze GNU Tools"
 	depends on BR2_microblazeel
 	select BR2_TOOLCHAIN_EXTERNAL_GLIBC
+	select BR2_TOOLCHAIN_HAS_NATIVE_RPC
 	help
 	  Toolchain for the Microblaze architecture, from
 	  http://wiki.xilinx.com/mb-gnu-tools
@@ -578,6 +597,7 @@ config BR2_TOOLCHAIN_EXTERNAL_XILINX_MICROBLAZEBE_V2
 	bool "Xilinx Big Endian Microblaze GNU Tools"
 	depends on BR2_microblazebe
 	select BR2_TOOLCHAIN_EXTERNAL_GLIBC
+	select BR2_TOOLCHAIN_HAS_NATIVE_RPC
 	help
 	  Toolchain for the Microblaze architecture, from
 	  http://wiki.xilinx.com/mb-gnu-tools
@@ -668,7 +688,6 @@ config BR2_TOOLCHAIN_EXTERNAL_GLIBC
 	bool
 	select BR2_LARGEFILE
 	select BR2_INET_IPV6
-	select BR2_TOOLCHAIN_HAS_NATIVE_RPC
 	select BR2_USE_WCHAR
 	select BR2_ENABLE_LOCALE
 	select BR2_TOOLCHAIN_HAS_THREADS
@@ -720,14 +739,6 @@ config BR2_TOOLCHAIN_EXTERNAL_INET_IPV6
 	  IPv6. If you don't know, leave the default value, Buildroot
 	  will tell you if it's correct or not.
 
-config BR2_TOOLCHAIN_EXTERNAL_INET_RPC
-	bool "Toolchain has RPC support?"
-	select BR2_TOOLCHAIN_HAS_NATIVE_RPC
-	help
-	  Select this option if your external toolchain supports
-	  RPC. If you don't know, leave the default value, Buildroot
-	  will tell you if it's correct or not.
-
 config BR2_TOOLCHAIN_EXTERNAL_WCHAR
 	bool "Toolchain has WCHAR support?"
 	select BR2_USE_WCHAR
@@ -766,6 +777,14 @@ config BR2_TOOLCHAIN_EXTERNAL_HAS_THREADS_DEBUG
 
 endif # BR2_TOOLCHAIN_EXTERNAL_CUSTOM_UCLIBC
 
+config BR2_TOOLCHAIN_EXTERNAL_INET_RPC
+	bool "Toolchain has RPC support?"
+	select BR2_TOOLCHAIN_HAS_NATIVE_RPC
+	help
+	  Select this option if your external toolchain supports
+	  RPC. If you don't know, leave the default value, Buildroot
+	  will tell you if it's correct or not.
+
 config BR2_TOOLCHAIN_EXTERNAL_CXX
 	bool "Toolchain has C++ support?"
 	select BR2_INSTALL_LIBSTDCPP
-- 
1.7.9.5

^ permalink raw reply related	[flat|nested] 40+ messages in thread

* [Buildroot] [PATCH 06/18] libtirpc: new package
  2012-11-03 17:47 [Buildroot] [pull request] Pull request for branch for-2012.11/rpc-support Thomas Petazzoni
                   ` (4 preceding siblings ...)
  2012-11-03 17:47 ` [Buildroot] [PATCH 05/18] toolchain-external: improve glibc support to test availability of RPC Thomas Petazzoni
@ 2012-11-03 17:47 ` Thomas Petazzoni
  2012-11-03 23:53   ` Arnout Vandecappelle
  2012-11-04  0:47   ` Peter Korsgaard
  2012-11-03 17:47 ` [Buildroot] [PATCH 07/18] busybox: add support to link against libtirpc when available Thomas Petazzoni
                   ` (11 subsequent siblings)
  17 siblings, 2 replies; 40+ messages in thread
From: Thomas Petazzoni @ 2012-11-03 17:47 UTC (permalink / raw)
  To: buildroot

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
---
 package/Config.in                                  |    1 +
 package/libtirpc/Config.in                         |   12 ++++
 ...able-parts-of-TIRPC-requiring-NIS-support.patch |   70 ++++++++++++++++++++
 ...out-RPC-support-does-not-install-rpcent.h.patch |   26 ++++++++
 ...btirpc-0003-Add-missing-INET6-conditional.patch |   60 +++++++++++++++++
 .../libtirpc-0004-Make-IPv6-support-optional.patch |   43 ++++++++++++
 package/libtirpc/libtirpc.mk                       |   17 +++++
 7 files changed, 229 insertions(+)
 create mode 100644 package/libtirpc/Config.in
 create mode 100644 package/libtirpc/libtirpc-0001-Disable-parts-of-TIRPC-requiring-NIS-support.patch
 create mode 100644 package/libtirpc/libtirpc-0002-uClibc-without-RPC-support-does-not-install-rpcent.h.patch
 create mode 100644 package/libtirpc/libtirpc-0003-Add-missing-INET6-conditional.patch
 create mode 100644 package/libtirpc/libtirpc-0004-Make-IPv6-support-optional.patch
 create mode 100644 package/libtirpc/libtirpc.mk

diff --git a/package/Config.in b/package/Config.in
index 1650c71..644e968 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -454,6 +454,7 @@ source "package/libpcap/Config.in"
 source "package/libosip2/Config.in"
 source "package/librsync/Config.in"
 source "package/libsoup/Config.in"
+source "package/libtirpc/Config.in"
 source "package/libtorrent/Config.in"
 source "package/libupnp/Config.in"
 source "package/libvncserver/Config.in"
diff --git a/package/libtirpc/Config.in b/package/libtirpc/Config.in
new file mode 100644
index 0000000..0172f0d
--- /dev/null
+++ b/package/libtirpc/Config.in
@@ -0,0 +1,12 @@
+config BR2_PACKAGE_LIBTIRPC
+	bool "libtirpc"
+	depends on !BR2_TOOLCHAIN_HAS_NATIVE_RPC
+	help
+	  Libtirpc is a port of Sun's Transport-Independent RPC
+	  library to Linux.
+
+	  http://sourceforge.net/projects/libtirpc/
+
+config BR2_RPC_SUPPORT_AVAILABLE
+       bool
+       default y if (BR2_TOOLCHAIN_HAS_NATIVE_RPC || BR2_PACKAGE_LIBTIRPC)
diff --git a/package/libtirpc/libtirpc-0001-Disable-parts-of-TIRPC-requiring-NIS-support.patch b/package/libtirpc/libtirpc-0001-Disable-parts-of-TIRPC-requiring-NIS-support.patch
new file mode 100644
index 0000000..bdbe021
--- /dev/null
+++ b/package/libtirpc/libtirpc-0001-Disable-parts-of-TIRPC-requiring-NIS-support.patch
@@ -0,0 +1,70 @@
+From f4c022c526ce061dfdd3c46f544a9495a3a3a97e Mon Sep 17 00:00:00 2001
+From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
+Date: Sat, 23 Jun 2012 21:57:39 +0200
+Subject: [PATCH 1/4] Disable parts of TIRPC requiring NIS support
+
+Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
+---
+ src/Makefile.am  |    3 +--
+ src/rpc_soc.c    |    2 ++
+ tirpc/rpc/auth.h |    3 +++
+ 3 files changed, 6 insertions(+), 2 deletions(-)
+
+diff --git a/src/Makefile.am b/src/Makefile.am
+index 7ee8cbc..6d36b93 100644
+--- a/src/Makefile.am
++++ b/src/Makefile.am
+@@ -49,8 +49,7 @@ libtirpc_la_SOURCES = auth_none.c auth_unix.c authunix_prot.c bindresvport.c cln
+         pmap_prot.c pmap_prot2.c pmap_rmt.c rpc_prot.c rpc_commondata.c \
+         rpc_callmsg.c rpc_generic.c rpc_soc.c rpcb_clnt.c rpcb_prot.c \
+         rpcb_st_xdr.c svc.c svc_auth.c svc_dg.c svc_auth_unix.c svc_generic.c \
+-        svc_raw.c svc_run.c svc_simple.c svc_vc.c getpeereid.c \
+-        auth_time.c auth_des.c authdes_prot.c des_crypt.c
++        svc_raw.c svc_run.c svc_simple.c svc_vc.c getpeereid.c
+ 
+ ## XDR
+ libtirpc_la_SOURCES += xdr.c xdr_rec.c xdr_array.c xdr_float.c xdr_mem.c xdr_reference.c xdr_stdio.c
+diff --git a/src/rpc_soc.c b/src/rpc_soc.c
+index c678429..27f2136 100644
+--- a/src/rpc_soc.c
++++ b/src/rpc_soc.c
+@@ -515,6 +515,7 @@ clnt_broadcast(prog, vers, proc, xargs, argsp, xresults, resultsp, eachresult)
+ 	    (resultproc_t) rpc_wrap_bcast, "udp");
+ }
+ 
++#if 0
+ /*
+  * Create the client des authentication object. Obsoleted by
+  * authdes_seccreate().
+@@ -546,6 +547,7 @@ fallback:
+ 	dummy = authdes_seccreate(servername, window, NULL, ckey);
+ 	return (dummy);
+ }
++#endif
+ 
+ /*
+  * Create a client handle for a unix connection. Obsoleted by clnt_vc_create()
+diff --git a/tirpc/rpc/auth.h b/tirpc/rpc/auth.h
+index 734e6b9..6e7e54e 100644
+--- a/tirpc/rpc/auth.h
++++ b/tirpc/rpc/auth.h
+@@ -282,6 +282,8 @@ extern AUTH *authunix_create(char *, uid_t, uid_t, int, uid_t *);
+ extern AUTH *authunix_create_default(void);	/* takes no parameters */
+ extern AUTH *authnone_create(void);		/* takes no parameters */
+ __END_DECLS
++
++#if 0
+ /*
+  * DES style authentication
+  * AUTH *authsecdes_create(servername, window, timehost, ckey)
+@@ -295,6 +297,7 @@ extern AUTH *authdes_create (char *, u_int, struct sockaddr *, des_block *);
+ extern AUTH *authdes_seccreate (const char *, const u_int, const  char *,
+     const  des_block *);
+ __END_DECLS
++#endif
+ 
+ __BEGIN_DECLS
+ extern bool_t xdr_opaque_auth		(XDR *, struct opaque_auth *);
+-- 
+1.7.9.5
+
diff --git a/package/libtirpc/libtirpc-0002-uClibc-without-RPC-support-does-not-install-rpcent.h.patch b/package/libtirpc/libtirpc-0002-uClibc-without-RPC-support-does-not-install-rpcent.h.patch
new file mode 100644
index 0000000..0798c34
--- /dev/null
+++ b/package/libtirpc/libtirpc-0002-uClibc-without-RPC-support-does-not-install-rpcent.h.patch
@@ -0,0 +1,26 @@
+From c91721dc289397dfe38fdae175f4ee37e824667c Mon Sep 17 00:00:00 2001
+From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
+Date: Sat, 23 Jun 2012 21:58:07 +0200
+Subject: [PATCH 2/4] uClibc without RPC support does not install rpcent.h
+
+Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
+---
+ tirpc/rpc/rpcent.h |    2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/tirpc/rpc/rpcent.h b/tirpc/rpc/rpcent.h
+index 7fd93d9..df1f5ed 100644
+--- a/tirpc/rpc/rpcent.h
++++ b/tirpc/rpc/rpcent.h
+@@ -47,7 +47,7 @@
+ __BEGIN_DECLS
+ 
+ /* These are defined in /usr/include/rpc/netdb.h */
+-#if 0
++#if __UCLIBC__
+ struct rpcent {
+ 	char	*r_name;	/* name of server for this rpc program */
+ 	char	**r_aliases;	/* alias list */
+-- 
+1.7.9.5
+
diff --git a/package/libtirpc/libtirpc-0003-Add-missing-INET6-conditional.patch b/package/libtirpc/libtirpc-0003-Add-missing-INET6-conditional.patch
new file mode 100644
index 0000000..64d3da8
--- /dev/null
+++ b/package/libtirpc/libtirpc-0003-Add-missing-INET6-conditional.patch
@@ -0,0 +1,60 @@
+From a4852bd653ac917165de1d41b60168cd88dc6672 Mon Sep 17 00:00:00 2001
+From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
+Date: Sat, 23 Jun 2012 21:58:36 +0200
+Subject: [PATCH 3/4] Add missing INET6 conditional
+
+Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
+---
+ src/rpc_generic.c |    2 ++
+ src/svc_dg.c      |    4 ++++
+ 2 files changed, 6 insertions(+)
+
+diff --git a/src/rpc_generic.c b/src/rpc_generic.c
+index 509fb36..2eb91ad 100644
+--- a/src/rpc_generic.c
++++ b/src/rpc_generic.c
+@@ -535,7 +535,9 @@ __rpc_nconf2fd_flags(const struct netconfig *nconf, int flags)
+ 	    si.si_af == AF_INET6) {
+ 		int val = 1;
+ 
++#ifdef INET6
+ 		setsockopt(fd, SOL_IPV6, IPV6_V6ONLY, &val, sizeof(val));
++#endif
+ 	}
+ 	return fd;
+ }
+diff --git a/src/svc_dg.c b/src/svc_dg.c
+index 66a56ee..e8faf33 100644
+--- a/src/svc_dg.c
++++ b/src/svc_dg.c
+@@ -627,9 +627,11 @@ svc_dg_enable_pktinfo(int fd, const struct __rpc_sockinfo *si)
+ 		(void) setsockopt(fd, SOL_IP, IP_PKTINFO, &val, sizeof(val));
+ 		break;
+ 
++#ifdef INET6
+ 	case AF_INET6:
+ 		(void) setsockopt(fd, SOL_IPV6, IPV6_PKTINFO, &val, sizeof(val));
+ 		break;
++#endif
+ 	}
+ }
+ 
+@@ -667,6 +669,7 @@ svc_dg_valid_pktinfo(struct msghdr *msg)
+ 		}
+ 		break;
+ 
++#ifdef INET6
+ 	case AF_INET6:
+ 		if (cmsg->cmsg_level != SOL_IPV6
+ 		 || cmsg->cmsg_type != IPV6_PKTINFO
+@@ -679,6 +682,7 @@ svc_dg_valid_pktinfo(struct msghdr *msg)
+ 			pkti->ipi6_ifindex = 0;
+ 		}
+ 		break;
++#endif
+ 
+ 	default:
+ 		return 0;
+-- 
+1.7.9.5
+
diff --git a/package/libtirpc/libtirpc-0004-Make-IPv6-support-optional.patch b/package/libtirpc/libtirpc-0004-Make-IPv6-support-optional.patch
new file mode 100644
index 0000000..455ad74
--- /dev/null
+++ b/package/libtirpc/libtirpc-0004-Make-IPv6-support-optional.patch
@@ -0,0 +1,43 @@
+From 1f36736733eac5080f3a4f3abd1c3a04ac42f1dd Mon Sep 17 00:00:00 2001
+From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
+Date: Sun, 24 Jun 2012 21:40:21 +0200
+Subject: [PATCH 4/4] Make IPv6 support optional
+
+Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
+---
+ configure.ac    |    5 +++++
+ src/Makefile.am |    2 +-
+ 2 files changed, 6 insertions(+), 1 deletion(-)
+
+diff --git a/configure.ac b/configure.ac
+index 97c6f2c..487ec83 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -22,6 +22,11 @@ AC_PROG_LIBTOOL
+ AC_HEADER_DIRENT
+ AC_PREFIX_DEFAULT(/usr)
+ AC_CHECK_HEADERS([arpa/inet.h fcntl.h libintl.h limits.h locale.h netdb.h netinet/in.h stddef.h stdint.h stdlib.h string.h sys/ioctl.h sys/param.h sys/socket.h sys/time.h syslog.h unistd.h])
++
++AC_CHECK_HEADER(netinet/ip6.h,
++	AC_DEFINE(INET6, 1, [Define to 1 if IPv6 is available]),
++	[AC_MSG_WARN([no IPv6])])
++
+ AC_CHECK_LIB([pthread], [pthread_create])
+ 
+ 
+diff --git a/src/Makefile.am b/src/Makefile.am
+index 6d36b93..6dc259e 100644
+--- a/src/Makefile.am
++++ b/src/Makefile.am
+@@ -6,7 +6,7 @@
+ ## anything like that.
+ 
+ 
+-INCLUDES = -I$(top_srcdir)/tirpc -DPORTMAP -DINET6 -DVERSION="\"$(VERSION)\"" \
++INCLUDES = -I$(top_srcdir)/tirpc -DPORTMAP -DVERSION="\"$(VERSION)\"" \
+ 		-D_GNU_SOURCE -Wall -pipe  
+ 
+ lib_LTLIBRARIES = libtirpc.la
+-- 
+1.7.9.5
+
diff --git a/package/libtirpc/libtirpc.mk b/package/libtirpc/libtirpc.mk
new file mode 100644
index 0000000..32fbeb5
--- /dev/null
+++ b/package/libtirpc/libtirpc.mk
@@ -0,0 +1,17 @@
+#############################################################
+#
+# libtirpc
+#
+#############################################################
+
+LIBTIRPC_VERSION = 0.2.2
+LIBTIRPC_SOURCE = libtirpc-$(LIBTIRPC_VERSION).tar.bz2
+LIBTIRPC_SITE = http://$(BR2_SOURCEFORGE_MIRROR).dl.sourceforge.net/project/libtirpc/libtirpc/$(LIBTIRPC_VERSION)
+LIBTIRPC_LICENSE = BSD-3c
+LIBTIRPC_LICENSE_FILES = COPYING
+
+LIBTIRPC_INSTALL_STAGING = YES
+LIBTIRPC_AUTORECONF = YES
+LIBTIRPC_DEPENDENCIES = host-pkg-config
+
+$(eval $(autotools-package))
-- 
1.7.9.5

^ permalink raw reply related	[flat|nested] 40+ messages in thread

* [Buildroot] [PATCH 07/18] busybox: add support to link against libtirpc when available
  2012-11-03 17:47 [Buildroot] [pull request] Pull request for branch for-2012.11/rpc-support Thomas Petazzoni
                   ` (5 preceding siblings ...)
  2012-11-03 17:47 ` [Buildroot] [PATCH 06/18] libtirpc: new package Thomas Petazzoni
@ 2012-11-03 17:47 ` Thomas Petazzoni
  2012-11-03 23:56   ` Arnout Vandecappelle
  2012-11-03 17:47 ` [Buildroot] [PATCH 08/18] lmbench: add support to use " Thomas Petazzoni
                   ` (10 subsequent siblings)
  17 siblings, 1 reply; 40+ messages in thread
From: Thomas Petazzoni @ 2012-11-03 17:47 UTC (permalink / raw)
  To: buildroot

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
---
 package/busybox/busybox.mk |   19 +++++++++++++++++--
 package/libtirpc/Config.in |    5 -----
 2 files changed, 17 insertions(+), 7 deletions(-)

diff --git a/package/busybox/busybox.mk b/package/busybox/busybox.mk
index 306b46f..b43f779 100644
--- a/package/busybox/busybox.mk
+++ b/package/busybox/busybox.mk
@@ -15,14 +15,29 @@ BUSYBOX_SOURCE = busybox-$(BUSYBOX_VERSION).tar.bz2
 BUSYBOX_LICENSE = GPLv2
 BUSYBOX_LICENSE_FILES = LICENSE
 
+BUSYBOX_CFLAGS = \
+	$(TARGET_CFLAGS) \
+	-I$(LINUX_HEADERS_DIR)/include
+
+BUSYBOX_LDFLAGS = \
+	$(TARGET_LDFLAGS)
+
+# Link against libtirpc if available so that we can leverage its RPC
+# support for NFS mounting with Busybox
+ifeq ($(BR2_PACKAGE_LIBTIRPC),y)
+BUSYBOX_DEPENDENCIES += libtirpc
+BUSYBOX_CFLAGS += -I$(STAGING_DIR)/usr/include/tirpc/
+BUSYBOX_LDFLAGS += -ltirpc
+endif
+
 BUSYBOX_BUILD_CONFIG = $(BUSYBOX_DIR)/.config
 # Allows the build system to tweak CFLAGS
-BUSYBOX_MAKE_ENV = $(TARGET_MAKE_ENV) CFLAGS="$(TARGET_CFLAGS) -I$(LINUX_HEADERS_DIR)/include"
+BUSYBOX_MAKE_ENV = $(TARGET_MAKE_ENV) CFLAGS="$(BUSYBOX_CFLAGS)"
 BUSYBOX_MAKE_OPTS = \
 	CC="$(TARGET_CC)" \
 	ARCH=$(KERNEL_ARCH) \
 	PREFIX="$(TARGET_DIR)" \
-	EXTRA_LDFLAGS="$(TARGET_LDFLAGS)" \
+	EXTRA_LDFLAGS="$(BUSYBOX_LDFLAGS)" \
 	CROSS_COMPILE="$(TARGET_CROSS)" \
 	CONFIG_PREFIX="$(TARGET_DIR)" \
 	SKIP_STRIP=y
diff --git a/package/libtirpc/Config.in b/package/libtirpc/Config.in
index 0172f0d..7e891b4 100644
--- a/package/libtirpc/Config.in
+++ b/package/libtirpc/Config.in
@@ -1,12 +1,7 @@
 config BR2_PACKAGE_LIBTIRPC
 	bool "libtirpc"
-	depends on !BR2_TOOLCHAIN_HAS_NATIVE_RPC
 	help
 	  Libtirpc is a port of Sun's Transport-Independent RPC
 	  library to Linux.
 
 	  http://sourceforge.net/projects/libtirpc/
-
-config BR2_RPC_SUPPORT_AVAILABLE
-       bool
-       default y if (BR2_TOOLCHAIN_HAS_NATIVE_RPC || BR2_PACKAGE_LIBTIRPC)
-- 
1.7.9.5

^ permalink raw reply related	[flat|nested] 40+ messages in thread

* [Buildroot] [PATCH 08/18] lmbench: add support to use libtirpc when available
  2012-11-03 17:47 [Buildroot] [pull request] Pull request for branch for-2012.11/rpc-support Thomas Petazzoni
                   ` (6 preceding siblings ...)
  2012-11-03 17:47 ` [Buildroot] [PATCH 07/18] busybox: add support to link against libtirpc when available Thomas Petazzoni
@ 2012-11-03 17:47 ` Thomas Petazzoni
  2012-11-04  0:01   ` Arnout Vandecappelle
  2012-11-03 17:47 ` [Buildroot] [PATCH 09/18] nfs-utils: add support to use RPC support from libtirpc Thomas Petazzoni
                   ` (9 subsequent siblings)
  17 siblings, 1 reply; 40+ messages in thread
From: Thomas Petazzoni @ 2012-11-03 17:47 UTC (permalink / raw)
  To: buildroot

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
---
 package/lmbench/Config.in  |    6 +-----
 package/lmbench/lmbench.mk |   11 ++++++++++-
 2 files changed, 11 insertions(+), 6 deletions(-)

diff --git a/package/lmbench/Config.in b/package/lmbench/Config.in
index 70449b6..d710e1f 100644
--- a/package/lmbench/Config.in
+++ b/package/lmbench/Config.in
@@ -1,12 +1,8 @@
 config BR2_PACKAGE_LMBENCH
 	bool "lmbench"
-	# Uses pmap_set, pmap__unset, pmap_getport, etc.
-	depends on BR2_TOOLCHAIN_HAS_NATIVE_RPC
+	select BR2_PACKAGE_LIBTIRPC if !BR2_TOOLCHAIN_HAS_NATIVE_RPC
 	help
 	  LMbench is a suite of simple, portable,
 	  ANSI/C microbenchmarks for UNIX/POSIX.
 
 	  http://sourceforge.net/projects/lmbench/
-
-comment "lmbench requires a toolchain with RPC support"
-	depends on !BR2_TOOLCHAIN_HAS_NATIVE_RPC
diff --git a/package/lmbench/lmbench.mk b/package/lmbench/lmbench.mk
index d3d0f8f..1932adb 100644
--- a/package/lmbench/lmbench.mk
+++ b/package/lmbench/lmbench.mk
@@ -9,6 +9,15 @@ LMBENCH_SITE:=http://downloads.sourceforge.net/project/lmbench/development/lmben
 LMBENCH_LICENSE =  lmbench license (based on GPLv2)
 LMBENCH_LICENSE_FILES = COPYING COPYING-2
 
+LMBENCH_CFLAGS = $(TARGET_CFLAGS)
+LMBENCH_LDLIBS = $(TARGET_LDFLAGS)
+
+ifeq ($(BR2_PACKAGE_LIBTIRPC),y)
+LMBENCH_DEPENDENCIES += libtirpc
+LMBENCH_CFLAGS += -I$(STAGING_DIR)/usr/include/tirpc/
+LMBENCH_LDFLAGS += -ltirpc
+endif
+
 define LMBENCH_CONFIGURE_CMDS
 	$(call CONFIG_UPDATE,$(@D))
 	sed -i 's/CFLAGS=/CFLAGS+=/g' $(@D)/src/Makefile
@@ -18,7 +27,7 @@ define LMBENCH_CONFIGURE_CMDS
 endef
 
 define LMBENCH_BUILD_CMDS
-	$(MAKE) CFLAGS="$(TARGET_CFLAGS)" OS=$(ARCH) CC="$(TARGET_CC)" -C $(@D)/src
+	$(MAKE) CFLAGS="$(LMBENCH_CFLAGS)" LDFLAGS="$(LMBENCH_LDFLAGS)" OS=$(ARCH) CC="$(TARGET_CC)" -C $(@D)/src
 endef
 
 define LMBENCH_INSTALL_TARGET_CMDS
-- 
1.7.9.5

^ permalink raw reply related	[flat|nested] 40+ messages in thread

* [Buildroot] [PATCH 09/18] nfs-utils: add support to use RPC support from libtirpc
  2012-11-03 17:47 [Buildroot] [pull request] Pull request for branch for-2012.11/rpc-support Thomas Petazzoni
                   ` (7 preceding siblings ...)
  2012-11-03 17:47 ` [Buildroot] [PATCH 08/18] lmbench: add support to use " Thomas Petazzoni
@ 2012-11-03 17:47 ` Thomas Petazzoni
  2012-11-03 17:47 ` [Buildroot] [PATCH 10/18] rpcbind: new package Thomas Petazzoni
                   ` (8 subsequent siblings)
  17 siblings, 0 replies; 40+ messages in thread
From: Thomas Petazzoni @ 2012-11-03 17:47 UTC (permalink / raw)
  To: buildroot

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
---
 package/nfs-utils/Config.in    |    7 +++----
 package/nfs-utils/nfs-utils.mk |    8 +++++++-
 2 files changed, 10 insertions(+), 5 deletions(-)

diff --git a/package/nfs-utils/Config.in b/package/nfs-utils/Config.in
index c87502f..fa35f35 100644
--- a/package/nfs-utils/Config.in
+++ b/package/nfs-utils/Config.in
@@ -1,8 +1,7 @@
 config BR2_PACKAGE_NFS_UTILS
 	bool "nfs-utils"
-	depends on BR2_TOOLCHAIN_HAS_NATIVE_RPC
+	select BR2_PACKAGE_LIBTIRPC if !BR2_TOOLCHAIN_HAS_NATIVE_RPC
 	depends on BR2_LARGEFILE
-	select BR2_PACKAGE_PORTMAP
 	help
 	  The NFS Linux kernel server.
 	  Warning: We do not force largefile support on here on purpose.
@@ -10,8 +9,8 @@ config BR2_PACKAGE_NFS_UTILS
 
 	  http://sourceforge.net/projects/nfs
 
-comment "nfs-utils requires a toolchain with RPC and LARGEFILE support"
-	depends on !BR2_TOOLCHAIN_HAS_NATIVE_RPC || !BR2_LARGEFILE
+comment "nfs-utils requires a toolchain with LARGEFILE support"
+	depends on !BR2_LARGEFILE
 
 menu "NFS utilities selection"
 	depends on BR2_PACKAGE_NFS_UTILS
diff --git a/package/nfs-utils/nfs-utils.mk b/package/nfs-utils/nfs-utils.mk
index 61e0d67..216e043 100644
--- a/package/nfs-utils/nfs-utils.mk
+++ b/package/nfs-utils/nfs-utils.mk
@@ -16,7 +16,6 @@ NFS_UTILS_CONF_OPT = \
 		--disable-nfsv4 \
 		--disable-nfsv41 \
 		--disable-gss \
-		--disable-tirpc \
 		--disable-uuid \
 		--disable-ipv6 \
 		--without-tcp-wrappers \
@@ -26,6 +25,13 @@ NFS_UTILS_TARGETS_$(BR2_PACKAGE_NFS_UTILS_RPCDEBUG) += usr/sbin/rpcdebug
 NFS_UTILS_TARGETS_$(BR2_PACKAGE_NFS_UTILS_RPC_LOCKD) += usr/sbin/rpc.lockd
 NFS_UTILS_TARGETS_$(BR2_PACKAGE_NFS_UTILS_RPC_RQUOTAD) += usr/sbin/rpc.rquotad
 
+ifeq ($(BR2_PACKAGE_LIBTIRPC),y)
+NFS_UTILS_CONF_OPT += --enable-tirpc --with-tirpcinclude=$(STAGING_DIR)/usr/include/tirpc/
+NFS_UTILS_DEPENDENCIES += libtirpc
+else
+NFS_UTILS_CONF_OPT += --disable-tirpc
+endif
+
 define NFS_UTILS_INSTALL_FIXUP
 	$(INSTALL) -m 0755 package/nfs-utils/S60nfs \
 		$(TARGET_DIR)/etc/init.d/S60nfs
-- 
1.7.9.5

^ permalink raw reply related	[flat|nested] 40+ messages in thread

* [Buildroot] [PATCH 10/18] rpcbind: new package
  2012-11-03 17:47 [Buildroot] [pull request] Pull request for branch for-2012.11/rpc-support Thomas Petazzoni
                   ` (8 preceding siblings ...)
  2012-11-03 17:47 ` [Buildroot] [PATCH 09/18] nfs-utils: add support to use RPC support from libtirpc Thomas Petazzoni
@ 2012-11-03 17:47 ` Thomas Petazzoni
  2012-11-03 17:47 ` [Buildroot] [PATCH 11/18] portmap: mention that rpcbind is the project that superseds portmap Thomas Petazzoni
                   ` (7 subsequent siblings)
  17 siblings, 0 replies; 40+ messages in thread
From: Thomas Petazzoni @ 2012-11-03 17:47 UTC (permalink / raw)
  To: buildroot

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
---
 package/Config.in                              |    1 +
 package/rpcbind/Config.in                      |    8 +++++
 package/rpcbind/rpcbind-01-no-yp-support.patch |   46 ++++++++++++++++++++++++
 package/rpcbind/rpcbind.mk                     |   17 +++++++++
 4 files changed, 72 insertions(+)
 create mode 100644 package/rpcbind/Config.in
 create mode 100644 package/rpcbind/rpcbind-01-no-yp-support.patch
 create mode 100644 package/rpcbind/rpcbind.mk

diff --git a/package/Config.in b/package/Config.in
index 644e968..9a39430 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -617,6 +617,7 @@ source "package/proftpd/Config.in"
 source "package/quagga/Config.in"
 source "package/radvd/Config.in"
 source "package/rp-pppoe/Config.in"
+source "package/rpcbind/Config.in"
 source "package/rsh-redone/Config.in"
 source "package/rsync/Config.in"
 source "package/rtorrent/Config.in"
diff --git a/package/rpcbind/Config.in b/package/rpcbind/Config.in
new file mode 100644
index 0000000..1bdcd9e
--- /dev/null
+++ b/package/rpcbind/Config.in
@@ -0,0 +1,8 @@
+config BR2_PACKAGE_RPCBIND
+	bool "rpcbind"
+	# We really need libtirpc and can't work with the native RPC
+	# implementation of toolchains.
+	select BR2_PACKAGE_LIBTIRPC
+	help
+	  The rpcbind utility is a server that converts RPC program numbers
+	  into universal addresses.
diff --git a/package/rpcbind/rpcbind-01-no-yp-support.patch b/package/rpcbind/rpcbind-01-no-yp-support.patch
new file mode 100644
index 0000000..e9e6c9d
--- /dev/null
+++ b/package/rpcbind/rpcbind-01-no-yp-support.patch
@@ -0,0 +1,46 @@
+Remove yellow pages support
+
+This support requires yellow pages support in libtirpc, which isn't
+available. As most Buildroot users are most likely never going to need
+such feature, get rid of it.
+
+Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
+Index: b/src/security.c
+===================================================================
+--- a/src/security.c
++++ b/src/security.c
+@@ -23,9 +23,6 @@
+ #include <rpcsvc/mount.h>
+ #include <rpcsvc/rquota.h>
+ #include <rpcsvc/nfs_prot.h>
+-#include <rpcsvc/yp.h>
+-#include <rpcsvc/ypclnt.h>
+-#include <rpcsvc/yppasswd.h>
+ 
+ #include "rpcbind.h"
+ 
+@@ -322,24 +319,9 @@
+ 		    args->rmt_proc != MOUNTPROC_UMNT)
+ 			break;
+ 		goto deny;
+-	case YPBINDPROG:
+-		if (args->rmt_proc != YPBINDPROC_SETDOM)
+-			break;
+-		/* FALLTHROUGH */
+-	case YPPASSWDPROG:
+ 	case NFS_PROGRAM:
+ 	case RQUOTAPROG:
+ 		goto deny;
+-	case YPPROG:
+-		switch (args->rmt_proc) {
+-		case YPPROC_ALL:
+-		case YPPROC_MATCH:
+-		case YPPROC_FIRST:
+-		case YPPROC_NEXT:
+-			goto deny;
+-		default:
+-			break;
+-		}
+ 	default:
+ 		break;
+ 	}
diff --git a/package/rpcbind/rpcbind.mk b/package/rpcbind/rpcbind.mk
new file mode 100644
index 0000000..d9a80de
--- /dev/null
+++ b/package/rpcbind/rpcbind.mk
@@ -0,0 +1,17 @@
+#############################################################
+#
+# rpcbind
+#
+#############################################################
+
+RPCBIND_VERSION = 0.2.0
+RPCBIND_SITE    = http://$(BR2_SOURCEFORGE_MIRROR).dl.sourceforge.net/project/rpcbind/rpcbind/$(RPCBIND_VERSION)
+RPCBIND_SOURCE  = rpcbind-$(RPCBIND_VERSION).tar.bz2
+RPCBIND_LICENSE = BSD-3c
+RPCBIND_LICENSE_FILES = COPYING
+
+RPCBIND_CONF_ENV += \
+	CFLAGS="$(TARGET_CFLAGS) -I$(STAGING_DIR)/usr/include/tirpc/"
+RPCBIND_DEPENDENCIES += libtirpc
+
+$(eval $(autotools-package))
-- 
1.7.9.5

^ permalink raw reply related	[flat|nested] 40+ messages in thread

* [Buildroot] [PATCH 11/18] portmap: mention that rpcbind is the project that superseds portmap
  2012-11-03 17:47 [Buildroot] [pull request] Pull request for branch for-2012.11/rpc-support Thomas Petazzoni
                   ` (9 preceding siblings ...)
  2012-11-03 17:47 ` [Buildroot] [PATCH 10/18] rpcbind: new package Thomas Petazzoni
@ 2012-11-03 17:47 ` Thomas Petazzoni
  2012-11-03 17:47 ` [Buildroot] [PATCH 12/18] quota: add support to use RPC support from libtirpc Thomas Petazzoni
                   ` (6 subsequent siblings)
  17 siblings, 0 replies; 40+ messages in thread
From: Thomas Petazzoni @ 2012-11-03 17:47 UTC (permalink / raw)
  To: buildroot

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
---
 package/portmap/Config.in |    2 ++
 1 file changed, 2 insertions(+)

diff --git a/package/portmap/Config.in b/package/portmap/Config.in
index f017cb6..8d25e3a 100644
--- a/package/portmap/Config.in
+++ b/package/portmap/Config.in
@@ -4,6 +4,8 @@ config BR2_PACKAGE_PORTMAP
 	help
 	  The standard portmapper for RPC services.
 
+	  Note that portmap is being deprecated in favour of rpcbind.
+
 	  http://neil.brown.name/portmap/
 
 comment "portmap requires a toolchain with RPC support"
-- 
1.7.9.5

^ permalink raw reply related	[flat|nested] 40+ messages in thread

* [Buildroot] [PATCH 12/18] quota: add support to use RPC support from libtirpc
  2012-11-03 17:47 [Buildroot] [pull request] Pull request for branch for-2012.11/rpc-support Thomas Petazzoni
                   ` (10 preceding siblings ...)
  2012-11-03 17:47 ` [Buildroot] [PATCH 11/18] portmap: mention that rpcbind is the project that superseds portmap Thomas Petazzoni
@ 2012-11-03 17:47 ` Thomas Petazzoni
  2012-11-03 17:47 ` [Buildroot] [PATCH 13/18] samba: unconditionally enable --with-sys-quotas Thomas Petazzoni
                   ` (5 subsequent siblings)
  17 siblings, 0 replies; 40+ messages in thread
From: Thomas Petazzoni @ 2012-11-03 17:47 UTC (permalink / raw)
  To: buildroot

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
---
 package/quota/Config.in |    6 +++---
 package/quota/quota.mk  |   13 +++++++++++--
 2 files changed, 14 insertions(+), 5 deletions(-)

diff --git a/package/quota/Config.in b/package/quota/Config.in
index a26f91f..f7d0fe9 100644
--- a/package/quota/Config.in
+++ b/package/quota/Config.in
@@ -1,15 +1,15 @@
 config BR2_PACKAGE_QUOTA
 	bool "quota"
-	depends on BR2_TOOLCHAIN_HAS_NATIVE_RPC
 	depends on BR2_LARGEFILE
 	depends on BR2_USE_WCHAR
 	select BR2_PACKAGE_UTIL_LINUX
 	select BR2_PACKAGE_UTIL_LINUX_MOUNT
 	select BR2_PACKAGE_GETTEXT if BR2_NEEDS_GETTEXT_IF_LOCALE
+	select BR2_PACKAGE_LIBTIRPC if !BR2_TOOLCHAIN_HAS_NATIVE_RPC
 	help
 	  Implementation of the disk quota system.
 
 	  http://sourceforge.net/projects/linuxquota/
 
-comment "quota requires a toolchain with RPC + LARGEFILE + WCHAR support"
-	depends on !(BR2_TOOLCHAIN_HAS_NATIVE_RPC && BR2_LARGEFILE && BR2_USE_WCHAR)
+comment "quota requires a toolchain with LARGEFILE + WCHAR support"
+	depends on !(BR2_LARGEFILE && BR2_USE_WCHAR)
diff --git a/package/quota/quota.mk b/package/quota/quota.mk
index abe3675..7019059 100644
--- a/package/quota/quota.mk
+++ b/package/quota/quota.mk
@@ -8,13 +8,22 @@ QUOTA_VERSION = 4.00
 QUOTA_SOURCE = quota-$(QUOTA_VERSION).tar.gz
 QUOTA_SITE = http://downloads.sourceforge.net/project/linuxquota/quota-tools/$(QUOTA_VERSION)
 
-QUOTA_MAKE_OPT = $(TARGET_CONFIGURE_OPTS) CFLAGS="$(TARGET_CFLAGS) -D_GNU_SOURCE"
+QUOTA_CFLAGS = $(TARGET_CFLAGS)
+QUOTA_LDFLAGS = $(TARGET_LDFLAGS)
 
 ifeq ($(BR2_NEEDS_GETTEXT_IF_LOCALE),y)
 QUOTA_DEPENDENCIES = gettext
-QUOTA_MAKE_OPT += LDFLAGS="$(TARGET_LDFLAGS) -lintl"
+QUOTA_LDFLAGS += -lintl
 endif
 
+ifeq ($(BR2_PACKAGE_LIBTIRPC),y)
+QUOTA_DEPENDENCIES += libtirpc
+QUOTA_CFLAGS += -I$(STAGING_DIR)/usr/include/tirpc/
+QUOTA_LDFLAGS += -ltirpc
+endif
+
+QUOTA_MAKE_OPT = $(TARGET_CONFIGURE_OPTS) CFLAGS="$(QUOTA_CFLAGS) -D_GNU_SOURCE" LDFLAGS="$(QUOTA_LDFLAGS)"
+
 # Package uses autoconf but not automake.
 QUOTA_INSTALL_TARGET_OPT = \
 	ROOTDIR=$(TARGET_DIR) \
-- 
1.7.9.5

^ permalink raw reply related	[flat|nested] 40+ messages in thread

* [Buildroot] [PATCH 13/18] samba: unconditionally enable --with-sys-quotas
  2012-11-03 17:47 [Buildroot] [pull request] Pull request for branch for-2012.11/rpc-support Thomas Petazzoni
                   ` (11 preceding siblings ...)
  2012-11-03 17:47 ` [Buildroot] [PATCH 12/18] quota: add support to use RPC support from libtirpc Thomas Petazzoni
@ 2012-11-03 17:47 ` Thomas Petazzoni
  2012-11-03 17:47 ` [Buildroot] [PATCH 14/18] xinetd: add support to use RPC support from libtirpc Thomas Petazzoni
                   ` (4 subsequent siblings)
  17 siblings, 0 replies; 40+ messages in thread
From: Thomas Petazzoni @ 2012-11-03 17:47 UTC (permalink / raw)
  To: buildroot

Contrary to what was written in samba.mk, the sys-quotas option
apparently does not depend on RPC support in the toolchain: Samba
builds perfectly fine on an uClibc toolchain without RPC support with
sys-quotas enabled.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
---
 package/samba/samba.mk |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/package/samba/samba.mk b/package/samba/samba.mk
index 7dd0a1d..3000b99 100644
--- a/package/samba/samba.mk
+++ b/package/samba/samba.mk
@@ -51,7 +51,7 @@ SAMBA_CONF_OPT = \
 	\
 	--without-cluster-support \
 	--without-dnsupdate \
-	$(if $(BR2_TOOLCHAIN_HAS_NATIVE_RPC),--with-sys-quotas,--without-sys-quotas) \
+	--with-sys-quotas \
 	--without-ads \
 	--without-ldap \
 	--with-included-iniparser \
-- 
1.7.9.5

^ permalink raw reply related	[flat|nested] 40+ messages in thread

* [Buildroot] [PATCH 14/18] xinetd: add support to use RPC support from libtirpc
  2012-11-03 17:47 [Buildroot] [pull request] Pull request for branch for-2012.11/rpc-support Thomas Petazzoni
                   ` (12 preceding siblings ...)
  2012-11-03 17:47 ` [Buildroot] [PATCH 13/18] samba: unconditionally enable --with-sys-quotas Thomas Petazzoni
@ 2012-11-03 17:47 ` Thomas Petazzoni
  2012-11-03 17:48 ` [Buildroot] [PATCH 15/18] toolchain-external: add Sourcery CodeBench SuperH 2012.03 Thomas Petazzoni
                   ` (3 subsequent siblings)
  17 siblings, 0 replies; 40+ messages in thread
From: Thomas Petazzoni @ 2012-11-03 17:47 UTC (permalink / raw)
  To: buildroot

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
---
 package/xinetd/xinetd.mk |   19 +++++++++++++++++--
 1 file changed, 17 insertions(+), 2 deletions(-)

diff --git a/package/xinetd/xinetd.mk b/package/xinetd/xinetd.mk
index a420425..cb48145 100644
--- a/package/xinetd/xinetd.mk
+++ b/package/xinetd/xinetd.mk
@@ -9,10 +9,25 @@ XINETD_SITE          = http://www.xinetd.org
 XINETD_LICENSE       = xinetd license
 XINETD_LICENSE_FILES = COPYRIGHT
 
-ifneq ($(BR2_TOOLCHAIN_HAS_NATIVE_RPC),y)
-XINETD_CONF_ENV = CFLAGS="$(TARGET_CFLAGS) -DNO_RPC"
+XINETD_CFLAGS = $(TARGET_CFLAGS)
+
+# Three cases here:
+#  1. We have libtirpc, use it by passing special flags
+#  2. We have native RPC support, use it, no need to pass special
+#     flags (so this case 2 is implicit and not visible below)
+#  3. We don't have RPC support, pass -DNO_RPC to disable it
+ifeq ($(BR2_PACKAGE_LIBTIRPC),y)
+XINETD_DEPENDENCIES += libtirpc
+XINETD_CFLAGS += -I$(STAGING_DIR)/usr/include/tirpc/
+XINETD_LIBS += -ltirpc
+else ifeq ($(BR2_TOOLCHAIN_HAS_NATIVE_RPC),)
+XINETD_CFLAGS += -DNO_RPC
 endif
 
+XINETD_CONF_ENV += \
+	CFLAGS="$(XINETD_CFLAGS)" \
+	LIBS="$(XINETD_LIBS)"
+
 XINETD_MAKE_OPT = AR="$(TARGET_AR)"
 
 $(eval $(autotools-package))
-- 
1.7.9.5

^ permalink raw reply related	[flat|nested] 40+ messages in thread

* [Buildroot] [PATCH 15/18] toolchain-external: add Sourcery CodeBench SuperH 2012.03
  2012-11-03 17:47 [Buildroot] [pull request] Pull request for branch for-2012.11/rpc-support Thomas Petazzoni
                   ` (13 preceding siblings ...)
  2012-11-03 17:47 ` [Buildroot] [PATCH 14/18] xinetd: add support to use RPC support from libtirpc Thomas Petazzoni
@ 2012-11-03 17:48 ` Thomas Petazzoni
  2012-11-04  6:52   ` Baruch Siach
  2012-11-03 17:48 ` [Buildroot] [PATCH 16/18] toolchain-external: add Sourcery CodeBench x86 2012.03 Thomas Petazzoni
                   ` (2 subsequent siblings)
  17 siblings, 1 reply; 40+ messages in thread
From: Thomas Petazzoni @ 2012-11-03 17:48 UTC (permalink / raw)
  To: buildroot

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
---
 toolchain/toolchain-external/Config.in   |   20 ++++++++++++++++++++
 toolchain/toolchain-external/ext-tool.mk |    3 +++
 2 files changed, 23 insertions(+)

diff --git a/toolchain/toolchain-external/Config.in b/toolchain/toolchain-external/Config.in
index 96b689a..2bf4e0b 100644
--- a/toolchain/toolchain-external/Config.in
+++ b/toolchain/toolchain-external/Config.in
@@ -421,6 +421,25 @@ config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_POWERPC201009
 	    - 970 glibc hard-float, 64 bits
 	      Set BR2_TARGET_OPTIMIZATION to -m64
 
+config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_SH201203
+	bool "Sourcery CodeBench SH 2012.03"
+	depends on BR2_sh4a || BR2_sh4aeb
+	select BR2_TOOLCHAIN_EXTERNAL_GLIBC
+	select BR2_INSTALL_LIBSTDCPP
+	help
+	  Sourcery CodeBench toolchain for the SuperH architecture,
+	  from Mentor Graphics. It uses gcc 4.5.2, binutils 2.20,
+	  glibc 2.13, uClibc 0.9.30, gdb 7.2.50 and kernel headers
+	  2.6.38. It has support for the following variants:
+            - SH4A, glibc, little endian
+              Default.
+            - SH4A, glibc, big endian
+              Add -mb to BR2_TARGET_OPTIMIZATION
+            - SH4A, uClibc, little endian
+              Not usable in Buildroot yet.
+            - SH4A, uClibc, big endian
+              Not usable in Buildroot yet.
+
 config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_SH201103
 	bool "Sourcery CodeBench SH 2011.03"
 	depends on BR2_sh4a || BR2_sh4aeb
@@ -671,6 +690,7 @@ config BR2_TOOLCHAIN_EXTERNAL_PREFIX
 	default "powerpc-linux-gnu"      if BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_POWERPC201103
 	default "sh-linux-gnu"           if BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_SH201009
 	default "sh-linux-gnu"           if BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_SH201103
+	default "sh-linux-gnu"           if BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_SH201203
 	default "sh-uclinux"             if BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_SH2A_201009
 	default "sh-uclinux"             if BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_SH2A_201103
 	default "i686-pc-linux-gnu"	 if BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_X86_201009
diff --git a/toolchain/toolchain-external/ext-tool.mk b/toolchain/toolchain-external/ext-tool.mk
index 459bc12..df1ef15 100644
--- a/toolchain/toolchain-external/ext-tool.mk
+++ b/toolchain/toolchain-external/ext-tool.mk
@@ -226,6 +226,9 @@ TOOLCHAIN_EXTERNAL_SOURCE=renesas-2010.09-45-sh-linux-gnu-i686-pc-linux-gnu.tar.
 else ifeq ($(BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_SH201103),y)
 TOOLCHAIN_EXTERNAL_SITE=https://sourcery.mentor.com/sgpp/lite/superh/portal/package8759/public/sh-linux-gnu/
 TOOLCHAIN_EXTERNAL_SOURCE=renesas-2011.03-37-sh-linux-gnu-i686-pc-linux-gnu.tar.bz2
+else ifeq ($(BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_SH201203),y)
+TOOLCHAIN_EXTERNAL_SITE=https://sourcery.mentor.com/GNUToolchain/package10148/public/sh-linux-gnu/
+TOOLCHAIN_EXTERNAL_SOURCE=renesas-2012.03-35-sh-linux-gnu-i686-pc-linux-gnu.tar.bz2
 else ifeq ($(BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_SH2A_201009),y)
 TOOLCHAIN_EXTERNAL_SITE=http://sourcery.mentor.com/sgpp/lite/superh/portal/package7859/public/sh-uclinux/
 TOOLCHAIN_EXTERNAL_SOURCE=renesas-2010.09-60-sh-uclinux-i686-pc-linux-gnu.tar.bz2
-- 
1.7.9.5

^ permalink raw reply related	[flat|nested] 40+ messages in thread

* [Buildroot] [PATCH 16/18] toolchain-external: add Sourcery CodeBench x86 2012.03
  2012-11-03 17:47 [Buildroot] [pull request] Pull request for branch for-2012.11/rpc-support Thomas Petazzoni
                   ` (14 preceding siblings ...)
  2012-11-03 17:48 ` [Buildroot] [PATCH 15/18] toolchain-external: add Sourcery CodeBench SuperH 2012.03 Thomas Petazzoni
@ 2012-11-03 17:48 ` Thomas Petazzoni
  2012-11-04  3:15   ` Arnout Vandecappelle
  2012-11-03 17:48 ` [Buildroot] [PATCH 17/18] netkitbase: mark as deprecated Thomas Petazzoni
  2012-11-03 17:48 ` [Buildroot] [PATCH 18/18] netkittelnet: " Thomas Petazzoni
  17 siblings, 1 reply; 40+ messages in thread
From: Thomas Petazzoni @ 2012-11-03 17:48 UTC (permalink / raw)
  To: buildroot

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
---
 toolchain/toolchain-external/Config.in   |   26 ++++++++++++++++++++++++++
 toolchain/toolchain-external/ext-tool.mk |    3 +++
 2 files changed, 29 insertions(+)

diff --git a/toolchain/toolchain-external/Config.in b/toolchain/toolchain-external/Config.in
index 2bf4e0b..d5006b4 100644
--- a/toolchain/toolchain-external/Config.in
+++ b/toolchain/toolchain-external/Config.in
@@ -514,6 +514,31 @@ config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_SH2A_201009
 	  has support for the following variants:
 	    - SH2A, uClibc, big endian
 
+config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_X86_201203
+	bool "Sourcery CodeBench x86/x86_64 2012.03"
+	depends on BR2_i386 || BR2_x86_64
+	select BR2_TOOLCHAIN_EXTERNAL_GLIBC
+	select BR2_INSTALL_LIBSTDCPP
+	help
+	  Sourcery CodeBench toolchain for the x86/x86_64
+	  architectures, from Mentor Graphics. It uses gcc 4.6.3,
+	  binutils 2.21.53, glibc 2.15, gdb 7.2.50 and kernel headers
+	  3.2.10. It has support for the following variants:
+	    - Intel Pentium 4, glibc, 32 bits
+	      Default for x86, nothing special to do.
+	    - Intel Atom, glibc, 32 bits
+	      Select an Atom core
+	    - Intel Xeon, glibc, 64 bits
+	      Default for x86_64, nothing special to do.
+	    - Intel Core 2, glibc, 64 bits
+	      Select a Core 2 core
+	  Other architecture variants (beyond Pentium-4/Xeon) are
+	  supported as well, but glibc is not optimised for it.
+
+	  Note that due to the upgrade to glibc 2.15, this toolchain
+	  no longer provides RPC functions. The TI-RPC library should
+	  be used instead, but isn't available in Buildroot yet.
+
 config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_X86_201109
 	bool "Sourcery CodeBench x86/x86_64 2011.09"
 	depends on BR2_i386 || BR2_x86_64
@@ -695,6 +720,7 @@ config BR2_TOOLCHAIN_EXTERNAL_PREFIX
 	default "sh-uclinux"             if BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_SH2A_201103
 	default "i686-pc-linux-gnu"	 if BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_X86_201009
 	default "i686-pc-linux-gnu"	 if BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_X86_201109
+	default "i686-pc-linux-gnu"	 if BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_X86_201203
 	default "bfin-uclinux"		 if BR2_TOOLCHAIN_EXTERNAL_BLACKFIN_UCLINUX_2010RC1 && !BR2_BFIN_FDPIC
 	default "bfin-linux-uclibc"	 if BR2_TOOLCHAIN_EXTERNAL_BLACKFIN_UCLINUX_2010RC1 && BR2_BFIN_FDPIC
 	default "bfin-uclinux"		 if BR2_TOOLCHAIN_EXTERNAL_BLACKFIN_UCLINUX_2011R1 && !BR2_BFIN_FDPIC
diff --git a/toolchain/toolchain-external/ext-tool.mk b/toolchain/toolchain-external/ext-tool.mk
index df1ef15..27a0302 100644
--- a/toolchain/toolchain-external/ext-tool.mk
+++ b/toolchain/toolchain-external/ext-tool.mk
@@ -241,6 +241,9 @@ TOOLCHAIN_EXTERNAL_SOURCE=ia32-2010.09-44-i686-pc-linux-gnu-i386-linux.tar.bz2
 else ifeq ($(BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_X86_201109),y)
 TOOLCHAIN_EXTERNAL_SITE=https://sourcery.mentor.com/public/gnu_toolchain/i686-pc-linux-gnu/
 TOOLCHAIN_EXTERNAL_SOURCE=ia32-2011.09-24-i686-pc-linux-gnu-i386-linux.tar.bz2
+else ifeq ($(BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_X86_201203),y)
+TOOLCHAIN_EXTERNAL_SITE=https://sourcery.mentor.com/GNUToolchain/package10163/public/i686-pc-linux-gnu/
+TOOLCHAIN_EXTERNAL_SOURCE=ia32-2012.03-27-i686-pc-linux-gnu-i386-linux.tar.bz2
 else ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BLACKFIN_UCLINUX_2010RC1),y)
 TOOLCHAIN_EXTERNAL_SITE_1   = http://blackfin.uclinux.org/gf/download/frsrelease/501/8378/
 TOOLCHAIN_EXTERNAL_SOURCE_1 = blackfin-toolchain-2010R1-RC4.i386.tar.bz2
-- 
1.7.9.5

^ permalink raw reply related	[flat|nested] 40+ messages in thread

* [Buildroot] [PATCH 17/18] netkitbase: mark as deprecated
  2012-11-03 17:47 [Buildroot] [pull request] Pull request for branch for-2012.11/rpc-support Thomas Petazzoni
                   ` (15 preceding siblings ...)
  2012-11-03 17:48 ` [Buildroot] [PATCH 16/18] toolchain-external: add Sourcery CodeBench x86 2012.03 Thomas Petazzoni
@ 2012-11-03 17:48 ` Thomas Petazzoni
  2012-11-04  0:18   ` Peter Korsgaard
  2012-11-03 17:48 ` [Buildroot] [PATCH 18/18] netkittelnet: " Thomas Petazzoni
  17 siblings, 1 reply; 40+ messages in thread
From: Thomas Petazzoni @ 2012-11-03 17:48 UTC (permalink / raw)
  To: buildroot

It is no longer being developed, the FTP is dead, and Debian has
removed it from the distribution.

Also it allows to not worry about adding RPC support through libtirpc
to this package.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
---
 package/netkitbase/Config.in |    1 +
 1 file changed, 1 insertion(+)

diff --git a/package/netkitbase/Config.in b/package/netkitbase/Config.in
index 75bd728..dd9166c 100644
--- a/package/netkitbase/Config.in
+++ b/package/netkitbase/Config.in
@@ -1,6 +1,7 @@
 config BR2_PACKAGE_NETKITBASE
 	bool "netkitbase"
 	depends on BR2_TOOLCHAIN_HAS_NATIVE_RPC
+	depends on BR2_DEPRECATED
 	help
 	  Old-style inetd.
 
-- 
1.7.9.5

^ permalink raw reply related	[flat|nested] 40+ messages in thread

* [Buildroot] [PATCH 18/18] netkittelnet: mark as deprecated
  2012-11-03 17:47 [Buildroot] [pull request] Pull request for branch for-2012.11/rpc-support Thomas Petazzoni
                   ` (16 preceding siblings ...)
  2012-11-03 17:48 ` [Buildroot] [PATCH 17/18] netkitbase: mark as deprecated Thomas Petazzoni
@ 2012-11-03 17:48 ` Thomas Petazzoni
  2012-11-04  0:18   ` Peter Korsgaard
  17 siblings, 1 reply; 40+ messages in thread
From: Thomas Petazzoni @ 2012-11-03 17:48 UTC (permalink / raw)
  To: buildroot

It is no longer being developed, the FTP is dead, and Debian has
removed it from the distribution.

Also it allows to not worry about adding RPC support through libtirpc
to this package.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
---
 package/netkittelnet/Config.in |    1 +
 1 file changed, 1 insertion(+)

diff --git a/package/netkittelnet/Config.in b/package/netkittelnet/Config.in
index 10eb022..1f11d88 100644
--- a/package/netkittelnet/Config.in
+++ b/package/netkittelnet/Config.in
@@ -1,6 +1,7 @@
 config BR2_PACKAGE_NETKITTELNET
 	bool "netkittelnet"
 	depends on BR2_TOOLCHAIN_HAS_NATIVE_RPC
+	depends on BR2_DEPRECATED
 	select BR2_PACKAGE_NETKITBASE
 	help
 	  Standard Linux telnet client and server.
-- 
1.7.9.5

^ permalink raw reply related	[flat|nested] 40+ messages in thread

* [Buildroot] [PATCH 01/18] uClibc: use the Buildroot toolchain options instead of the hidden common options
  2012-11-03 17:47 ` [Buildroot] [PATCH 01/18] uClibc: use the Buildroot toolchain options instead of the hidden common options Thomas Petazzoni
@ 2012-11-03 23:32   ` Arnout Vandecappelle
  2012-11-04  0:11   ` Peter Korsgaard
  1 sibling, 0 replies; 40+ messages in thread
From: Arnout Vandecappelle @ 2012-11-03 23:32 UTC (permalink / raw)
  To: buildroot

On 11/03/12 18:47, Thomas Petazzoni wrote:
> Since we are some day going to finally rename the badly named common
> toolchain options (BR2_USE_WCHAR, BR2_ENABLE_LOCALE, BR2_INET_RPC,
> etc.) into something more logical, let's start using the Buildroot
> toolchain options in the uClibc code.
>
> Signed-off-by: Thomas Petazzoni<thomas.petazzoni@free-electrons.com>

Acked-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
-- 
Arnout Vandecappelle                               arnout at mind be
Senior Embedded Software Architect                 +32-16-286540
Essensium/Mind                                     http://www.mind.be
G.Geenslaan 9, 3001 Leuven, Belgium                BE 872 984 063 RPR Leuven
LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle
GPG fingerprint:  7CB5 E4CC 6C2E EFD4 6E3D A754 F963 ECAB 2450 2F1F

^ permalink raw reply	[flat|nested] 40+ messages in thread

* [Buildroot] [PATCH 02/18] busybox: don't force FEATURE_NFS_MOUNT
  2012-11-03 17:47 ` [Buildroot] [PATCH 02/18] busybox: don't force FEATURE_NFS_MOUNT Thomas Petazzoni
@ 2012-11-03 23:35   ` Arnout Vandecappelle
  2012-11-04  0:12   ` Peter Korsgaard
  1 sibling, 0 replies; 40+ messages in thread
From: Arnout Vandecappelle @ 2012-11-03 23:35 UTC (permalink / raw)
  To: buildroot

On 11/03/12 18:47, Thomas Petazzoni wrote:
> Instead of making the Busybox configuration more complicated by trying
> to adjust it depending on whether RPC is available or not (which gets
> complicated when RPC support can be provided by libtirpc), simplify
> things by letting the user enable FEATURE_NFS_MOUNT or not depending
> on whether RPC support is available or not.
>
> Our default configuration do not enable FEATURE_NFS_MOUNT, so users
> will not face any build problems by default. Only if they explicitly
> enable FEATURE_NFS_MOUNT will they have to make sure that the
> toolchain has RPC support, or that libtirpc is enabled (support for
> this added in a followup patch).
>
> Signed-off-by: Thomas Petazzoni<thomas.petazzoni@free-electrons.com>

  Except for one comment below:

Acked-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>


> ---
>   package/busybox/busybox.mk |   11 -----------
>   1 file changed, 11 deletions(-)
>
> diff --git a/package/busybox/busybox.mk b/package/busybox/busybox.mk
> index 33f8633..306b46f 100644
> --- a/package/busybox/busybox.mk
> +++ b/package/busybox/busybox.mk
> @@ -81,17 +81,6 @@ define BUSYBOX_SET_IPV6
>   endef
>   endif
>
> -# If RPC is enabled then enable nfs mounts
> -ifeq ($(BR2_INET_RPC),y)
> -define BUSYBOX_SET_RPC
> -	$(call KCONFIG_ENABLE_OPT,CONFIG_FEATURE_MOUNT_NFS,$(BUSYBOX_BUILD_CONFIG))
> -endef
> -else
> -define BUSYBOX_SET_RPC
> -	$(call KCONFIG_DISABLE_OPT,CONFIG_FEATURE_MOUNT_NFS,$(BUSYBOX_BUILD_CONFIG))
> -endef
> -endif
> -

  You forgot to remove the use of $(BUSYBOX_SET_RPC)


  Regards,
  Arnout

>   # If we're using static libs do the same for busybox
>   ifeq ($(BR2_PREFER_STATIC_LIB),y)
>   define BUSYBOX_PREFER_STATIC

-- 
Arnout Vandecappelle                               arnout at mind be
Senior Embedded Software Architect                 +32-16-286540
Essensium/Mind                                     http://www.mind.be
G.Geenslaan 9, 3001 Leuven, Belgium                BE 872 984 063 RPR Leuven
LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle
GPG fingerprint:  7CB5 E4CC 6C2E EFD4 6E3D A754 F963 ECAB 2450 2F1F

^ permalink raw reply	[flat|nested] 40+ messages in thread

* [Buildroot] [PATCH 03/18] toolchain-crosstool-ng: use the Crosstool-ng config options instead of the common hidden ones
  2012-11-03 17:47 ` [Buildroot] [PATCH 03/18] toolchain-crosstool-ng: use the Crosstool-ng config options instead of the common hidden ones Thomas Petazzoni
@ 2012-11-03 23:39   ` Arnout Vandecappelle
  2012-11-04  0:13   ` Peter Korsgaard
  1 sibling, 0 replies; 40+ messages in thread
From: Arnout Vandecappelle @ 2012-11-03 23:39 UTC (permalink / raw)
  To: buildroot

On 11/03/12 18:47, Thomas Petazzoni wrote:
> Since we are some day going to finally rename the badly named common
> toolchain options (BR2_USE_WCHAR, BR2_ENABLE_LOCALE, BR2_INET_RPC,
> etc.) into something more logical, let's start using the Crosstool-NG
> toolchain options in the Crosstool-NG code.
>
> Signed-off-by: Thomas Petazzoni<thomas.petazzoni@free-electrons.com>
> Reviewed-by: Yann E. MORIN<yann.morin.1998@free.fr>

Acked-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>

-- 
Arnout Vandecappelle                               arnout at mind be
Senior Embedded Software Architect                 +32-16-286540
Essensium/Mind                                     http://www.mind.be
G.Geenslaan 9, 3001 Leuven, Belgium                BE 872 984 063 RPR Leuven
LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle
GPG fingerprint:  7CB5 E4CC 6C2E EFD4 6E3D A754 F963 ECAB 2450 2F1F

^ permalink raw reply	[flat|nested] 40+ messages in thread

* [Buildroot] [PATCH 04/18] Rename BR2_INET_RPC to BR2_TOOLCHAIN_HAS_NATIVE_RPC
  2012-11-03 17:47 ` [Buildroot] [PATCH 04/18] Rename BR2_INET_RPC to BR2_TOOLCHAIN_HAS_NATIVE_RPC Thomas Petazzoni
@ 2012-11-03 23:42   ` Arnout Vandecappelle
  2012-11-04  0:15   ` Peter Korsgaard
  1 sibling, 0 replies; 40+ messages in thread
From: Arnout Vandecappelle @ 2012-11-03 23:42 UTC (permalink / raw)
  To: buildroot

On 11/03/12 18:47, Thomas Petazzoni wrote:
> The BR2_INET_RPC has for a long time been a not very descriptive
> configuration option name, and with the advent of non-RPC glibc
> toolchains and the apparition of libtirpc, we really need to rename it
> to something more sensible, BR2_TOOLCHAIN_HAS_NATIVE_RPC.
>
> Signed-off-by: Thomas Petazzoni<thomas.petazzoni@free-electrons.com>

Acked-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>

-- 
Arnout Vandecappelle                               arnout at mind be
Senior Embedded Software Architect                 +32-16-286540
Essensium/Mind                                     http://www.mind.be
G.Geenslaan 9, 3001 Leuven, Belgium                BE 872 984 063 RPR Leuven
LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle
GPG fingerprint:  7CB5 E4CC 6C2E EFD4 6E3D A754 F963 ECAB 2450 2F1F

^ permalink raw reply	[flat|nested] 40+ messages in thread

* [Buildroot] [PATCH 05/18] toolchain-external: improve glibc support to test availability of RPC
  2012-11-03 17:47 ` [Buildroot] [PATCH 05/18] toolchain-external: improve glibc support to test availability of RPC Thomas Petazzoni
@ 2012-11-03 23:45   ` Arnout Vandecappelle
  0 siblings, 0 replies; 40+ messages in thread
From: Arnout Vandecappelle @ 2012-11-03 23:45 UTC (permalink / raw)
  To: buildroot

On 11/03/12 18:47, Thomas Petazzoni wrote:
> Basically, the BR2_TOOLCHAIN_EXTERNAL_GLIBC option no longer
> unconditionally selects BR2_TOOLCHAIN_HAS_NATIVE_RPC since there are
> glibc toolchains that don't have RPC support. All the predefined
> toolchain profiles are updated to take into account this change: for
> the moment, all glibc toolchains that have pre-defined toolchains have
> RPC support, but further patches in the series add pre-defined glibc
> toolchains that don't have RPC support. In the case of custom glibc
> toolchains, a question is asked to the user so that he can say whether
> the external glibc toolchain has RPC support or not. The validity of
> this configuration option is checked by the new
> check_glibc_rpc_feature function in helpers.mk.
>
> Signed-off-by: Thomas Petazzoni<thomas.petazzoni@free-electrons.com>

Acked-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
  (Visual review only)

-- 
Arnout Vandecappelle                               arnout at mind be
Senior Embedded Software Architect                 +32-16-286540
Essensium/Mind                                     http://www.mind.be
G.Geenslaan 9, 3001 Leuven, Belgium                BE 872 984 063 RPR Leuven
LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle
GPG fingerprint:  7CB5 E4CC 6C2E EFD4 6E3D A754 F963 ECAB 2450 2F1F

^ permalink raw reply	[flat|nested] 40+ messages in thread

* [Buildroot] [PATCH 06/18] libtirpc: new package
  2012-11-03 17:47 ` [Buildroot] [PATCH 06/18] libtirpc: new package Thomas Petazzoni
@ 2012-11-03 23:53   ` Arnout Vandecappelle
  2012-11-04  0:47   ` Peter Korsgaard
  1 sibling, 0 replies; 40+ messages in thread
From: Arnout Vandecappelle @ 2012-11-03 23:53 UTC (permalink / raw)
  To: buildroot

On 11/03/12 18:47, Thomas Petazzoni wrote:
> Signed-off-by: Thomas Petazzoni<thomas.petazzoni@free-electrons.com>
[snip]
> diff --git a/package/libtirpc/Config.in b/package/libtirpc/Config.in
> new file mode 100644
> index 0000000..0172f0d
> --- /dev/null
> +++ b/package/libtirpc/Config.in
> @@ -0,0 +1,12 @@
> +config BR2_PACKAGE_LIBTIRPC
> +	bool "libtirpc"
> +	depends on !BR2_TOOLCHAIN_HAS_NATIVE_RPC

  This line is removed again in the next patch.

> +	help
> +	  Libtirpc is a port of Sun's Transport-Independent RPC
> +	  library to Linux.
> +
> +	  http://sourceforge.net/projects/libtirpc/
> +
> +config BR2_RPC_SUPPORT_AVAILABLE
> +       bool
> +       default y if (BR2_TOOLCHAIN_HAS_NATIVE_RPC || BR2_PACKAGE_LIBTIRPC)
> diff --git a/package/libtirpc/libtirpc-0001-Disable-parts-of-TIRPC-requiring-NIS-support.patch b/package/libtirpc/libtirpc-0001-Disable-parts-of-TIRPC-requiring-NIS-support.patch

  What's the upstream status of the patches?  I guess at least this one will not be accepted
upstream...

[snip]
> diff --git a/package/libtirpc/libtirpc.mk b/package/libtirpc/libtirpc.mk
> new file mode 100644
> index 0000000..32fbeb5
> --- /dev/null
> +++ b/package/libtirpc/libtirpc.mk
> @@ -0,0 +1,17 @@
> +#############################################################
> +#
> +# libtirpc
> +#
> +#############################################################
> +
> +LIBTIRPC_VERSION = 0.2.2
> +LIBTIRPC_SOURCE = libtirpc-$(LIBTIRPC_VERSION).tar.bz2
> +LIBTIRPC_SITE = http://$(BR2_SOURCEFORGE_MIRROR).dl.sourceforge.net/project/libtirpc/libtirpc/$(LIBTIRPC_VERSION)

  http://downloads.sourceforge.net/project/libtirpc/libtirpc/$(LIBTIRPC_VERSION)

> +LIBTIRPC_LICENSE = BSD-3c
> +LIBTIRPC_LICENSE_FILES = COPYING
> +
> +LIBTIRPC_INSTALL_STAGING = YES
> +LIBTIRPC_AUTORECONF = YES
> +LIBTIRPC_DEPENDENCIES = host-pkg-config

  host-pkgconf

> +
> +$(eval $(autotools-package))


  Maybe test your patch :-)

  Regards,
  Arnout
-- 
Arnout Vandecappelle                               arnout at mind be
Senior Embedded Software Architect                 +32-16-286540
Essensium/Mind                                     http://www.mind.be
G.Geenslaan 9, 3001 Leuven, Belgium                BE 872 984 063 RPR Leuven
LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle
GPG fingerprint:  7CB5 E4CC 6C2E EFD4 6E3D A754 F963 ECAB 2450 2F1F

^ permalink raw reply	[flat|nested] 40+ messages in thread

* [Buildroot] [PATCH 07/18] busybox: add support to link against libtirpc when available
  2012-11-03 17:47 ` [Buildroot] [PATCH 07/18] busybox: add support to link against libtirpc when available Thomas Petazzoni
@ 2012-11-03 23:56   ` Arnout Vandecappelle
  0 siblings, 0 replies; 40+ messages in thread
From: Arnout Vandecappelle @ 2012-11-03 23:56 UTC (permalink / raw)
  To: buildroot

On 11/03/12 18:47, Thomas Petazzoni wrote:
> Signed-off-by: Thomas Petazzoni<thomas.petazzoni@free-electrons.com>

  Except for the lines that shouldn't have been added by the previous patch:

Acked-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
  (Visual inspection only)

-- 
Arnout Vandecappelle                               arnout at mind be
Senior Embedded Software Architect                 +32-16-286540
Essensium/Mind                                     http://www.mind.be
G.Geenslaan 9, 3001 Leuven, Belgium                BE 872 984 063 RPR Leuven
LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle
GPG fingerprint:  7CB5 E4CC 6C2E EFD4 6E3D A754 F963 ECAB 2450 2F1F

^ permalink raw reply	[flat|nested] 40+ messages in thread

* [Buildroot] [PATCH 08/18] lmbench: add support to use libtirpc when available
  2012-11-03 17:47 ` [Buildroot] [PATCH 08/18] lmbench: add support to use " Thomas Petazzoni
@ 2012-11-04  0:01   ` Arnout Vandecappelle
  0 siblings, 0 replies; 40+ messages in thread
From: Arnout Vandecappelle @ 2012-11-04  0:01 UTC (permalink / raw)
  To: buildroot

On 11/03/12 18:47, Thomas Petazzoni wrote:
> -	# Uses pmap_set, pmap__unset, pmap_getport, etc.
> -	depends on BR2_TOOLCHAIN_HAS_NATIVE_RPC
> +	select BR2_PACKAGE_LIBTIRPC if !BR2_TOOLCHAIN_HAS_NATIVE_RPC
>   	help
>   	  LMbench is a suite of simple, portable,
>   	  ANSI/C microbenchmarks for UNIX/POSIX.
>
>   	http://sourceforge.net/projects/lmbench/
> -
> -comment "lmbench requires a toolchain with RPC support"
> -	depends on !BR2_TOOLCHAIN_HAS_NATIVE_RPC
> diff --git a/package/lmbench/lmbench.mk b/package/lmbench/lmbench.mk
> index d3d0f8f..1932adb 100644
> --- a/package/lmbench/lmbench.mk
> +++ b/package/lmbench/lmbench.mk
> @@ -9,6 +9,15 @@ LMBENCH_SITE:=http://downloads.sourceforge.net/project/lmbench/development/lmben
>   LMBENCH_LICENSE =  lmbench license (based on GPLv2)
>   LMBENCH_LICENSE_FILES = COPYING COPYING-2
>
> +LMBENCH_CFLAGS = $(TARGET_CFLAGS)
> +LMBENCH_LDLIBS = $(TARGET_LDFLAGS)
> +
> +ifeq ($(BR2_PACKAGE_LIBTIRPC),y)
> +LMBENCH_DEPENDENCIES += libtirpc
> +LMBENCH_CFLAGS += -I$(STAGING_DIR)/usr/include/tirpc/
> +LMBENCH_LDFLAGS += -ltirpc
> +endif

  For discussion tomorrow: do we want to use a similar strategy as Yann's proposal
for gettext, i.e.:

select BR2_NEEDS_RPC

LMBENCH_DEPENDENCIES += $(rpc-dependency)
LMBENCH_CFLAGS       += $(rpc-cflags)
LMBENCH_LDFLAGS      += $(rpc-ldflags)


  Regards,
  Arnout

-- 
Arnout Vandecappelle                               arnout at mind be
Senior Embedded Software Architect                 +32-16-286540
Essensium/Mind                                     http://www.mind.be
G.Geenslaan 9, 3001 Leuven, Belgium                BE 872 984 063 RPR Leuven
LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle
GPG fingerprint:  7CB5 E4CC 6C2E EFD4 6E3D A754 F963 ECAB 2450 2F1F

^ permalink raw reply	[flat|nested] 40+ messages in thread

* [Buildroot] [PATCH 01/18] uClibc: use the Buildroot toolchain options instead of the hidden common options
  2012-11-03 17:47 ` [Buildroot] [PATCH 01/18] uClibc: use the Buildroot toolchain options instead of the hidden common options Thomas Petazzoni
  2012-11-03 23:32   ` Arnout Vandecappelle
@ 2012-11-04  0:11   ` Peter Korsgaard
  1 sibling, 0 replies; 40+ messages in thread
From: Peter Korsgaard @ 2012-11-04  0:11 UTC (permalink / raw)
  To: buildroot

>>>>> "Thomas" == Thomas Petazzoni <thomas.petazzoni@free-electrons.com> writes:

 Thomas> Since we are some day going to finally rename the badly named common
 Thomas> toolchain options (BR2_USE_WCHAR, BR2_ENABLE_LOCALE, BR2_INET_RPC,
 Thomas> etc.) into something more logical, let's start using the Buildroot
 Thomas> toolchain options in the uClibc code.

Committed, thanks.

-- 
Bye, Peter Korsgaard

^ permalink raw reply	[flat|nested] 40+ messages in thread

* [Buildroot] [PATCH 02/18] busybox: don't force FEATURE_NFS_MOUNT
  2012-11-03 17:47 ` [Buildroot] [PATCH 02/18] busybox: don't force FEATURE_NFS_MOUNT Thomas Petazzoni
  2012-11-03 23:35   ` Arnout Vandecappelle
@ 2012-11-04  0:12   ` Peter Korsgaard
  1 sibling, 0 replies; 40+ messages in thread
From: Peter Korsgaard @ 2012-11-04  0:12 UTC (permalink / raw)
  To: buildroot

>>>>> "Thomas" == Thomas Petazzoni <thomas.petazzoni@free-electrons.com> writes:

 Thomas> Instead of making the Busybox configuration more complicated by trying
 Thomas> to adjust it depending on whether RPC is available or not (which gets
 Thomas> complicated when RPC support can be provided by libtirpc), simplify
 Thomas> things by letting the user enable FEATURE_NFS_MOUNT or not depending
 Thomas> on whether RPC support is available or not.

 Thomas> Our default configuration do not enable FEATURE_NFS_MOUNT, so users
 Thomas> will not face any build problems by default. Only if they explicitly
 Thomas> enable FEATURE_NFS_MOUNT will they have to make sure that the
 Thomas> toolchain has RPC support, or that libtirpc is enabled (support for
 Thomas> this added in a followup patch).

 Thomas> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
 Thomas> ---
 Thomas>  package/busybox/busybox.mk |   11 -----------
 Thomas>  1 file changed, 11 deletions(-)

 Thomas> diff --git a/package/busybox/busybox.mk b/package/busybox/busybox.mk
 Thomas> index 33f8633..306b46f 100644
 Thomas> --- a/package/busybox/busybox.mk
 Thomas> +++ b/package/busybox/busybox.mk
 Thomas> @@ -81,17 +81,6 @@ define BUSYBOX_SET_IPV6
 Thomas>  endef
 Thomas>  endif
 
 Thomas> -# If RPC is enabled then enable nfs mounts
 Thomas> -ifeq ($(BR2_INET_RPC),y)
 Thomas> -define BUSYBOX_SET_RPC
 Thomas> -	$(call KCONFIG_ENABLE_OPT,CONFIG_FEATURE_MOUNT_NFS,$(BUSYBOX_BUILD_CONFIG))
 Thomas> -endef
 Thomas> -else
 Thomas> -define BUSYBOX_SET_RPC
 Thomas> -	$(call KCONFIG_DISABLE_OPT,CONFIG_FEATURE_MOUNT_NFS,$(BUSYBOX_BUILD_CONFIG))
 Thomas> -endef
 Thomas> -endif

You forgot to remove it from BUSYBOX_CONFIGURE_CMDS. I've fixed that and
committed, thanks.

-- 
Bye, Peter Korsgaard

^ permalink raw reply	[flat|nested] 40+ messages in thread

* [Buildroot] [PATCH 03/18] toolchain-crosstool-ng: use the Crosstool-ng config options instead of the common hidden ones
  2012-11-03 17:47 ` [Buildroot] [PATCH 03/18] toolchain-crosstool-ng: use the Crosstool-ng config options instead of the common hidden ones Thomas Petazzoni
  2012-11-03 23:39   ` Arnout Vandecappelle
@ 2012-11-04  0:13   ` Peter Korsgaard
  1 sibling, 0 replies; 40+ messages in thread
From: Peter Korsgaard @ 2012-11-04  0:13 UTC (permalink / raw)
  To: buildroot

>>>>> "Thomas" == Thomas Petazzoni <thomas.petazzoni@free-electrons.com> writes:

 Thomas> Since we are some day going to finally rename the badly named common
 Thomas> toolchain options (BR2_USE_WCHAR, BR2_ENABLE_LOCALE, BR2_INET_RPC,
 Thomas> etc.) into something more logical, let's start using the Crosstool-NG
 Thomas> toolchain options in the Crosstool-NG code.

Committed, thanks.

-- 
Bye, Peter Korsgaard

^ permalink raw reply	[flat|nested] 40+ messages in thread

* [Buildroot] [PATCH 04/18] Rename BR2_INET_RPC to BR2_TOOLCHAIN_HAS_NATIVE_RPC
  2012-11-03 17:47 ` [Buildroot] [PATCH 04/18] Rename BR2_INET_RPC to BR2_TOOLCHAIN_HAS_NATIVE_RPC Thomas Petazzoni
  2012-11-03 23:42   ` Arnout Vandecappelle
@ 2012-11-04  0:15   ` Peter Korsgaard
  1 sibling, 0 replies; 40+ messages in thread
From: Peter Korsgaard @ 2012-11-04  0:15 UTC (permalink / raw)
  To: buildroot

>>>>> "Thomas" == Thomas Petazzoni <thomas.petazzoni@free-electrons.com> writes:

 Thomas> The BR2_INET_RPC has for a long time been a not very descriptive
 Thomas> configuration option name, and with the advent of non-RPC glibc
 Thomas> toolchains and the apparition of libtirpc, we really need to rename it
 Thomas> to something more sensible, BR2_TOOLCHAIN_HAS_NATIVE_RPC.

Committed, thanks.
 
-- 
Bye, Peter Korsgaard

^ permalink raw reply	[flat|nested] 40+ messages in thread

* [Buildroot] [PATCH 17/18] netkitbase: mark as deprecated
  2012-11-03 17:48 ` [Buildroot] [PATCH 17/18] netkitbase: mark as deprecated Thomas Petazzoni
@ 2012-11-04  0:18   ` Peter Korsgaard
  0 siblings, 0 replies; 40+ messages in thread
From: Peter Korsgaard @ 2012-11-04  0:18 UTC (permalink / raw)
  To: buildroot

>>>>> "Thomas" == Thomas Petazzoni <thomas.petazzoni@free-electrons.com> writes:

 Thomas> It is no longer being developed, the FTP is dead, and Debian has
 Thomas> removed it from the distribution.

 Thomas> Also it allows to not worry about adding RPC support through libtirpc
 Thomas> to this package.

Committed, thanks.

-- 
Bye, Peter Korsgaard

^ permalink raw reply	[flat|nested] 40+ messages in thread

* [Buildroot] [PATCH 18/18] netkittelnet: mark as deprecated
  2012-11-03 17:48 ` [Buildroot] [PATCH 18/18] netkittelnet: " Thomas Petazzoni
@ 2012-11-04  0:18   ` Peter Korsgaard
  0 siblings, 0 replies; 40+ messages in thread
From: Peter Korsgaard @ 2012-11-04  0:18 UTC (permalink / raw)
  To: buildroot

>>>>> "Thomas" == Thomas Petazzoni <thomas.petazzoni@free-electrons.com> writes:

 Thomas> It is no longer being developed, the FTP is dead, and Debian has
 Thomas> removed it from the distribution.

 Thomas> Also it allows to not worry about adding RPC support through libtirpc
 Thomas> to this package.

Committed, thanks.

-- 
Bye, Peter Korsgaard

^ permalink raw reply	[flat|nested] 40+ messages in thread

* [Buildroot] [PATCH 06/18] libtirpc: new package
  2012-11-03 17:47 ` [Buildroot] [PATCH 06/18] libtirpc: new package Thomas Petazzoni
  2012-11-03 23:53   ` Arnout Vandecappelle
@ 2012-11-04  0:47   ` Peter Korsgaard
  1 sibling, 0 replies; 40+ messages in thread
From: Peter Korsgaard @ 2012-11-04  0:47 UTC (permalink / raw)
  To: buildroot

>>>>> "Thomas" == Thomas Petazzoni <thomas.petazzoni@free-electrons.com> writes:

Hi,

 Thomas> +++ b/package/libtirpc/libtirpc.mk
 Thomas> @@ -0,0 +1,17 @@
 Thomas> +#############################################################
 Thomas> +#
 Thomas> +# libtirpc
 Thomas> +#
 Thomas> +#############################################################
 Thomas> +
 Thomas> +LIBTIRPC_VERSION = 0.2.2
 Thomas> +LIBTIRPC_SOURCE = libtirpc-$(LIBTIRPC_VERSION).tar.bz2
 Thomas> +LIBTIRPC_SITE = http://$(BR2_SOURCEFORGE_MIRROR).dl.sourceforge.net/project/libtirpc/libtirpc/$(LIBTIRPC_VERSION)
 Thomas> +LIBTIRPC_LICENSE = BSD-3c
 Thomas> +LIBTIRPC_LICENSE_FILES = COPYING
 Thomas> +
 Thomas> +LIBTIRPC_INSTALL_STAGING = YES
 Thomas> +LIBTIRPC_AUTORECONF = YES
 Thomas> +LIBTIRPC_DEPENDENCIES = host-pkg-config

It is called host-pkgconf now. Why do we need it if libtirpc doesn't
have any other dependencies?

-- 
Bye, Peter Korsgaard

^ permalink raw reply	[flat|nested] 40+ messages in thread

* [Buildroot] [PATCH 16/18] toolchain-external: add Sourcery CodeBench x86 2012.03
  2012-11-03 17:48 ` [Buildroot] [PATCH 16/18] toolchain-external: add Sourcery CodeBench x86 2012.03 Thomas Petazzoni
@ 2012-11-04  3:15   ` Arnout Vandecappelle
  0 siblings, 0 replies; 40+ messages in thread
From: Arnout Vandecappelle @ 2012-11-04  3:15 UTC (permalink / raw)
  To: buildroot

On 11/03/12 18:48, Thomas Petazzoni wrote:
> +	  Note that due to the upgrade to glibc 2.15, this toolchain
> +	  no longer provides RPC functions. The TI-RPC library should
> +	  be used instead, but isn't available in Buildroot yet.

  This isn't true anymore...

  Regards,
  Arnout
-- 
Arnout Vandecappelle                               arnout at mind be
Senior Embedded Software Architect                 +32-16-286540
Essensium/Mind                                     http://www.mind.be
G.Geenslaan 9, 3001 Leuven, Belgium                BE 872 984 063 RPR Leuven
LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle
GPG fingerprint:  7CB5 E4CC 6C2E EFD4 6E3D A754 F963 ECAB 2450 2F1F

^ permalink raw reply	[flat|nested] 40+ messages in thread

* [Buildroot] [PATCH 15/18] toolchain-external: add Sourcery CodeBench SuperH 2012.03
  2012-11-03 17:48 ` [Buildroot] [PATCH 15/18] toolchain-external: add Sourcery CodeBench SuperH 2012.03 Thomas Petazzoni
@ 2012-11-04  6:52   ` Baruch Siach
  0 siblings, 0 replies; 40+ messages in thread
From: Baruch Siach @ 2012-11-04  6:52 UTC (permalink / raw)
  To: buildroot

Hi Thomas,

On Sat, Nov 03, 2012 at 06:48:00PM +0100, Thomas Petazzoni wrote:
> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
> ---
>  toolchain/toolchain-external/Config.in   |   20 ++++++++++++++++++++
>  toolchain/toolchain-external/ext-tool.mk |    3 +++
>  2 files changed, 23 insertions(+)
> 
> diff --git a/toolchain/toolchain-external/Config.in b/toolchain/toolchain-external/Config.in
> index 96b689a..2bf4e0b 100644
> --- a/toolchain/toolchain-external/Config.in
> +++ b/toolchain/toolchain-external/Config.in
> @@ -421,6 +421,25 @@ config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_POWERPC201009
>  	    - 970 glibc hard-float, 64 bits
>  	      Set BR2_TARGET_OPTIMIZATION to -m64
>  
> +config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_SH201203
> +	bool "Sourcery CodeBench SH 2012.03"
> +	depends on BR2_sh4a || BR2_sh4aeb
> +	select BR2_TOOLCHAIN_EXTERNAL_GLIBC
> +	select BR2_INSTALL_LIBSTDCPP
> +	help
> +	  Sourcery CodeBench toolchain for the SuperH architecture,
> +	  from Mentor Graphics. It uses gcc 4.5.2, binutils 2.20,
> +	  glibc 2.13, uClibc 0.9.30, gdb 7.2.50 and kernel headers
> +	  2.6.38. It has support for the following variants:

According to 
https://sourcery.mentor.com/GNUToolchain/release2132?@template=datasheet this 
release contains gcc 4.6.3, binutils 2.21.53, and glibc 2.15. The "Getting 
Started" guild for this release also mentions kernel headers 3.2.10.

baruch

> +            - SH4A, glibc, little endian
> +              Default.
> +            - SH4A, glibc, big endian
> +              Add -mb to BR2_TARGET_OPTIMIZATION
> +            - SH4A, uClibc, little endian
> +              Not usable in Buildroot yet.
> +            - SH4A, uClibc, big endian
> +              Not usable in Buildroot yet.
> +
>  config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_SH201103
>  	bool "Sourcery CodeBench SH 2011.03"
>  	depends on BR2_sh4a || BR2_sh4aeb
> @@ -671,6 +690,7 @@ config BR2_TOOLCHAIN_EXTERNAL_PREFIX
>  	default "powerpc-linux-gnu"      if BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_POWERPC201103
>  	default "sh-linux-gnu"           if BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_SH201009
>  	default "sh-linux-gnu"           if BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_SH201103
> +	default "sh-linux-gnu"           if BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_SH201203
>  	default "sh-uclinux"             if BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_SH2A_201009
>  	default "sh-uclinux"             if BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_SH2A_201103
>  	default "i686-pc-linux-gnu"	 if BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_X86_201009
> diff --git a/toolchain/toolchain-external/ext-tool.mk b/toolchain/toolchain-external/ext-tool.mk
> index 459bc12..df1ef15 100644
> --- a/toolchain/toolchain-external/ext-tool.mk
> +++ b/toolchain/toolchain-external/ext-tool.mk
> @@ -226,6 +226,9 @@ TOOLCHAIN_EXTERNAL_SOURCE=renesas-2010.09-45-sh-linux-gnu-i686-pc-linux-gnu.tar.
>  else ifeq ($(BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_SH201103),y)
>  TOOLCHAIN_EXTERNAL_SITE=https://sourcery.mentor.com/sgpp/lite/superh/portal/package8759/public/sh-linux-gnu/
>  TOOLCHAIN_EXTERNAL_SOURCE=renesas-2011.03-37-sh-linux-gnu-i686-pc-linux-gnu.tar.bz2
> +else ifeq ($(BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_SH201203),y)
> +TOOLCHAIN_EXTERNAL_SITE=https://sourcery.mentor.com/GNUToolchain/package10148/public/sh-linux-gnu/
> +TOOLCHAIN_EXTERNAL_SOURCE=renesas-2012.03-35-sh-linux-gnu-i686-pc-linux-gnu.tar.bz2
>  else ifeq ($(BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_SH2A_201009),y)
>  TOOLCHAIN_EXTERNAL_SITE=http://sourcery.mentor.com/sgpp/lite/superh/portal/package7859/public/sh-uclinux/
>  TOOLCHAIN_EXTERNAL_SOURCE=renesas-2010.09-60-sh-uclinux-i686-pc-linux-gnu.tar.bz2
> -- 
> 1.7.9.5
> 
> _______________________________________________
> buildroot mailing list
> buildroot at busybox.net
> http://lists.busybox.net/mailman/listinfo/buildroot

-- 
     http://baruch.siach.name/blog/                  ~. .~   Tk Open Systems
=}------------------------------------------------ooO--U--Ooo------------{=
   - baruch at tkos.co.il - tel: +972.2.679.5364, http://www.tkos.co.il -

^ permalink raw reply	[flat|nested] 40+ messages in thread

* [Buildroot] [pull request] Pull request for branch for-2012.11/rpc-support
@ 2012-11-04 12:04 Thomas Petazzoni
  0 siblings, 0 replies; 40+ messages in thread
From: Thomas Petazzoni @ 2012-11-04 12:04 UTC (permalink / raw)
  To: buildroot

Hello,

Another round of RPC-related fixes + external toolchain
cleanup. Changes since the last posting:

 * Fix the download location of libtirpc. Noticed by Arnout.

 * libtirpc now depends on host-pkgconf instead of
   host-pkg-config. Noticed by Arnout.

 * Explained why libtirpc needs host-pkgconf even though it has no
   dependencies. Noticed by Peter.

 * Fix the BR2_TOOLCHAIN_HAS_NATIVE_RPC libtirpc dependency which was
   not in the correct patch. Noticed by Arnout.

 * Fixed the help text of the Sourcery CodeBench x86 2012.03 toolchain
   so that it matches the reality in terms of Buildroot support for
   libtirpc. Noticed by Arnout.

 * Fixed the help text of the Sourcery CodeBench SuperH 2012.03
   toolchain in terms of components versions. Noticed by Baruch.

 * Added support for Sourcery CodeBench x86 and SuperH 2012.09
   toolchains.

 * Added a fix for the Sourcery CodeBench ARM 2012.03 toolchain, which
   has native RPC support.

 * Removed a bunch of the oldest external toolchains we have, in order
   to keep a more reasonable number of external toolchains options.

Thanks,

Thomas

The following changes since commit 9fbdf062b93c6c2ed7e35897bcb0ad4c60f29d41:

  toolchain-external: improve glibc support to test availability of RPC (2012-11-04 01:22:43 +0100)

are available in the git repository at:

  git://git.free-electrons.com/users/thomas-petazzoni/buildroot.git for-2012.11/rpc-support

for you to fetch changes up to d2dca51587d8ff3f4f2989da8735e6e7bf352fb0:

  toolchain-external: remove Linaro 2012.07 (2012-11-04 13:00:11 +0100)

----------------------------------------------------------------
Thomas Petazzoni (20):
      toolchain-external: ARM 2012.03 has RPC support
      libtirpc: new package
      busybox: add support to link against libtirpc when available
      lmbench: add support to use libtirpc when available
      nfs-utils: add support to use RPC support from libtirpc
      rpcbind: new package
      portmap: mention that rpcbind is the project that superseds portmap
      quota: add support to use RPC support from libtirpc
      samba: unconditionally enable --with-sys-quotas
      xinetd: add support to use RPC support from libtirpc
      toolchain-external: add Sourcery CodeBench SuperH 2012.03
      toolchain-external: add Sourcery CodeBench x86 2012.03
      toolchain-external: add support for Sourcery CodeBench SH 2012.09
      toolchain-external: add Sourcery CodeBench x86/x86_64 2012.09
      toolchain-external: remove Sourcery CodeBench ARM 2010q1
      toolchain-external: remove Sourcery CodeBench ARM 2010.09
      toolchain-external: remove Sourcery CodeBench SH 2010.09
      toolchain-external: remove Sourcery CodeBench x86/x86_64 2010.09
      toolchain-external: remove Linaro 2012.06
      toolchain-external: remove Linaro 2012.07

 package/Config.in                                  |    2 +
 package/busybox/busybox.mk                         |   19 +-
 package/libtirpc/Config.in                         |    7 +
 ...able-parts-of-TIRPC-requiring-NIS-support.patch |   70 ++++++++
 ...out-RPC-support-does-not-install-rpcent.h.patch |   26 +++
 ...btirpc-0003-Add-missing-INET6-conditional.patch |   60 +++++++
 .../libtirpc-0004-Make-IPv6-support-optional.patch |   43 +++++
 package/libtirpc/libtirpc.mk                       |   24 +++
 package/lmbench/Config.in                          |    6 +-
 package/lmbench/lmbench.mk                         |   11 +-
 package/nfs-utils/Config.in                        |    7 +-
 package/nfs-utils/nfs-utils.mk                     |    8 +-
 package/portmap/Config.in                          |    2 +
 package/quota/Config.in                            |    6 +-
 package/quota/quota.mk                             |   13 +-
 package/rpcbind/Config.in                          |    8 +
 package/rpcbind/rpcbind-01-no-yp-support.patch     |   46 +++++
 package/rpcbind/rpcbind.mk                         |   17 ++
 package/samba/samba.mk                             |    2 +-
 package/xinetd/xinetd.mk                           |   19 +-
 toolchain/toolchain-external/Config.in             |  185 ++++++++------------
 toolchain/toolchain-external/ext-tool.mk           |   32 ++--
 22 files changed, 461 insertions(+), 152 deletions(-)
 create mode 100644 package/libtirpc/Config.in
 create mode 100644 package/libtirpc/libtirpc-0001-Disable-parts-of-TIRPC-requiring-NIS-support.patch
 create mode 100644 package/libtirpc/libtirpc-0002-uClibc-without-RPC-support-does-not-install-rpcent.h.patch
 create mode 100644 package/libtirpc/libtirpc-0003-Add-missing-INET6-conditional.patch
 create mode 100644 package/libtirpc/libtirpc-0004-Make-IPv6-support-optional.patch
 create mode 100644 package/libtirpc/libtirpc.mk
 create mode 100644 package/rpcbind/Config.in
 create mode 100644 package/rpcbind/rpcbind-01-no-yp-support.patch
 create mode 100644 package/rpcbind/rpcbind.mk

Thanks,
-- 
Thomas Petazzoni

^ permalink raw reply	[flat|nested] 40+ messages in thread

* [Buildroot] [pull request] Pull request for branch for-2012.11/rpc-support
@ 2012-11-04 17:34 Thomas Petazzoni
  2012-11-06  7:22 ` Peter Korsgaard
  0 siblings, 1 reply; 40+ messages in thread
From: Thomas Petazzoni @ 2012-11-04 17:34 UTC (permalink / raw)
  To: buildroot

Hello,

Yet another version of the RPC set of patches. Changes since the last
posting:

 * The kernel headers version chunk has been properly moved to the SH
   2012.03 toolchain patch. Noticed by Baruch.

 * Assume that by default, custom external glibc toolchains have RPC
   support, so that autobuilders configuration continue to work nicely
   (and also because it is most likely the case for most
   toolchains). Suggested by Peter.

Thomas

The following changes since commit 9fbdf062b93c6c2ed7e35897bcb0ad4c60f29d41:

  toolchain-external: improve glibc support to test availability of RPC (2012-11-04 01:22:43 +0100)

are available in the git repository at:

  git://git.free-electrons.com/users/thomas-petazzoni/buildroot.git for-2012.11/rpc-support

for you to fetch changes up to 8c77c933bce9ac229c015bb8bb489c3a41458ea3:

  toolchain-external: assume that by default, glibc toolchains have RPC support (2012-11-04 18:26:06 +0100)

----------------------------------------------------------------
Thomas Petazzoni (21):
      toolchain-external: ARM 2012.03 has RPC support
      libtirpc: new package
      busybox: add support to link against libtirpc when available
      lmbench: add support to use libtirpc when available
      nfs-utils: add support to use RPC support from libtirpc
      rpcbind: new package
      portmap: mention that rpcbind is the project that superseds portmap
      quota: add support to use RPC support from libtirpc
      samba: unconditionally enable --with-sys-quotas
      xinetd: add support to use RPC support from libtirpc
      toolchain-external: add Sourcery CodeBench SuperH 2012.03
      toolchain-external: add Sourcery CodeBench x86 2012.03
      toolchain-external: add support for Sourcery CodeBench SH 2012.09
      toolchain-external: add Sourcery CodeBench x86/x86_64 2012.09
      toolchain-external: remove Sourcery CodeBench ARM 2010q1
      toolchain-external: remove Sourcery CodeBench ARM 2010.09
      toolchain-external: remove Sourcery CodeBench SH 2010.09
      toolchain-external: remove Sourcery CodeBench x86/x86_64 2010.09
      toolchain-external: remove Linaro 2012.06
      toolchain-external: remove Linaro 2012.07
      toolchain-external: assume that by default, glibc toolchains have RPC support

 package/Config.in                                  |    2 +
 package/busybox/busybox.mk                         |   19 +-
 package/libtirpc/Config.in                         |    7 +
 ...able-parts-of-TIRPC-requiring-NIS-support.patch |   70 ++++++++
 ...out-RPC-support-does-not-install-rpcent.h.patch |   26 +++
 ...btirpc-0003-Add-missing-INET6-conditional.patch |   60 +++++++
 .../libtirpc-0004-Make-IPv6-support-optional.patch |   43 +++++
 package/libtirpc/libtirpc.mk                       |   24 +++
 package/lmbench/Config.in                          |    6 +-
 package/lmbench/lmbench.mk                         |   11 +-
 package/nfs-utils/Config.in                        |    7 +-
 package/nfs-utils/nfs-utils.mk                     |    8 +-
 package/portmap/Config.in                          |    2 +
 package/quota/Config.in                            |    6 +-
 package/quota/quota.mk                             |   13 +-
 package/rpcbind/Config.in                          |    8 +
 package/rpcbind/rpcbind-01-no-yp-support.patch     |   46 +++++
 package/rpcbind/rpcbind.mk                         |   17 ++
 package/samba/samba.mk                             |    2 +-
 package/xinetd/xinetd.mk                           |   19 +-
 toolchain/toolchain-external/Config.in             |  186 ++++++++------------
 toolchain/toolchain-external/ext-tool.mk           |   32 ++--
 22 files changed, 462 insertions(+), 152 deletions(-)
 create mode 100644 package/libtirpc/Config.in
 create mode 100644 package/libtirpc/libtirpc-0001-Disable-parts-of-TIRPC-requiring-NIS-support.patch
 create mode 100644 package/libtirpc/libtirpc-0002-uClibc-without-RPC-support-does-not-install-rpcent.h.patch
 create mode 100644 package/libtirpc/libtirpc-0003-Add-missing-INET6-conditional.patch
 create mode 100644 package/libtirpc/libtirpc-0004-Make-IPv6-support-optional.patch
 create mode 100644 package/libtirpc/libtirpc.mk
 create mode 100644 package/rpcbind/Config.in
 create mode 100644 package/rpcbind/rpcbind-01-no-yp-support.patch
 create mode 100644 package/rpcbind/rpcbind.mk

Thanks,
-- 
Thomas Petazzoni

^ permalink raw reply	[flat|nested] 40+ messages in thread

* [Buildroot] [pull request] Pull request for branch for-2012.11/rpc-support
  2012-11-04 17:34 Thomas Petazzoni
@ 2012-11-06  7:22 ` Peter Korsgaard
  2012-11-06  7:25   ` Thomas Petazzoni
  0 siblings, 1 reply; 40+ messages in thread
From: Peter Korsgaard @ 2012-11-06  7:22 UTC (permalink / raw)
  To: buildroot

>>>>> "Thomas" == Thomas Petazzoni <thomas.petazzoni@free-electrons.com> writes:

 Thomas> Hello,
 Thomas> Yet another version of the RPC set of patches. Changes since the last
 Thomas> posting:

 Thomas>  * The kernel headers version chunk has been properly moved to the SH
 Thomas>    2012.03 toolchain patch. Noticed by Baruch.

 Thomas>  * Assume that by default, custom external glibc toolchains have RPC
 Thomas>    support, so that autobuilders configuration continue to work nicely
 Thomas>    (and also because it is most likely the case for most
 Thomas>    toolchains). Suggested by Peter.

Committed series, thanks.

I fixed up the getrpcby{name,number} issue as well.

-- 
Bye, Peter Korsgaard

^ permalink raw reply	[flat|nested] 40+ messages in thread

* [Buildroot] [pull request] Pull request for branch for-2012.11/rpc-support
  2012-11-06  7:22 ` Peter Korsgaard
@ 2012-11-06  7:25   ` Thomas Petazzoni
  0 siblings, 0 replies; 40+ messages in thread
From: Thomas Petazzoni @ 2012-11-06  7:25 UTC (permalink / raw)
  To: buildroot


On Tue, 06 Nov 2012 08:22:57 +0100, Peter Korsgaard wrote:

> Committed series, thanks.
> 
> I fixed up the getrpcby{name,number} issue as well.

Ah, ok :-) I was planning on working on that. I'll check up the fix you
came up with.

Thanks!

Thomas
-- 
Thomas Petazzoni, Free Electrons
Kernel, drivers, real-time and embedded Linux
development, consulting, training and support.
http://free-electrons.com

^ permalink raw reply	[flat|nested] 40+ messages in thread

end of thread, other threads:[~2012-11-06  7:25 UTC | newest]

Thread overview: 40+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-11-03 17:47 [Buildroot] [pull request] Pull request for branch for-2012.11/rpc-support Thomas Petazzoni
2012-11-03 17:47 ` [Buildroot] [PATCH 01/18] uClibc: use the Buildroot toolchain options instead of the hidden common options Thomas Petazzoni
2012-11-03 23:32   ` Arnout Vandecappelle
2012-11-04  0:11   ` Peter Korsgaard
2012-11-03 17:47 ` [Buildroot] [PATCH 02/18] busybox: don't force FEATURE_NFS_MOUNT Thomas Petazzoni
2012-11-03 23:35   ` Arnout Vandecappelle
2012-11-04  0:12   ` Peter Korsgaard
2012-11-03 17:47 ` [Buildroot] [PATCH 03/18] toolchain-crosstool-ng: use the Crosstool-ng config options instead of the common hidden ones Thomas Petazzoni
2012-11-03 23:39   ` Arnout Vandecappelle
2012-11-04  0:13   ` Peter Korsgaard
2012-11-03 17:47 ` [Buildroot] [PATCH 04/18] Rename BR2_INET_RPC to BR2_TOOLCHAIN_HAS_NATIVE_RPC Thomas Petazzoni
2012-11-03 23:42   ` Arnout Vandecappelle
2012-11-04  0:15   ` Peter Korsgaard
2012-11-03 17:47 ` [Buildroot] [PATCH 05/18] toolchain-external: improve glibc support to test availability of RPC Thomas Petazzoni
2012-11-03 23:45   ` Arnout Vandecappelle
2012-11-03 17:47 ` [Buildroot] [PATCH 06/18] libtirpc: new package Thomas Petazzoni
2012-11-03 23:53   ` Arnout Vandecappelle
2012-11-04  0:47   ` Peter Korsgaard
2012-11-03 17:47 ` [Buildroot] [PATCH 07/18] busybox: add support to link against libtirpc when available Thomas Petazzoni
2012-11-03 23:56   ` Arnout Vandecappelle
2012-11-03 17:47 ` [Buildroot] [PATCH 08/18] lmbench: add support to use " Thomas Petazzoni
2012-11-04  0:01   ` Arnout Vandecappelle
2012-11-03 17:47 ` [Buildroot] [PATCH 09/18] nfs-utils: add support to use RPC support from libtirpc Thomas Petazzoni
2012-11-03 17:47 ` [Buildroot] [PATCH 10/18] rpcbind: new package Thomas Petazzoni
2012-11-03 17:47 ` [Buildroot] [PATCH 11/18] portmap: mention that rpcbind is the project that superseds portmap Thomas Petazzoni
2012-11-03 17:47 ` [Buildroot] [PATCH 12/18] quota: add support to use RPC support from libtirpc Thomas Petazzoni
2012-11-03 17:47 ` [Buildroot] [PATCH 13/18] samba: unconditionally enable --with-sys-quotas Thomas Petazzoni
2012-11-03 17:47 ` [Buildroot] [PATCH 14/18] xinetd: add support to use RPC support from libtirpc Thomas Petazzoni
2012-11-03 17:48 ` [Buildroot] [PATCH 15/18] toolchain-external: add Sourcery CodeBench SuperH 2012.03 Thomas Petazzoni
2012-11-04  6:52   ` Baruch Siach
2012-11-03 17:48 ` [Buildroot] [PATCH 16/18] toolchain-external: add Sourcery CodeBench x86 2012.03 Thomas Petazzoni
2012-11-04  3:15   ` Arnout Vandecappelle
2012-11-03 17:48 ` [Buildroot] [PATCH 17/18] netkitbase: mark as deprecated Thomas Petazzoni
2012-11-04  0:18   ` Peter Korsgaard
2012-11-03 17:48 ` [Buildroot] [PATCH 18/18] netkittelnet: " Thomas Petazzoni
2012-11-04  0:18   ` Peter Korsgaard
  -- strict thread matches above, loose matches on Subject: below --
2012-11-04 12:04 [Buildroot] [pull request] Pull request for branch for-2012.11/rpc-support Thomas Petazzoni
2012-11-04 17:34 Thomas Petazzoni
2012-11-06  7:22 ` Peter Korsgaard
2012-11-06  7:25   ` Thomas Petazzoni

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox