* [Buildroot] [PATCH 01/20] uClibc: use the Buildroot toolchain options instead of the hidden common options
2012-08-11 17:40 [Buildroot] [RFC v1] Rework of RPC support to handle glibc >= 2.14 and libtirpc Thomas Petazzoni
@ 2012-08-11 17:40 ` Thomas Petazzoni
2012-08-11 17:40 ` [Buildroot] [PATCH 02/20] toolchain-crosstool-ng: use the Crosstool-ng config options instead of the common hidden ones Thomas Petazzoni
` (19 subsequent siblings)
20 siblings, 0 replies; 44+ messages in thread
From: Thomas Petazzoni @ 2012-08-11 17:40 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 9d0b6db..788c1d3 100644
--- a/toolchain/uClibc/uclibc.mk
+++ b/toolchain/uClibc/uclibc.mk
@@ -245,19 +245,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' \
@@ -317,12 +317,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] 44+ messages in thread* [Buildroot] [PATCH 02/20] toolchain-crosstool-ng: use the Crosstool-ng config options instead of the common hidden ones
2012-08-11 17:40 [Buildroot] [RFC v1] Rework of RPC support to handle glibc >= 2.14 and libtirpc Thomas Petazzoni
2012-08-11 17:40 ` [Buildroot] [PATCH 01/20] uClibc: use the Buildroot toolchain options instead of the hidden common options Thomas Petazzoni
@ 2012-08-11 17:40 ` Thomas Petazzoni
2012-08-12 15:05 ` Yann E. MORIN
2012-08-11 17:40 ` [Buildroot] [PATCH 03/20] Rename BR2_INET_RPC to BR2_TOOLCHAIN_HAS_NATIVE_RPC Thomas Petazzoni
` (18 subsequent siblings)
20 siblings, 1 reply; 44+ messages in thread
From: Thomas Petazzoni @ 2012-08-11 17:40 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>
---
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 d18f5d5..967b39a 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] 44+ messages in thread* [Buildroot] [PATCH 02/20] toolchain-crosstool-ng: use the Crosstool-ng config options instead of the common hidden ones
2012-08-11 17:40 ` [Buildroot] [PATCH 02/20] toolchain-crosstool-ng: use the Crosstool-ng config options instead of the common hidden ones Thomas Petazzoni
@ 2012-08-12 15:05 ` Yann E. MORIN
2012-08-12 15:26 ` Thomas Petazzoni
0 siblings, 1 reply; 44+ messages in thread
From: Yann E. MORIN @ 2012-08-12 15:05 UTC (permalink / raw)
To: buildroot
Thomas, All,
On Saturday 11 August 2012 19:40:34 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.
It was my impression that we would get rid of backend-specific options,
and use a central point where those options would be selected.
As such, patches 1 & 2 are getting away from this goal, unless there is
something I missed (eg. a future work that will rule them all).
Otherwise:
Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Regards,
Yann E. MORIN.
> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
> ---
> 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 d18f5d5..967b39a 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
>
> _______________________________________________
> buildroot mailing list
> buildroot at busybox.net
> http://lists.busybox.net/mailman/listinfo/buildroot
>
>
--
.-----------------.--------------------.------------------.--------------------.
| Yann E. MORIN | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software Designer | \ / CAMPAIGN | ___ |
| +33 223 225 172 `------------.-------: X AGAINST | \e/ There is no |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL | v conspiracy. |
'------------------------------^-------^------------------^--------------------'
^ permalink raw reply [flat|nested] 44+ messages in thread
* [Buildroot] [PATCH 02/20] toolchain-crosstool-ng: use the Crosstool-ng config options instead of the common hidden ones
2012-08-12 15:05 ` Yann E. MORIN
@ 2012-08-12 15:26 ` Thomas Petazzoni
0 siblings, 0 replies; 44+ messages in thread
From: Thomas Petazzoni @ 2012-08-12 15:26 UTC (permalink / raw)
To: buildroot
Le Sun, 12 Aug 2012 17:05:55 +0200,
"Yann E. MORIN" <yann.morin.1998@free.fr> a ?crit :
> It was my impression that we would get rid of backend-specific options,
> and use a central point where those options would be selected.
>
> As such, patches 1 & 2 are getting away from this goal, unless there is
> something I missed (eg. a future work that will rule them all).
Well, it is not possible to get rid of backend-specific options,
because the prompts and help text of those options are not the same, as
they don't mean the same thing. For internal backend, the wchar option
is "I want the wchar support in the toolchain that you will generate",
while for the external backend, the wchar option is "Does the external
toolchain you're giving me has wchar support". That's the very reason
why we have per-backend visible options that select common hidden
options. Does that make sense?
Thanks for the review!
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] 44+ messages in thread
* [Buildroot] [PATCH 03/20] Rename BR2_INET_RPC to BR2_TOOLCHAIN_HAS_NATIVE_RPC
2012-08-11 17:40 [Buildroot] [RFC v1] Rework of RPC support to handle glibc >= 2.14 and libtirpc Thomas Petazzoni
2012-08-11 17:40 ` [Buildroot] [PATCH 01/20] uClibc: use the Buildroot toolchain options instead of the hidden common options Thomas Petazzoni
2012-08-11 17:40 ` [Buildroot] [PATCH 02/20] toolchain-crosstool-ng: use the Crosstool-ng config options instead of the common hidden ones Thomas Petazzoni
@ 2012-08-11 17:40 ` Thomas Petazzoni
2012-08-11 17:40 ` [Buildroot] [PATCH 04/20] toolchain-external: improve glibc support to test availability of RPC Thomas Petazzoni
` (17 subsequent siblings)
20 siblings, 0 replies; 44+ messages in thread
From: Thomas Petazzoni @ 2012-08-11 17:40 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/busybox/busybox.mk | 2 +-
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 ++++----
15 files changed, 37 insertions(+), 33 deletions(-)
diff --git a/package/busybox/busybox.mk b/package/busybox/busybox.mk
index 17ee50a..7277301 100644
--- a/package/busybox/busybox.mk
+++ b/package/busybox/busybox.mk
@@ -79,7 +79,7 @@ endef
endif
# If RPC is enabled then enable nfs mounts
-ifeq ($(BR2_INET_RPC),y)
+ifeq ($(BR2_TOOLCHAIN_HAS_NATIVE_RPC),y)
define BUSYBOX_SET_RPC
$(call KCONFIG_ENABLE_OPT,CONFIG_FEATURE_MOUNT_NFS,$(BUSYBOX_BUILD_CONFIG))
endef
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 6c2beff..788af1b 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
@@ -13,4 +13,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 6b9a082..75f16f5 100644
--- a/package/samba/samba.mk
+++ b/package/samba/samba.mk
@@ -49,7 +49,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 49a9044..462cd87 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 6e0d159..9f11a39 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 f86ed74..5410c9a 100644
--- a/toolchain/toolchain-external/Config.in
+++ b/toolchain/toolchain-external/Config.in
@@ -423,7 +423,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
@@ -440,7 +440,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
@@ -501,7 +501,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
@@ -516,7 +516,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
@@ -531,7 +531,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
@@ -640,7 +640,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
@@ -689,7 +689,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 53b898f..6e33342 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] 44+ messages in thread* [Buildroot] [PATCH 04/20] toolchain-external: improve glibc support to test availability of RPC
2012-08-11 17:40 [Buildroot] [RFC v1] Rework of RPC support to handle glibc >= 2.14 and libtirpc Thomas Petazzoni
` (2 preceding siblings ...)
2012-08-11 17:40 ` [Buildroot] [PATCH 03/20] Rename BR2_INET_RPC to BR2_TOOLCHAIN_HAS_NATIVE_RPC Thomas Petazzoni
@ 2012-08-11 17:40 ` Thomas Petazzoni
2012-08-12 15:18 ` Yann E. MORIN
2012-08-22 8:20 ` Fabio Porcedda
2012-08-11 17:40 ` [Buildroot] [PATCH 05/20] libtirpc: new package Thomas Petazzoni
` (16 subsequent siblings)
20 siblings, 2 replies; 44+ messages in thread
From: Thomas Petazzoni @ 2012-08-11 17:40 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 462cd87..7036552 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 [ x$(BR2_TOOLCHAIN_EXTERNAL_INET_RPC) != x"y" -a x$${IS_IN_LIBC} = x"y" ] ; then \
+ echo "RPC support available in C library, please enable BR2_TOOLCHAIN_HAS_NATIVE_RPC" ; \
+ exit 1 ; \
+ fi ; \
+ if [ x$(BR2_TOOLCHAIN_EXTERNAL_INET_RPC) = x"y" -a x$${IS_IN_LIBC} != x"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 5410c9a..8ea0dcb 100644
--- a/toolchain/toolchain-external/Config.in
+++ b/toolchain/toolchain-external/Config.in
@@ -8,6 +8,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
@@ -24,6 +25,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
@@ -40,6 +42,7 @@ config BR2_TOOLCHAIN_EXTERNAL_LINARO_2012_04
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
@@ -54,6 +57,7 @@ config BR2_TOOLCHAIN_EXTERNAL_LINARO_2012_03
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
@@ -68,6 +72,7 @@ config BR2_TOOLCHAIN_EXTERNAL_LINARO_2012_02
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
@@ -81,6 +86,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
@@ -102,6 +108,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
@@ -123,6 +130,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
@@ -144,6 +152,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
@@ -165,6 +174,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
@@ -232,6 +242,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
@@ -281,6 +292,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
@@ -330,6 +342,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,
@@ -357,6 +370,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,
@@ -384,6 +398,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,
@@ -403,6 +418,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,
@@ -456,6 +472,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
@@ -477,6 +494,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
@@ -543,6 +561,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
@@ -551,6 +570,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
@@ -640,7 +660,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
@@ -687,14 +706,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
@@ -733,6 +744,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] 44+ messages in thread* [Buildroot] [PATCH 04/20] toolchain-external: improve glibc support to test availability of RPC
2012-08-11 17:40 ` [Buildroot] [PATCH 04/20] toolchain-external: improve glibc support to test availability of RPC Thomas Petazzoni
@ 2012-08-12 15:18 ` Yann E. MORIN
2012-08-22 8:20 ` Fabio Porcedda
1 sibling, 0 replies; 44+ messages in thread
From: Yann E. MORIN @ 2012-08-12 15:18 UTC (permalink / raw)
To: buildroot
Thomas, All,
On Saturday 11 August 2012 19:40:36 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>
> ---
> 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 462cd87..7036552 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 [ x$(BR2_TOOLCHAIN_EXTERNAL_INET_RPC) != x"y" -a x$${IS_IN_LIBC} = x"y" ] ; then \
Why use the 'x' char, and why not simply quote everything (same number of chars,
yet easier to read, IMHO):
if [ "$(BR2_TOOLCHAIN_EXTERNAL_INET_RPC)" != "y" -a "$${IS_IN_LIBC}" = "y" ] ; then \
And so on below (and in other patches, too).
> + echo "RPC support available in C library, please enable BR2_TOOLCHAIN_HAS_NATIVE_RPC" ; \
> + exit 1 ; \
> + fi ; \
> + if [ x$(BR2_TOOLCHAIN_EXTERNAL_INET_RPC) = x"y" -a x$${IS_IN_LIBC} != x"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})
This change is the reason why I always finish all lines with a backslash,
even the last line. Thus, adding or removing a sunlge line is obvious, while
here I add to double-check the wchar line, and why it was -/+.
[--SNIP--]
Regards,
Yann E. MORIN.
--
.-----------------.--------------------.------------------.--------------------.
| Yann E. MORIN | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software Designer | \ / CAMPAIGN | ___ |
| +33 223 225 172 `------------.-------: X AGAINST | \e/ There is no |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL | v conspiracy. |
'------------------------------^-------^------------------^--------------------'
^ permalink raw reply [flat|nested] 44+ messages in thread* [Buildroot] [PATCH 04/20] toolchain-external: improve glibc support to test availability of RPC
2012-08-11 17:40 ` [Buildroot] [PATCH 04/20] toolchain-external: improve glibc support to test availability of RPC Thomas Petazzoni
2012-08-12 15:18 ` Yann E. MORIN
@ 2012-08-22 8:20 ` Fabio Porcedda
2012-08-22 14:00 ` Thomas Petazzoni
1 sibling, 1 reply; 44+ messages in thread
From: Fabio Porcedda @ 2012-08-22 8:20 UTC (permalink / raw)
To: buildroot
I have a build problem with this patch, even when i select a
toolchaing with the native rpc the test fail:
make:
Checking external toolchain settings
RPC support available in C library, please enable BR2_TOOLCHAIN_HAS_NATIVE_RPC
make: *** [/home/fabiopo/at91sam9260ek/buildroot-rpc-support/output/stamps/ext-toolchain-checked]
Error 1
defconfig:
BR2_arm=y
BR2_arm926t=y
BR2_TOOLCHAIN_EXTERNAL=y
BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_ARM201103=y
On Sat, Aug 11, 2012 at 7:40 PM, Thomas Petazzoni
<thomas.petazzoni@free-electrons.com> wrote:
> ...
> diff --git a/toolchain/helpers.mk b/toolchain/helpers.mk
> index 462cd87..7036552 100644
> --- a/toolchain/helpers.mk
> +++ b/toolchain/helpers.mk
> ...
> +check_glibc_rpc_feature = \
> + IS_IN_LIBC=`test -f $(1)/usr/include/rpc/rpc.h && echo y` ; \
> + if [ x$(BR2_TOOLCHAIN_EXTERNAL_INET_RPC) != x"y" -a x$${IS_IN_LIBC} = x"y" ] ; then \
Testing the BR2_TOOLCHAIN_HAS_NATIVE_RPC fix the test failure problem.
I don't know if it's the best way to fix this issue.
> + echo "RPC support available in C library, please enable BR2_TOOLCHAIN_HAS_NATIVE_RPC" ; \
> + exit 1 ; \
> + fi ; \
> + if [ x$(BR2_TOOLCHAIN_EXTERNAL_INET_RPC) = x"y" -a x$${IS_IN_LIBC} != x"y" ] ; then \
Same as above
> + echo "RPC support not available in C library, please disable BR2_TOOLCHAIN_HAS_NATIVE_RPC" ; \
> + exit 1 ; \
> + fi
> +
> +#
Best regards
--
Fabio Porcedda
^ permalink raw reply [flat|nested] 44+ messages in thread* [Buildroot] [PATCH 04/20] toolchain-external: improve glibc support to test availability of RPC
2012-08-22 8:20 ` Fabio Porcedda
@ 2012-08-22 14:00 ` Thomas Petazzoni
0 siblings, 0 replies; 44+ messages in thread
From: Thomas Petazzoni @ 2012-08-22 14:00 UTC (permalink / raw)
To: buildroot
Le Wed, 22 Aug 2012 10:20:34 +0200,
Fabio Porcedda <fabio.porcedda@gmail.com> a ?crit :
> I have a build problem with this patch, even when i select a
> toolchaing with the native rpc the test fail:
>
> make:
> Checking external toolchain settings
> RPC support available in C library, please enable BR2_TOOLCHAIN_HAS_NATIVE_RPC
> make: *** [/home/fabiopo/at91sam9260ek/buildroot-rpc-support/output/stamps/ext-toolchain-checked]
> Error 1
>
> defconfig:
> BR2_arm=y
> BR2_arm926t=y
> BR2_TOOLCHAIN_EXTERNAL=y
> BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_ARM201103=y
Thanks for testing, I'll look into this!
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] 44+ messages in thread
* [Buildroot] [PATCH 05/20] libtirpc: new package
2012-08-11 17:40 [Buildroot] [RFC v1] Rework of RPC support to handle glibc >= 2.14 and libtirpc Thomas Petazzoni
` (3 preceding siblings ...)
2012-08-11 17:40 ` [Buildroot] [PATCH 04/20] toolchain-external: improve glibc support to test availability of RPC Thomas Petazzoni
@ 2012-08-11 17:40 ` Thomas Petazzoni
2012-08-12 15:43 ` Yann E. MORIN
2012-08-28 17:39 ` Arnout Vandecappelle
2012-08-11 17:40 ` [Buildroot] [PATCH 06/20] busybox: add support to link against libtirpc when available Thomas Petazzoni
` (15 subsequent siblings)
20 siblings, 2 replies; 44+ messages in thread
From: Thomas Petazzoni @ 2012-08-11 17:40 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 f308de7..581cccb 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -431,6 +431,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..ed56b88
--- /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 Suns 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..7479077
--- /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 $(call autotools-package))
--
1.7.9.5
^ permalink raw reply related [flat|nested] 44+ messages in thread* [Buildroot] [PATCH 05/20] libtirpc: new package
2012-08-11 17:40 ` [Buildroot] [PATCH 05/20] libtirpc: new package Thomas Petazzoni
@ 2012-08-12 15:43 ` Yann E. MORIN
2012-08-28 17:34 ` Arnout Vandecappelle
2012-08-28 17:39 ` Arnout Vandecappelle
1 sibling, 1 reply; 44+ messages in thread
From: Yann E. MORIN @ 2012-08-12 15:43 UTC (permalink / raw)
To: buildroot
On Saturday 11 August 2012 19:40:37 Thomas Petazzoni wrote:
> 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 f308de7..581cccb 100644
> --- a/package/Config.in
> +++ b/package/Config.in
> @@ -431,6 +431,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..ed56b88
> --- /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 Suns 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
Is it evenpossible to have AF_INET6 defined if INET6 is not?
If so, is it sensible to do the actual test if it would do nothing because
INET6 is not available?
I would simply return fd in this case (but that makes for a bigger patch).
> + }
> + 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..7479077
> --- /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 $(call autotools-package))
Manual says to simply add:
$(eval $(autotools-package))
Regards,
Yann E. MORIN.
--
.-----------------.--------------------.------------------.--------------------.
| Yann E. MORIN | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software Designer | \ / CAMPAIGN | ___ |
| +33 223 225 172 `------------.-------: X AGAINST | \e/ There is no |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL | v conspiracy. |
'------------------------------^-------^------------------^--------------------'
^ permalink raw reply [flat|nested] 44+ messages in thread* [Buildroot] [PATCH 05/20] libtirpc: new package
2012-08-12 15:43 ` Yann E. MORIN
@ 2012-08-28 17:34 ` Arnout Vandecappelle
0 siblings, 0 replies; 44+ messages in thread
From: Arnout Vandecappelle @ 2012-08-28 17:34 UTC (permalink / raw)
To: buildroot
On 08/12/12 17:43, Yann E. MORIN wrote:
>> > +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
> Is it evenpossible to have AF_INET6 defined if INET6 is not?
Yes it is.
> If so, is it sensible to do the actual test if it would do nothing because
> INET6 is not available?
>
> I would simply return fd in this case (but that makes for a bigger patch).
Actually, it may make more sense to return -EINVAL (or -1 and set errno, or
whatever the convention is). But I don't have enough context to verify that.
Regards,
Arnout
BTW, Yann, it would be nice if you'd snip away some of the quoting, to save us
all a bit of scrolling. Not everybody has automatic collapsing of quoted text...
--
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] 44+ messages in thread
* [Buildroot] [PATCH 05/20] libtirpc: new package
2012-08-11 17:40 ` [Buildroot] [PATCH 05/20] libtirpc: new package Thomas Petazzoni
2012-08-12 15:43 ` Yann E. MORIN
@ 2012-08-28 17:39 ` Arnout Vandecappelle
1 sibling, 0 replies; 44+ messages in thread
From: Arnout Vandecappelle @ 2012-08-28 17:39 UTC (permalink / raw)
To: buildroot
On 08/11/12 19:40, 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..ed56b88
> --- /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 Suns Transport-Independent RPC library
^^^^Sun's
Regards,
Arnout
[snip]
--
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] 44+ messages in thread
* [Buildroot] [PATCH 06/20] busybox: add support to link against libtirpc when available
2012-08-11 17:40 [Buildroot] [RFC v1] Rework of RPC support to handle glibc >= 2.14 and libtirpc Thomas Petazzoni
` (4 preceding siblings ...)
2012-08-11 17:40 ` [Buildroot] [PATCH 05/20] libtirpc: new package Thomas Petazzoni
@ 2012-08-11 17:40 ` Thomas Petazzoni
2012-08-12 15:51 ` Yann E. MORIN
2012-08-11 17:40 ` [Buildroot] [PATCH 07/20] netkitbase: convert to the generic-package infrastructure Thomas Petazzoni
` (14 subsequent siblings)
20 siblings, 1 reply; 44+ messages in thread
From: Thomas Petazzoni @ 2012-08-11 17:40 UTC (permalink / raw)
To: buildroot
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
---
package/busybox/busybox.mk | 20 +++++++++++++++++---
1 file changed, 17 insertions(+), 3 deletions(-)
diff --git a/package/busybox/busybox.mk b/package/busybox/busybox.mk
index 7277301..17c8317 100644
--- a/package/busybox/busybox.mk
+++ b/package/busybox/busybox.mk
@@ -12,14 +12,28 @@ BUSYBOX_VERSION = $(call qstrip,$(BR2_BUSYBOX_VERSION))
BUSYBOX_SITE = http://www.busybox.net/downloads
endif
BUSYBOX_SOURCE = busybox-$(BUSYBOX_VERSION).tar.bz2
+
+BUSYBOX_CFLAGS = \
+ $(TARGET_CFLAGS) \
+ -I$(LINUX_HEADERS_DIR)/include
+
+BUSYBOX_LDFLAGS = \
+ $(TARGET_LDFLAGS)
+
+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
@@ -79,7 +93,7 @@ endef
endif
# If RPC is enabled then enable nfs mounts
-ifeq ($(BR2_TOOLCHAIN_HAS_NATIVE_RPC),y)
+ifeq ($(BR2_RPC_AVAILABLE),y)
define BUSYBOX_SET_RPC
$(call KCONFIG_ENABLE_OPT,CONFIG_FEATURE_MOUNT_NFS,$(BUSYBOX_BUILD_CONFIG))
endef
--
1.7.9.5
^ permalink raw reply related [flat|nested] 44+ messages in thread* [Buildroot] [PATCH 06/20] busybox: add support to link against libtirpc when available
2012-08-11 17:40 ` [Buildroot] [PATCH 06/20] busybox: add support to link against libtirpc when available Thomas Petazzoni
@ 2012-08-12 15:51 ` Yann E. MORIN
2012-08-28 17:51 ` Arnout Vandecappelle
0 siblings, 1 reply; 44+ messages in thread
From: Yann E. MORIN @ 2012-08-12 15:51 UTC (permalink / raw)
To: buildroot
Thomas, All,
On Saturday 11 August 2012 19:40:38 Thomas Petazzoni wrote:
> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
> ---
> package/busybox/busybox.mk | 20 +++++++++++++++++---
> 1 file changed, 17 insertions(+), 3 deletions(-)
>
> diff --git a/package/busybox/busybox.mk b/package/busybox/busybox.mk
> index 7277301..17c8317 100644
> --- a/package/busybox/busybox.mk
> +++ b/package/busybox/busybox.mk
> @@ -12,14 +12,28 @@ BUSYBOX_VERSION = $(call qstrip,$(BR2_BUSYBOX_VERSION))
> BUSYBOX_SITE = http://www.busybox.net/downloads
> endif
> BUSYBOX_SOURCE = busybox-$(BUSYBOX_VERSION).tar.bz2
> +
> +BUSYBOX_CFLAGS = \
> + $(TARGET_CFLAGS) \
> + -I$(LINUX_HEADERS_DIR)/include
> +
> +BUSYBOX_LDFLAGS = \
> + $(TARGET_LDFLAGS)
> +
> +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
> @@ -79,7 +93,7 @@ endef
> endif
>
> # If RPC is enabled then enable nfs mounts
> -ifeq ($(BR2_TOOLCHAIN_HAS_NATIVE_RPC),y)
> +ifeq ($(BR2_RPC_AVAILABLE),y)
BR2_RPC_SUPPORT_AVAILABLE
> define BUSYBOX_SET_RPC
> $(call KCONFIG_ENABLE_OPT,CONFIG_FEATURE_MOUNT_NFS,$(BUSYBOX_BUILD_CONFIG))
> endef
> --
> 1.7.9.5
>
> _______________________________________________
> buildroot mailing list
> buildroot at busybox.net
> http://lists.busybox.net/mailman/listinfo/buildroot
>
>
--
.-----------------.--------------------.------------------.--------------------.
| Yann E. MORIN | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software Designer | \ / CAMPAIGN | ___ |
| +33 223 225 172 `------------.-------: X AGAINST | \e/ There is no |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL | v conspiracy. |
'------------------------------^-------^------------------^--------------------'
^ permalink raw reply [flat|nested] 44+ messages in thread
* [Buildroot] [PATCH 06/20] busybox: add support to link against libtirpc when available
2012-08-12 15:51 ` Yann E. MORIN
@ 2012-08-28 17:51 ` Arnout Vandecappelle
0 siblings, 0 replies; 44+ messages in thread
From: Arnout Vandecappelle @ 2012-08-28 17:51 UTC (permalink / raw)
To: buildroot
On 08/12/12 17:51, Yann E. MORIN wrote:
> On Saturday 11 August 2012 19:40:38 Thomas Petazzoni wrote:
> > # If RPC is enabled then enable nfs mounts
> > -ifeq ($(BR2_TOOLCHAIN_HAS_NATIVE_RPC),y)
> > +ifeq ($(BR2_RPC_AVAILABLE),y)
> BR2_RPC_SUPPORT_AVAILABLE
But maybe BR2_RPC_AVAILABLE is a better name :-)
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] 44+ messages in thread
* [Buildroot] [PATCH 07/20] netkitbase: convert to the generic-package infrastructure
2012-08-11 17:40 [Buildroot] [RFC v1] Rework of RPC support to handle glibc >= 2.14 and libtirpc Thomas Petazzoni
` (5 preceding siblings ...)
2012-08-11 17:40 ` [Buildroot] [PATCH 06/20] busybox: add support to link against libtirpc when available Thomas Petazzoni
@ 2012-08-11 17:40 ` Thomas Petazzoni
2012-08-11 17:40 ` [Buildroot] [PATCH 08/20] netkitbase: mark as deprecated Thomas Petazzoni
` (13 subsequent siblings)
20 siblings, 0 replies; 44+ messages in thread
From: Thomas Petazzoni @ 2012-08-11 17:40 UTC (permalink / raw)
To: buildroot
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
---
package/netkitbase/netkitbase.mk | 79 ++++++++++----------------------------
1 file changed, 21 insertions(+), 58 deletions(-)
diff --git a/package/netkitbase/netkitbase.mk b/package/netkitbase/netkitbase.mk
index 56480fc..3899b78 100644
--- a/package/netkitbase/netkitbase.mk
+++ b/package/netkitbase/netkitbase.mk
@@ -3,69 +3,32 @@
# netkitbase
#
#############################################################
-NETKITBASE_VERSION:=0.17
-NETKITBASE_SOURCE:=netkit-base-$(NETKITBASE_VERSION).tar.gz
-NETKITBASE_SITE:=ftp://ftp.uk.linux.org/pub/linux/Networking/netkit/
-NETKITBASE_DIR:=$(BUILD_DIR)/netkit-base-$(NETKITBASE_VERSION)
-NETKITBASE_CAT:=$(ZCAT)
-NETKITBASE_BINARY:=inetd/inetd
-NETKITBASE_TARGET_BINARY:=usr/sbin/inetd
+NETKITBASE_VERSION = 0.17
+NETKITBASE_SOURCE = netkit-base-$(NETKITBASE_VERSION).tar.gz
+NETKITBASE_SITE = ftp://ftp.uk.linux.org/pub/linux/Networking/netkit/
+NETKITBASE_LICENSE = BSD-4c
-$(DL_DIR)/$(NETKITBASE_SOURCE):
- $(call DOWNLOAD,$(NETKITBASE_SITE)/$(NETKITBASE_SOURCE))
-
-netkitbase-source: $(DL_DIR)/$(NETKITBASE_SOURCE)
-
-$(NETKITBASE_DIR)/.unpacked: $(DL_DIR)/$(NETKITBASE_SOURCE)
- $(NETKITBASE_CAT) $(DL_DIR)/$(NETKITBASE_SOURCE) | tar -C $(BUILD_DIR) $(TAR_OPTIONS) -
+define NETKITBASE_CONFIGURE_CMDS
# use ANSI syntax
$(SED) "s/main()/main(void)/;" $(NETKITBASE_DIR)/configure
# don't try to run cross compiled binaries while configuring things
$(SED) "s~./__conftest~#./__conftest~;" $(NETKITBASE_DIR)/configure
- support/scripts/apply-patches.sh $(NETKITBASE_DIR) package/netkitbase/ netkitbase\*.patch
- touch $(NETKITBASE_DIR)/.unpacked
-
-$(NETKITBASE_DIR)/.configured: $(NETKITBASE_DIR)/.unpacked
- (cd $(NETKITBASE_DIR); rm -f config.cache; \
- PATH=$(TARGET_PATH) CC="$(TARGET_CC)" \
- ./configure --installroot=$(TARGET_DIR) --with-c-compiler="$(TARGET_CC)" \
- )
- touch $(NETKITBASE_DIR)/.configured
-
-$(NETKITBASE_DIR)/$(NETKITBASE_BINARY): $(NETKITBASE_DIR)/.configured
- $(MAKE) CC="$(TARGET_CC)" -C $(NETKITBASE_DIR)
- $(STRIPCMD) $(NETKITBASE_DIR)/$(NETKITBASE_BINARY)
-
-$(TARGET_DIR)/$(NETKITBASE_TARGET_BINARY): $(NETKITBASE_DIR)/$(NETKITBASE_BINARY)
- # Only install a few selected items...
- mkdir -p $(TARGET_DIR)/usr/sbin
- cp $(NETKITBASE_DIR)/$(NETKITBASE_BINARY) $(TARGET_DIR)/$(NETKITBASE_TARGET_BINARY)
- @if [ ! -f $(TARGET_DIR)/etc/inetd.conf ]; then \
- mkdir -p $(TARGET_DIR)/etc; \
- cp $(NETKITBASE_DIR)/etc.sample/inetd.conf $(TARGET_DIR)/etc/; \
+ (cd $(@D); \
+ $(TARGET_CONFIGURE_OPTS) \
+ ./configure \
+ --installroot=$(TARGET_DIR))
+endef
+
+define NETKITBASE_BUILD_CMDS
+ $(MAKE) -C $(@D)
+endef
+
+define NETKITBASE_INSTALL_TARGET_CMDS
+ $(INSTALL) -D -m 0755 $(@D)/inetd/inetd $(TARGET_DIR)/usr/sbin/inetd
+ if [ ! -f $(TARGET_DIR)/etc/inetd.conf ]; then \
+ $(INSTALL) -D -m 0644 $(@D)/etc.sample/inetd.conf $(TARGET_DIR)/etc/inetd.conf; \
$(SED) "s/^\([a-z]\)/#\1/;" $(TARGET_DIR)/etc/inetd.conf; \
fi
- touch -c $(TARGET_DIR)/$(NETKITBASE_TARGET_BINARY)
-
-netkitbase-legal-info:
- @$(call legal-warning-pkg,netkitbase,legal-info not yet implemented)
-
-netkitbase: $(TARGET_DIR)/$(NETKITBASE_TARGET_BINARY)
+endef
-netkitbase-clean:
- #$(MAKE) DESTDIR=$(TARGET_DIR) CC="$(TARGET_CC)" -C $(NETKITBASE_DIR) uninstall
- -rm -f $(TARGET_DIR)/usr/sbin/inetd $(TARGET_DIR)/etc/inetd.conf
- -rm -f $(TARGET_DIR)/etc/inetd.conf
- -$(MAKE) -C $(NETKITBASE_DIR) clean
-
-netkitbase-dirclean:
- rm -rf $(NETKITBASE_DIR)
-
-#############################################################
-#
-# Toplevel Makefile options
-#
-#############################################################
-ifeq ($(BR2_PACKAGE_NETKITBASE),y)
-TARGETS+=netkitbase
-endif
+$(eval $(generic-package))
--
1.7.9.5
^ permalink raw reply related [flat|nested] 44+ messages in thread* [Buildroot] [PATCH 08/20] netkitbase: mark as deprecated
2012-08-11 17:40 [Buildroot] [RFC v1] Rework of RPC support to handle glibc >= 2.14 and libtirpc Thomas Petazzoni
` (6 preceding siblings ...)
2012-08-11 17:40 ` [Buildroot] [PATCH 07/20] netkitbase: convert to the generic-package infrastructure Thomas Petazzoni
@ 2012-08-11 17:40 ` Thomas Petazzoni
2012-08-11 17:40 ` [Buildroot] [PATCH 09/20] netkittelnet: convert to generic-package infrastructure Thomas Petazzoni
` (12 subsequent siblings)
20 siblings, 0 replies; 44+ messages in thread
From: Thomas Petazzoni @ 2012-08-11 17:40 UTC (permalink / raw)
To: buildroot
It is no longer being developed, the FTP is dead, and Debian has
removed it from the distribution.
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] 44+ messages in thread* [Buildroot] [PATCH 09/20] netkittelnet: convert to generic-package infrastructure
2012-08-11 17:40 [Buildroot] [RFC v1] Rework of RPC support to handle glibc >= 2.14 and libtirpc Thomas Petazzoni
` (7 preceding siblings ...)
2012-08-11 17:40 ` [Buildroot] [PATCH 08/20] netkitbase: mark as deprecated Thomas Petazzoni
@ 2012-08-11 17:40 ` Thomas Petazzoni
2012-08-11 17:40 ` [Buildroot] [PATCH 10/20] netkittelnet: mark as deprecated Thomas Petazzoni
` (11 subsequent siblings)
20 siblings, 0 replies; 44+ messages in thread
From: Thomas Petazzoni @ 2012-08-11 17:40 UTC (permalink / raw)
To: buildroot
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
---
package/netkittelnet/netkittelnet.mk | 80 ++++++++-----------------------
package/netkittelnet/netkittelnet.patch | 2 +-
2 files changed, 21 insertions(+), 61 deletions(-)
diff --git a/package/netkittelnet/netkittelnet.mk b/package/netkittelnet/netkittelnet.mk
index 43ba324..b1f8c53 100644
--- a/package/netkittelnet/netkittelnet.mk
+++ b/package/netkittelnet/netkittelnet.mk
@@ -3,69 +3,29 @@
# netkittelnet
#
#############################################################
-NETKITTELNET_VERSION:=0.17
-NETKITTELNET_SOURCE:=netkit-telnet-$(NETKITTELNET_VERSION).tar.gz
-NETKITTELNET_SITE:=ftp://ftp.uk.linux.org/pub/linux/Networking/netkit/
-NETKITTELNET_DIR:=$(BUILD_DIR)/netkit-telnet-$(NETKITTELNET_VERSION)
-NETKITTELNET_CAT:=$(ZCAT)
-NETKITTELNET_BINARY:=telnetd/telnetd
-NETKITTELNET_TARGET_BINARY:=usr/sbin/telnetd
+NETKITTELNET_VERSION = 0.17
+NETKITTELNET_SOURCE = netkit-telnet-$(NETKITTELNET_VERSION).tar.gz
+NETKITTELNET_SITE = ftp://ftp.uk.linux.org/pub/linux/Networking/netkit/
-$(DL_DIR)/$(NETKITTELNET_SOURCE):
- $(call DOWNLOAD,$(NETKITTELNET_SITE)/$(NETKITTELNET_SOURCE))
-
-netkittelnet-source: $(DL_DIR)/$(NETKITTELNET_SOURCE)
-
-$(NETKITTELNET_DIR)/.unpacked: $(DL_DIR)/$(NETKITTELNET_SOURCE)
- $(NETKITTELNET_CAT) $(DL_DIR)/$(NETKITTELNET_SOURCE) | tar -C $(BUILD_DIR) $(TAR_OPTIONS) -
+define NETKITTELNET_CONFIGURE_CMDS
# use ANSI syntax
- $(SED) "s/main()/main(void)/;" $(NETKITTELNET_DIR)/configure
+ $(SED) "s/main()/main(void)/;" $(@D)/configure
# Disable termcap support
- $(SED) "s~\(.*termcap\.h.*\)~/* \1 */~;" $(NETKITTELNET_DIR)/telnetd/telnetd.c
- # don't try to run cross compiled binaries while configuring things
- support/scripts/apply-patches.sh $(NETKITTELNET_DIR) package/netkittelnet/ netkittelnet\*.patch
- touch $(NETKITTELNET_DIR)/.unpacked
-
-$(NETKITTELNET_DIR)/.configured: $(NETKITTELNET_DIR)/.unpacked
- (cd $(NETKITTELNET_DIR); rm -f config.cache; \
- PATH=$(TARGET_PATH) CC="$(TARGET_CC)" \
- ./configure --installroot=$(TARGET_DIR) --with-c-compiler="$(TARGET_CC)" \
- )
- touch $(NETKITTELNET_DIR)/.configured
-
-$(NETKITTELNET_DIR)/$(NETKITTELNET_BINARY): $(NETKITTELNET_DIR)/.configured
- $(MAKE) SUB=telnetd CC="$(TARGET_CC)" -C $(NETKITTELNET_DIR)
- $(STRIPCMD) $(NETKITTELNET_DIR)/$(NETKITTELNET_BINARY)
-
-$(TARGET_DIR)/$(NETKITTELNET_TARGET_BINARY): $(NETKITTELNET_DIR)/$(NETKITTELNET_BINARY)
- # Only install a few selected items...
- mkdir -p $(TARGET_DIR)/usr/sbin
- rm -f $(TARGET_DIR)/$(NETKITTELNET_TARGET_BINARY)
- cp $(NETKITTELNET_DIR)/$(NETKITTELNET_BINARY) $(TARGET_DIR)/$(NETKITTELNET_TARGET_BINARY)
+ $(SED) "s~\(.*termcap\.h.*\)~/* \1 */~;" $(@D)/telnetd/telnetd.c
+ (cd $(@D); \
+ $(TARGET_CONFIGURE_OPTS) \
+ ./configure \
+ --installroot=$(TARGET_DIR))
+endef
+
+define NETKITTELNET_BUILD_CMDS
+ $(MAKE) SUB=telnetd -C $(@D)
+endef
+
+define NETKITTELNET_INSTALL_TARGET_CMDS
+ $(INSTALL) -D -m 0755 $(@D)/telnetd/telnetd $(TARGET_DIR)/usr/sbin/telnetd
# Enable telnet in inetd
$(SED) "s~^#telnet.*~telnet\tstream\ttcp\tnowait\troot\t/usr/sbin/telnetd\t/usr/sbin/telnetd~;" $(TARGET_DIR)/etc/inetd.conf
- #$(MAKE) DESTDIR=$(TARGET_DIR) CC="$(TARGET_CC)" -C $(NETKITTELNET_DIR) install
- #rm -rf $(TARGET_DIR)/share/locale $(TARGET_DIR)/usr/info \
- # $(TARGET_DIR)/usr/man $(TARGET_DIR)/usr/share/doc
-
-netkittelnet-legal-info:
- @$(call legal-warning-pkg,netkittelnet,legal-info not yet implemented)
-
-netkittelnet: netkitbase $(TARGET_DIR)/$(NETKITTELNET_TARGET_BINARY)
+endef
-netkittelnet-clean:
- #$(MAKE) DESTDIR=$(TARGET_DIR) CC="$(TARGET_CC)" -C $(NETKITTELNET_DIR) uninstall
- -rm -f $(TARGET_DIR)/usr/sbin/telnetd
- -$(MAKE) -C $(NETKITTELNET_DIR) clean
-
-netkittelnet-dirclean:
- rm -rf $(NETKITTELNET_DIR)
-
-#############################################################
-#
-# Toplevel Makefile options
-#
-#############################################################
-ifeq ($(BR2_PACKAGE_NETKITTELNET),y)
-TARGETS+=netkittelnet
-endif
+$(eval $(generic-package))
diff --git a/package/netkittelnet/netkittelnet.patch b/package/netkittelnet/netkittelnet.patch
index c894c2a..863bbcd 100644
--- a/package/netkittelnet/netkittelnet.patch
+++ b/package/netkittelnet/netkittelnet.patch
@@ -66,7 +66,7 @@
-cat <<EOF >__conftest.cc
-#include <stdio.h>
-#include <termcap.h>
--int main(void) {
+-int main() {
- tgetent(NULL, NULL); return 0;
-}
-
--
1.7.9.5
^ permalink raw reply related [flat|nested] 44+ messages in thread* [Buildroot] [PATCH 10/20] netkittelnet: mark as deprecated
2012-08-11 17:40 [Buildroot] [RFC v1] Rework of RPC support to handle glibc >= 2.14 and libtirpc Thomas Petazzoni
` (8 preceding siblings ...)
2012-08-11 17:40 ` [Buildroot] [PATCH 09/20] netkittelnet: convert to generic-package infrastructure Thomas Petazzoni
@ 2012-08-11 17:40 ` Thomas Petazzoni
2012-08-11 17:40 ` [Buildroot] [PATCH 11/20] lmbench: add support to use libtirpc when available Thomas Petazzoni
` (10 subsequent siblings)
20 siblings, 0 replies; 44+ messages in thread
From: Thomas Petazzoni @ 2012-08-11 17:40 UTC (permalink / raw)
To: buildroot
It is no longer being developed, the FTP is dead, and Debian has
removed it from the distribution.
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] 44+ messages in thread* [Buildroot] [PATCH 11/20] lmbench: add support to use libtirpc when available
2012-08-11 17:40 [Buildroot] [RFC v1] Rework of RPC support to handle glibc >= 2.14 and libtirpc Thomas Petazzoni
` (9 preceding siblings ...)
2012-08-11 17:40 ` [Buildroot] [PATCH 10/20] netkittelnet: mark as deprecated Thomas Petazzoni
@ 2012-08-11 17:40 ` Thomas Petazzoni
2012-08-11 17:40 ` [Buildroot] [PATCH 12/20] nfs-utils: add support to use RPC support from libtirpc Thomas Petazzoni
` (9 subsequent siblings)
20 siblings, 0 replies; 44+ messages in thread
From: Thomas Petazzoni @ 2012-08-11 17:40 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, 13 insertions(+), 4 deletions(-)
diff --git a/package/lmbench/Config.in b/package/lmbench/Config.in
index 70449b6..7f63a1a 100644
--- a/package/lmbench/Config.in
+++ b/package/lmbench/Config.in
@@ -1,12 +1,12 @@
config BR2_PACKAGE_LMBENCH
bool "lmbench"
# Uses pmap_set, pmap__unset, pmap_getport, etc.
- depends on BR2_TOOLCHAIN_HAS_NATIVE_RPC
+ depends on BR2_RPC_SUPPORT_AVAILABLE
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
+comment "lmbench requires RPC support (toolchain or libtirpc)"
+ depends on !BR2_RPC_SUPPORT_AVAILABLE
diff --git a/package/lmbench/lmbench.mk b/package/lmbench/lmbench.mk
index 10f6d14..7d15154 100644
--- a/package/lmbench/lmbench.mk
+++ b/package/lmbench/lmbench.mk
@@ -9,6 +9,15 @@ LMBENCH_SITE:=http://$(BR2_SOURCEFORGE_MIRROR).dl.sourceforge.net/project/lmbenc
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] 44+ messages in thread* [Buildroot] [PATCH 12/20] nfs-utils: add support to use RPC support from libtirpc
2012-08-11 17:40 [Buildroot] [RFC v1] Rework of RPC support to handle glibc >= 2.14 and libtirpc Thomas Petazzoni
` (10 preceding siblings ...)
2012-08-11 17:40 ` [Buildroot] [PATCH 11/20] lmbench: add support to use libtirpc when available Thomas Petazzoni
@ 2012-08-11 17:40 ` Thomas Petazzoni
2012-08-11 17:40 ` [Buildroot] [PATCH 13/20] rpcbind: new package Thomas Petazzoni
` (8 subsequent siblings)
20 siblings, 0 replies; 44+ messages in thread
From: Thomas Petazzoni @ 2012-08-11 17:40 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..90d98af 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
+ depends on BR2_RPC_SUPPORT_AVAILABLE
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, and RPC (toolchain or libtirpc)"
+ depends on !BR2_RPC_SUPPORT_AVAILABLE || !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 c8795fb..3b97340 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] 44+ messages in thread* [Buildroot] [PATCH 13/20] rpcbind: new package
2012-08-11 17:40 [Buildroot] [RFC v1] Rework of RPC support to handle glibc >= 2.14 and libtirpc Thomas Petazzoni
` (11 preceding siblings ...)
2012-08-11 17:40 ` [Buildroot] [PATCH 12/20] nfs-utils: add support to use RPC support from libtirpc Thomas Petazzoni
@ 2012-08-11 17:40 ` Thomas Petazzoni
2012-08-11 17:40 ` [Buildroot] [PATCH 14/20] portmap: mention that rpcbind is the project that superseds portmap Thomas Petazzoni
` (7 subsequent siblings)
20 siblings, 0 replies; 44+ messages in thread
From: Thomas Petazzoni @ 2012-08-11 17:40 UTC (permalink / raw)
To: buildroot
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
---
package/Config.in | 1 +
package/rpcbind/Config.in | 6 ++++
package/rpcbind/rpcbind-01-no-yp-support.patch | 46 ++++++++++++++++++++++++
package/rpcbind/rpcbind.mk | 17 +++++++++
4 files changed, 70 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 581cccb..6205db2 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -589,6 +589,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..0d4ffb2
--- /dev/null
+++ b/package/rpcbind/Config.in
@@ -0,0 +1,6 @@
+config BR2_PACKAGE_RPCBIND
+ bool "rpcbind"
+ 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] 44+ messages in thread* [Buildroot] [PATCH 14/20] portmap: mention that rpcbind is the project that superseds portmap
2012-08-11 17:40 [Buildroot] [RFC v1] Rework of RPC support to handle glibc >= 2.14 and libtirpc Thomas Petazzoni
` (12 preceding siblings ...)
2012-08-11 17:40 ` [Buildroot] [PATCH 13/20] rpcbind: new package Thomas Petazzoni
@ 2012-08-11 17:40 ` Thomas Petazzoni
2012-08-12 15:55 ` Yann E. MORIN
2012-08-11 17:40 ` [Buildroot] [PATCH 15/20] quota: add support to use RPC support from libtirpc Thomas Petazzoni
` (6 subsequent siblings)
20 siblings, 1 reply; 44+ messages in thread
From: Thomas Petazzoni @ 2012-08-11 17:40 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] 44+ messages in thread* [Buildroot] [PATCH 14/20] portmap: mention that rpcbind is the project that superseds portmap
2012-08-11 17:40 ` [Buildroot] [PATCH 14/20] portmap: mention that rpcbind is the project that superseds portmap Thomas Petazzoni
@ 2012-08-12 15:55 ` Yann E. MORIN
2012-08-13 17:35 ` Thomas Petazzoni
0 siblings, 1 reply; 44+ messages in thread
From: Yann E. MORIN @ 2012-08-12 15:55 UTC (permalink / raw)
To: buildroot
Thomas, all,
On Saturday 11 August 2012 19:40:46 Thomas Petazzoni wrote:
> 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.
Wouldn't it be better to add (thus answering your question from 00/20):
depends on BR2_DEPRECATED
Regards,
Yann E. MORIN.
--
.-----------------.--------------------.------------------.--------------------.
| Yann E. MORIN | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software Designer | \ / CAMPAIGN | ___ |
| +33 223 225 172 `------------.-------: X AGAINST | \e/ There is no |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL | v conspiracy. |
'------------------------------^-------^------------------^--------------------'
^ permalink raw reply [flat|nested] 44+ messages in thread
* [Buildroot] [PATCH 14/20] portmap: mention that rpcbind is the project that superseds portmap
2012-08-12 15:55 ` Yann E. MORIN
@ 2012-08-13 17:35 ` Thomas Petazzoni
2012-08-13 18:26 ` Gustavo Zacarias
0 siblings, 1 reply; 44+ messages in thread
From: Thomas Petazzoni @ 2012-08-13 17:35 UTC (permalink / raw)
To: buildroot
Le Sun, 12 Aug 2012 17:55:19 +0200,
"Yann E. MORIN" <yann.morin.1998@free.fr> a ?crit :
> > + Note that portmap is being deprecated in favour of rpcbind.
>
> Wouldn't it be better to add (thus answering your question from 00/20):
> depends on BR2_DEPRECATED
Yeah, I wasn't sure about this one. Maybe we should mark it deprecated
yes. Gustavo, do you see any use case that requires keeping portmap if
rpcbind is available?
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] 44+ messages in thread
* [Buildroot] [PATCH 14/20] portmap: mention that rpcbind is the project that superseds portmap
2012-08-13 17:35 ` Thomas Petazzoni
@ 2012-08-13 18:26 ` Gustavo Zacarias
0 siblings, 0 replies; 44+ messages in thread
From: Gustavo Zacarias @ 2012-08-13 18:26 UTC (permalink / raw)
To: buildroot
On 08/13/12 14:35, Thomas Petazzoni wrote:
> Yeah, I wasn't sure about this one. Maybe we should mark it deprecated
> yes. Gustavo, do you see any use case that requires keeping portmap if
> rpcbind is available?
>
> Thanks!
>
> Thomas
I use a couple of apps that need RPC that i think will probably break,
but on the libc level rather than the portmapper itself so i see no
issue there.
It's probably worth trying the switch with -next so we can find and fix
those in need of a slight LDFLAGS tweak.
Regards.
^ permalink raw reply [flat|nested] 44+ messages in thread
* [Buildroot] [PATCH 15/20] quota: add support to use RPC support from libtirpc
2012-08-11 17:40 [Buildroot] [RFC v1] Rework of RPC support to handle glibc >= 2.14 and libtirpc Thomas Petazzoni
` (13 preceding siblings ...)
2012-08-11 17:40 ` [Buildroot] [PATCH 14/20] portmap: mention that rpcbind is the project that superseds portmap Thomas Petazzoni
@ 2012-08-11 17:40 ` Thomas Petazzoni
2012-08-11 17:40 ` [Buildroot] [PATCH 16/20] samba: unconditionally enable --with-sys-quotas Thomas Petazzoni
` (5 subsequent siblings)
20 siblings, 0 replies; 44+ messages in thread
From: Thomas Petazzoni @ 2012-08-11 17:40 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 788af1b..4220e67 100644
--- a/package/quota/Config.in
+++ b/package/quota/Config.in
@@ -1,6 +1,6 @@
config BR2_PACKAGE_QUOTA
bool "quota"
- depends on BR2_TOOLCHAIN_HAS_NATIVE_RPC
+ depends on BR2_RPC_SUPPORT_AVAILABLE
depends on BR2_LARGEFILE
depends on BR2_USE_WCHAR
select BR2_PACKAGE_UTIL_LINUX
@@ -12,5 +12,5 @@ config BR2_PACKAGE_QUOTA
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, and RPC (toolchain or libtirpc)"
+ depends on !(BR2_RPC_SUPPORT_AVAILABLE && BR2_LARGEFILE && BR2_USE_WCHAR)
diff --git a/package/quota/quota.mk b/package/quota/quota.mk
index 44a5073..278df6d 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://$(BR2_SOURCEFORGE_MIRROR).dl.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 libintl
-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] 44+ messages in thread* [Buildroot] [PATCH 16/20] samba: unconditionally enable --with-sys-quotas
2012-08-11 17:40 [Buildroot] [RFC v1] Rework of RPC support to handle glibc >= 2.14 and libtirpc Thomas Petazzoni
` (14 preceding siblings ...)
2012-08-11 17:40 ` [Buildroot] [PATCH 15/20] quota: add support to use RPC support from libtirpc Thomas Petazzoni
@ 2012-08-11 17:40 ` Thomas Petazzoni
2012-08-11 17:40 ` [Buildroot] [PATCH 17/20] xinetd: add support to use RPC support from libtirpc Thomas Petazzoni
` (4 subsequent siblings)
20 siblings, 0 replies; 44+ messages in thread
From: Thomas Petazzoni @ 2012-08-11 17:40 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 75f16f5..086462b 100644
--- a/package/samba/samba.mk
+++ b/package/samba/samba.mk
@@ -49,7 +49,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] 44+ messages in thread* [Buildroot] [PATCH 17/20] xinetd: add support to use RPC support from libtirpc
2012-08-11 17:40 [Buildroot] [RFC v1] Rework of RPC support to handle glibc >= 2.14 and libtirpc Thomas Petazzoni
` (15 preceding siblings ...)
2012-08-11 17:40 ` [Buildroot] [PATCH 16/20] samba: unconditionally enable --with-sys-quotas Thomas Petazzoni
@ 2012-08-11 17:40 ` Thomas Petazzoni
2012-08-12 15:58 ` Yann E. MORIN
2012-08-11 17:40 ` [Buildroot] [PATCH 18/20] toolchain-external: add Sourcery CodeBench SuperH 2012.03 Thomas Petazzoni
` (3 subsequent siblings)
20 siblings, 1 reply; 44+ messages in thread
From: Thomas Petazzoni @ 2012-08-11 17:40 UTC (permalink / raw)
To: buildroot
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
---
package/xinetd/xinetd.mk | 14 ++++++++++++--
1 file changed, 12 insertions(+), 2 deletions(-)
diff --git a/package/xinetd/xinetd.mk b/package/xinetd/xinetd.mk
index a420425..05168a5 100644
--- a/package/xinetd/xinetd.mk
+++ b/package/xinetd/xinetd.mk
@@ -9,10 +9,20 @@ 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)
+
+ifeq ($(BR2_RPC_SUPPORT_AVAILABLE),y)
+XINETD_DEPENDENCIES += libtirpc
+XINETD_CFLAGS += -I$(STAGING_DIR)/usr/include/tirpc/
+XINETD_LIBS += -ltirpc
+else
+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] 44+ messages in thread* [Buildroot] [PATCH 17/20] xinetd: add support to use RPC support from libtirpc
2012-08-11 17:40 ` [Buildroot] [PATCH 17/20] xinetd: add support to use RPC support from libtirpc Thomas Petazzoni
@ 2012-08-12 15:58 ` Yann E. MORIN
2012-08-14 13:07 ` Thomas Petazzoni
0 siblings, 1 reply; 44+ messages in thread
From: Yann E. MORIN @ 2012-08-12 15:58 UTC (permalink / raw)
To: buildroot
Thomas, All,
On Saturday 11 August 2012 19:40:49 Thomas Petazzoni wrote:
> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
> ---
> package/xinetd/xinetd.mk | 14 ++++++++++++--
> 1 file changed, 12 insertions(+), 2 deletions(-)
>
> diff --git a/package/xinetd/xinetd.mk b/package/xinetd/xinetd.mk
> index a420425..05168a5 100644
> --- a/package/xinetd/xinetd.mk
> +++ b/package/xinetd/xinetd.mk
> @@ -9,10 +9,20 @@ 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)
> +
> +ifeq ($(BR2_RPC_SUPPORT_AVAILABLE),y)
What if the toolchain has RPC support? Surely, you do not want to link
against libtirpc, yes?
> +XINETD_DEPENDENCIES += libtirpc
> +XINETD_CFLAGS += -I$(STAGING_DIR)/usr/include/tirpc/
> +XINETD_LIBS += -ltirpc
> +else
> +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
>
> _______________________________________________
> buildroot mailing list
> buildroot at busybox.net
> http://lists.busybox.net/mailman/listinfo/buildroot
>
>
--
.-----------------.--------------------.------------------.--------------------.
| Yann E. MORIN | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software Designer | \ / CAMPAIGN | ___ |
| +33 223 225 172 `------------.-------: X AGAINST | \e/ There is no |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL | v conspiracy. |
'------------------------------^-------^------------------^--------------------'
^ permalink raw reply [flat|nested] 44+ messages in thread
* [Buildroot] [PATCH 17/20] xinetd: add support to use RPC support from libtirpc
2012-08-12 15:58 ` Yann E. MORIN
@ 2012-08-14 13:07 ` Thomas Petazzoni
0 siblings, 0 replies; 44+ messages in thread
From: Thomas Petazzoni @ 2012-08-14 13:07 UTC (permalink / raw)
To: buildroot
Le Sun, 12 Aug 2012 17:58:52 +0200,
"Yann E. MORIN" <yann.morin.1998@free.fr> a ?crit :
> > +ifeq ($(BR2_RPC_SUPPORT_AVAILABLE),y)
>
> What if the toolchain has RPC support? Surely, you do not want to link
> against libtirpc, yes?
Argh, yes, you're correct. I need to distinguish three cases here:
* No RPC support at all
* RPC support in the toolchain
* RPC support through libtirpc
I'll fix that, thanks for the review!
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] 44+ messages in thread
* [Buildroot] [PATCH 18/20] toolchain-external: add Sourcery CodeBench SuperH 2012.03
2012-08-11 17:40 [Buildroot] [RFC v1] Rework of RPC support to handle glibc >= 2.14 and libtirpc Thomas Petazzoni
` (16 preceding siblings ...)
2012-08-11 17:40 ` [Buildroot] [PATCH 17/20] xinetd: add support to use RPC support from libtirpc Thomas Petazzoni
@ 2012-08-11 17:40 ` Thomas Petazzoni
2012-08-11 17:40 ` [Buildroot] [PATCH 19/20] toolchain-external: add Sourcery CodeBench x86 2012.03 Thomas Petazzoni
` (2 subsequent siblings)
20 siblings, 0 replies; 44+ messages in thread
From: Thomas Petazzoni @ 2012-08-11 17:40 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 8ea0dcb..2f20fa5 100644
--- a/toolchain/toolchain-external/Config.in
+++ b/toolchain/toolchain-external/Config.in
@@ -394,6 +394,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
@@ -643,6 +662,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 6e33342..9351c35 100644
--- a/toolchain/toolchain-external/ext-tool.mk
+++ b/toolchain/toolchain-external/ext-tool.mk
@@ -223,6 +223,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] 44+ messages in thread* [Buildroot] [PATCH 19/20] toolchain-external: add Sourcery CodeBench x86 2012.03
2012-08-11 17:40 [Buildroot] [RFC v1] Rework of RPC support to handle glibc >= 2.14 and libtirpc Thomas Petazzoni
` (17 preceding siblings ...)
2012-08-11 17:40 ` [Buildroot] [PATCH 18/20] toolchain-external: add Sourcery CodeBench SuperH 2012.03 Thomas Petazzoni
@ 2012-08-11 17:40 ` Thomas Petazzoni
2012-08-28 18:15 ` Arnout Vandecappelle
2012-08-11 17:40 ` [Buildroot] [PATCH 20/20] external-toolchain: add Sourcery CodeBench ARM 2012.03 Thomas Petazzoni
2012-08-28 22:34 ` [Buildroot] [RFC v1] Rework of RPC support to handle glibc >= 2.14 and libtirpc Arnout Vandecappelle
20 siblings, 1 reply; 44+ messages in thread
From: Thomas Petazzoni @ 2012-08-11 17:40 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 2f20fa5..83be75a 100644
--- a/toolchain/toolchain-external/Config.in
+++ b/toolchain/toolchain-external/Config.in
@@ -487,6 +487,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
@@ -667,6 +692,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 9351c35..0d4c022 100644
--- a/toolchain/toolchain-external/ext-tool.mk
+++ b/toolchain/toolchain-external/ext-tool.mk
@@ -238,6 +238,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] 44+ messages in thread* [Buildroot] [PATCH 19/20] toolchain-external: add Sourcery CodeBench x86 2012.03
2012-08-11 17:40 ` [Buildroot] [PATCH 19/20] toolchain-external: add Sourcery CodeBench x86 2012.03 Thomas Petazzoni
@ 2012-08-28 18:15 ` Arnout Vandecappelle
2012-08-28 20:55 ` Thomas Petazzoni
0 siblings, 1 reply; 44+ messages in thread
From: Arnout Vandecappelle @ 2012-08-28 18:15 UTC (permalink / raw)
To: buildroot
On 08/11/12 19:40, 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.
Uh?
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] 44+ messages in thread
* [Buildroot] [PATCH 19/20] toolchain-external: add Sourcery CodeBench x86 2012.03
2012-08-28 18:15 ` Arnout Vandecappelle
@ 2012-08-28 20:55 ` Thomas Petazzoni
0 siblings, 0 replies; 44+ messages in thread
From: Thomas Petazzoni @ 2012-08-28 20:55 UTC (permalink / raw)
To: buildroot
Le Tue, 28 Aug 2012 20:15:33 +0200,
Arnout Vandecappelle <arnout@mind.be> a ?crit :
> On 08/11/12 19:40, 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.
>
> Uh?
These toolchain patches were initially in a big update of the external
toolchain code, and this patch set wasn't adding the libtirpc support.
But now, clearly, I need to update this text. Thanks for noticing!
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] 44+ messages in thread
* [Buildroot] [PATCH 20/20] external-toolchain: add Sourcery CodeBench ARM 2012.03
2012-08-11 17:40 [Buildroot] [RFC v1] Rework of RPC support to handle glibc >= 2.14 and libtirpc Thomas Petazzoni
` (18 preceding siblings ...)
2012-08-11 17:40 ` [Buildroot] [PATCH 19/20] toolchain-external: add Sourcery CodeBench x86 2012.03 Thomas Petazzoni
@ 2012-08-11 17:40 ` Thomas Petazzoni
2012-08-22 8:46 ` Fabio Porcedda
2012-08-28 22:34 ` [Buildroot] [RFC v1] Rework of RPC support to handle glibc >= 2.14 and libtirpc Arnout Vandecappelle
20 siblings, 1 reply; 44+ messages in thread
From: Thomas Petazzoni @ 2012-08-11 17:40 UTC (permalink / raw)
To: buildroot
From: Fabio Porcedda <fabio.porcedda@gmail.com>
Signed-off-by: Fabio Porcedda <fabio.porcedda@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
---
toolchain/toolchain-external/Config.in | 22 ++++++++++++++++++++++
toolchain/toolchain-external/ext-tool.mk | 3 +++
2 files changed, 25 insertions(+)
diff --git a/toolchain/toolchain-external/Config.in b/toolchain/toolchain-external/Config.in
index 83be75a..ede1a3b 100644
--- a/toolchain/toolchain-external/Config.in
+++ b/toolchain/toolchain-external/Config.in
@@ -82,6 +82,27 @@ config BR2_TOOLCHAIN_EXTERNAL_LINARO_2012_02
Thumb 2, with the softfp calling convention, and uses the
VFPv3-D16 FPU instructions.
+config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_ARM201203
+ bool "Sourcery CodeBench ARM 2012.03"
+ depends on BR2_arm
+ select BR2_TOOLCHAIN_EXTERNAL_GLIBC
+ select BR2_INSTALL_LIBSTDCPP
+ help
+ Sourcery CodeBench toolchain for the ARM architecture, from
+ Mentor Graphics. It uses gcc 4.6.3, binutils 2.21.53, glibc
+ 2.15 and gdb 7.2.50, kernel headers 3.2.10. It has support
+ for the following variants:
+ - ARMv5TE, little endian, soft-float, glibc
+ Select ARM926T, ARM10T, XScale or another ARMv5 core
+ Select BR2_SOFT_FLOAT
+ - ARMv4T, little endian, soft-float, glibc
+ Select ARM720T, ARM920T, ARM922T or another ARMv4 core
+ Select BR2_SOFT_FLOAT
+ - ARMv7-A, Thumb 2, little endian, soft-float, glibc
+ Select Cortex-A8, Cortex-A9 or another ARMv7-A core
+ Select BR2_SOFT_FLOAT
+ Set BR2_TARGET_OPTIMIZATION to -mthumb
+
config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_ARM201109
bool "Sourcery CodeBench ARM 2011.09"
depends on BR2_arm
@@ -678,6 +699,7 @@ config BR2_TOOLCHAIN_EXTERNAL_PREFIX
default "arm-none-linux-gnueabi" if BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_ARM201009
default "arm-none-linux-gnueabi" if BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_ARM201103
default "arm-none-linux-gnueabi" if BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_ARM201109
+ default "arm-none-linux-gnueabi" if BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_ARM201203
default "microblazeel-unknown-linux-gnu" if BR2_TOOLCHAIN_EXTERNAL_XILINX_MICROBLAZEEL_V2
default "microblaze-unknown-linux-gnu" if BR2_TOOLCHAIN_EXTERNAL_XILINX_MICROBLAZEBE_V2
default "mips-linux-gnu" if BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_MIPS44
diff --git a/toolchain/toolchain-external/ext-tool.mk b/toolchain/toolchain-external/ext-tool.mk
index 0d4c022..f8a730e 100644
--- a/toolchain/toolchain-external/ext-tool.mk
+++ b/toolchain/toolchain-external/ext-tool.mk
@@ -187,6 +187,9 @@ TOOLCHAIN_EXTERNAL_SOURCE=arm-2011.03-41-arm-none-linux-gnueabi-i686-pc-linux-gn
else ifeq ($(BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_ARM201109),y)
TOOLCHAIN_EXTERNAL_SITE=http://sourcery.mentor.com/public/gnu_toolchain/arm-none-linux-gnueabi/
TOOLCHAIN_EXTERNAL_SOURCE=arm-2011.09-70-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2
+else ifeq ($(BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_ARM201203),y)
+TOOLCHAIN_EXTERNAL_SITE=http://sourcery.mentor.com/public/gnu_toolchain/arm-none-linux-gnueabi/
+TOOLCHAIN_EXTERNAL_SOURCE=arm-2012.03-57-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2
else ifeq ($(BR2_TOOLCHAIN_EXTERNAL_LINARO_2012_02),y)
TOOLCHAIN_EXTERNAL_SITE=http://launchpad.net/linaro-toolchain-binaries/trunk/2012.02/+download/
TOOLCHAIN_EXTERNAL_SOURCE=gcc-linaro-arm-linux-gnueabi-2012.02-20120222_linux.tar.bz2
--
1.7.9.5
^ permalink raw reply related [flat|nested] 44+ messages in thread* [Buildroot] [PATCH 20/20] external-toolchain: add Sourcery CodeBench ARM 2012.03
2012-08-11 17:40 ` [Buildroot] [PATCH 20/20] external-toolchain: add Sourcery CodeBench ARM 2012.03 Thomas Petazzoni
@ 2012-08-22 8:46 ` Fabio Porcedda
2012-08-22 13:51 ` Thomas Petazzoni
0 siblings, 1 reply; 44+ messages in thread
From: Fabio Porcedda @ 2012-08-22 8:46 UTC (permalink / raw)
To: buildroot
I've discovered only today that this toolchain has already the rpc library...
so the test fail because the rpc/rpc.h header it's present.
getting-started.pdf:
A.1.1. Changes in Sourcery CodeBench Lite 2012.03-57
...
RPC library functions. GLIBC has been changed so that programs may
again be built to use its
RPC library functions. The ability to build programs using these
functions had previously been dis-
abled.
IMHO there are two solutions:
a) update this patch to enable the BR2_TOOLCHAIN_HAS_NATIVE_RPC
b) apply as is directly on the next branch and change accordingly the commit:
commit 80f89c34315be739c52935f1b0606dc5531e6eb3
Author: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Date: Sat Aug 11 18:50:42 2012 +0200
toolchain-external: improve glibc support to test availability of RPC
Let me know which one solution you prefer.
Best regards
--
Fabio Porcedda
^ permalink raw reply [flat|nested] 44+ messages in thread* [Buildroot] [PATCH 20/20] external-toolchain: add Sourcery CodeBench ARM 2012.03
2012-08-22 8:46 ` Fabio Porcedda
@ 2012-08-22 13:51 ` Thomas Petazzoni
2012-08-22 14:36 ` Yann E. MORIN
0 siblings, 1 reply; 44+ messages in thread
From: Thomas Petazzoni @ 2012-08-22 13:51 UTC (permalink / raw)
To: buildroot
Le Wed, 22 Aug 2012 10:46:49 +0200,
Fabio Porcedda <fabio.porcedda@gmail.com> a ?crit :
> I've discovered only today that this toolchain has already the rpc library...
> so the test fail because the rpc/rpc.h header it's present.
>
> getting-started.pdf:
> A.1.1. Changes in Sourcery CodeBench Lite 2012.03-57
> ...
> RPC library functions. GLIBC has been changed so that programs may
> again be built to use its
> RPC library functions. The ability to build programs using these
> functions had previously been dis-
> abled.
Argh, so they brought back RPC support into glibc... sigh.
> IMHO there are two solutions:
> a) update this patch to enable the BR2_TOOLCHAIN_HAS_NATIVE_RPC
> b) apply as is directly on the next branch and change accordingly the commit:
> commit 80f89c34315be739c52935f1b0606dc5531e6eb3
> Author: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
> Date: Sat Aug 11 18:50:42 2012 +0200
>
> toolchain-external: improve glibc support to test availability of RPC
>
> Let me know which one solution you prefer.
I'm a bit hesitant here. If newer glibc toolchains re-include the RPC
support, is it worth supporting libtirpc and do all the changes I had
proposed? Or should we just give up and say we only support
glibc toolchains that include RPC support? Maybe not nice, since
libtirpc brings quite a few features compared to in-toolchain RPC
support.
Comments from others?
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] 44+ messages in thread
* [Buildroot] [PATCH 20/20] external-toolchain: add Sourcery CodeBench ARM 2012.03
2012-08-22 13:51 ` Thomas Petazzoni
@ 2012-08-22 14:36 ` Yann E. MORIN
2012-08-28 22:45 ` Arnout Vandecappelle
0 siblings, 1 reply; 44+ messages in thread
From: Yann E. MORIN @ 2012-08-22 14:36 UTC (permalink / raw)
To: buildroot
Thomas, Fabio, All,
On Wednesday 22 August 2012 15:51:22 Thomas Petazzoni wrote:
> Le Wed, 22 Aug 2012 10:46:49 +0200,
> Fabio Porcedda <fabio.porcedda@gmail.com> a ?crit :
>
> > I've discovered only today that this toolchain has already the rpc library...
> > so the test fail because the rpc/rpc.h header it's present.
> >
> > getting-started.pdf:
> > A.1.1. Changes in Sourcery CodeBench Lite 2012.03-57
> > ...
> > RPC library functions. GLIBC has been changed so that programs may
> > again be built to use its
> > RPC library functions. The ability to build programs using these
> > functions had previously been dis-
> > abled.
>
> Argh, so they brought back RPC support into glibc... sigh.
Yes, since the change in maintainership, they've reinstated RPC support:
http://sourceware.org/git/?p=glibc.git;a=commit;h=021db4be6f1f4189f66feee066a495d49e92b93e
In fact, RPC was not gone. The RPC libraries were still built and
installed, so programs already built would still run, but the headers
were not installed, so no new package could be compiled.
That's just the headers insallation that was reinstated.
> > IMHO there are two solutions:
> > a) update this patch to enable the BR2_TOOLCHAIN_HAS_NATIVE_RPC
> > b) apply as is directly on the next branch and change accordingly the commit:
> > commit 80f89c34315be739c52935f1b0606dc5531e6eb3
> > Author: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
> > Date: Sat Aug 11 18:50:42 2012 +0200
> >
> > toolchain-external: improve glibc support to test availability of RPC
> >
> > Let me know which one solution you prefer.
>
> I'm a bit hesitant here. If newer glibc toolchains re-include the RPC
> support, is it worth supporting libtirpc and do all the changes I had
> proposed? Or should we just give up and say we only support
> glibc toolchains that include RPC support? Maybe not nice, since
> libtirpc brings quite a few features compared to in-toolchain RPC
> support.
>
> Comments from others?
In glibc, RPC is now considered obsolete, and still planned for removal,
albeit no time-line exists AFAIK.
So, although glibc now again installs RPC headers, I think working on
the libtirpc replacement is still the way to go. It's just that it's less
critical for now.
Also, there is currently no provision in crosstool-NG to build glibc/eglibc
with --enable-obsolete-rpc (although that should be easy to add; will do
shortly).
In the end, I don not think that your work on libtirpc is still valuable,
because at the very least, it offers some insights on the road to go, and
even provides a good overview of the issues at hand, and how to possibly
solve those.
Regards,
Yann E. MORIN.
--
.-----------------.--------------------.------------------.--------------------.
| Yann E. MORIN | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software Designer | \ / CAMPAIGN | ___ |
| +33 223 225 172 `------------.-------: X AGAINST | \e/ There is no |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL | v conspiracy. |
'------------------------------^-------^------------------^--------------------'
^ permalink raw reply [flat|nested] 44+ messages in thread* [Buildroot] [PATCH 20/20] external-toolchain: add Sourcery CodeBench ARM 2012.03
2012-08-22 14:36 ` Yann E. MORIN
@ 2012-08-28 22:45 ` Arnout Vandecappelle
2012-08-29 9:37 ` Yann E. MORIN
0 siblings, 1 reply; 44+ messages in thread
From: Arnout Vandecappelle @ 2012-08-28 22:45 UTC (permalink / raw)
To: buildroot
On 08/22/12 16:36, Yann E. MORIN wrote:
>> > I'm a bit hesitant here. If newer glibc toolchains re-include the RPC
>> > support, is it worth supporting libtirpc and do all the changes I had
>> > proposed? Or should we just give up and say we only support
>> > glibc toolchains that include RPC support? Maybe not nice, since
>> > libtirpc brings quite a few features compared to in-toolchain RPC
>> > support.
>> >
>> > Comments from others?
> In glibc, RPC is now considered obsolete, and still planned for removal,
> albeit no time-line exists AFAIK.
>
> So, although glibc now again installs RPC headers, I think working on
> the libtirpc replacement is still the way to go. It's just that it's less
> critical for now.
>
> Also, there is currently no provision in crosstool-NG to build glibc/eglibc
> with --enable-obsolete-rpc (although that should be easy to add; will do
> shortly).
>
> In the end, I don not think that your work on libtirpc is still valuable,
^^^^^^^not???
> because at the very least, it offers some insights on the road to go, and
> even provides a good overview of the issues at hand, and how to possibly
> solve those.
At the very least it is useful to be able to use tirpc instead of uClibc RPC.
And I agree that this patch set is good for the future. Also, it's in such
a good state already that it would be a real shame to discard it.
Some of the preparatory patches (1-4, 7-10) can definitely be applied in the
short term, even if libtirpc isn't included. Especially patch 4 is a good one
to make sure people don't run into the issue anymore with locally installed
external toolchains.
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] 44+ messages in thread* [Buildroot] [PATCH 20/20] external-toolchain: add Sourcery CodeBench ARM 2012.03
2012-08-28 22:45 ` Arnout Vandecappelle
@ 2012-08-29 9:37 ` Yann E. MORIN
0 siblings, 0 replies; 44+ messages in thread
From: Yann E. MORIN @ 2012-08-29 9:37 UTC (permalink / raw)
To: buildroot
Arnout, Thomas, All,
On Wednesday 29 August 2012 00:45:06 Arnout Vandecappelle wrote:
> On 08/22/12 16:36, Yann E. MORIN wrote:
> >> > I'm a bit hesitant here. If newer glibc toolchains re-include the RPC
> >> > support, is it worth supporting libtirpc and do all the changes I had
> >> > proposed? Or should we just give up and say we only support
> >> > glibc toolchains that include RPC support? Maybe not nice, since
> >> > libtirpc brings quite a few features compared to in-toolchain RPC
> >> > support.
> >> >
> >> > Comments from others?
> > In the end, I don not think that your work on libtirpc is still valuable,
> ^^^^^^^not???
Of course, I meant: I *do* think it is valuable.
Regards,
Yann E. MORIN.
--
.-----------------.--------------------.------------------.--------------------.
| Yann E. MORIN | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software Designer | \ / CAMPAIGN | ___ |
| +33 223 225 172 `------------.-------: X AGAINST | \e/ There is no |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL | v conspiracy. |
'------------------------------^-------^------------------^--------------------'
^ permalink raw reply [flat|nested] 44+ messages in thread
* [Buildroot] [RFC v1] Rework of RPC support to handle glibc >= 2.14 and libtirpc
2012-08-11 17:40 [Buildroot] [RFC v1] Rework of RPC support to handle glibc >= 2.14 and libtirpc Thomas Petazzoni
` (19 preceding siblings ...)
2012-08-11 17:40 ` [Buildroot] [PATCH 20/20] external-toolchain: add Sourcery CodeBench ARM 2012.03 Thomas Petazzoni
@ 2012-08-28 22:34 ` Arnout Vandecappelle
20 siblings, 0 replies; 44+ messages in thread
From: Arnout Vandecappelle @ 2012-08-28 22:34 UTC (permalink / raw)
To: buildroot
On 08/11/12 19:40, Thomas Petazzoni wrote:
> Hello,
>
> This set of patches reworks the RPC support to take into account newer
> glibc versions that do not provide RPC support. This is still a work
> in progress and this version is a RFC only.
It looks pretty good though.
[snip]
> * Patch 3 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).
This is probably done with an automatically with a script, right? Then
I think you should include the script in the commit message. That way,
it can easily be reproduced even if some new package started using
BR2_INET_RPC.
[snip]
> * Patch 5 adds a package for libtirpc, with a bunch of patches to
> make its compilation work properly on top of uClibc.
Anything upstreamable?
> * Patch 12 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).
Maybe keep the select if LIBTIRPC is not selected, and select rpcbind
if it is.
> * Patch 13 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?
Is it possible to compile rpcbind with internal RPC support? In that case
I definitely think that case should be supported (and then portmap can be
deprecated). I think you can use
select BR2_PACKAGE_LIBTIRPC if !BR2_TOOLCHAIN_HAS_NATIVE_RPC
Maybe the same pattern can be applied to the other RPC users (excluding
busybox, of course). And in that case the BR2_RPC_SUPPORT_AVAILABLE
symbol isn't needed...
[snip]
> * Patch 14 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?
Unless rpcbind works for native rpc, it shouldn't be deprecated.
[snip]
> * Patches 18-20 add the latest Sourcery CodeBench toolchain for ARM,
> x86 and SH4. Those glibc toolchains use glibc 2.15 and therefore do
> not have RPC support.
The help text about RPC should be the same for all three. Actually there's
probably no need to mention RPC, the comments in the packages requiring RPC
are sufficient.
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] 44+ messages in thread