All of lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [PATCH] openvmtools: enable for uClibc toolchains
@ 2015-12-04 16:53 Waldemar Brodkorb
  2015-12-05 15:52 ` Arnout Vandecappelle
  2015-12-13 22:01 ` Thomas Petazzoni
  0 siblings, 2 replies; 5+ messages in thread
From: Waldemar Brodkorb @ 2015-12-04 16:53 UTC (permalink / raw)
  To: buildroot

Since uClibc-ng 1.0.9 openvmtools can be compiled as
the missing euidaccess function was added.

Signed-off-by: Waldemar Brodkorb <wbx@openadk.org>
---
 package/openvmtools/Config.in |    8 +++-----
 1 file changed, 3 insertions(+), 5 deletions(-)

diff --git a/package/openvmtools/Config.in b/package/openvmtools/Config.in
index 64bf65c..528ddbe 100644
--- a/package/openvmtools/Config.in
+++ b/package/openvmtools/Config.in
@@ -6,7 +6,6 @@ config BR2_PACKAGE_OPENVMTOOLS
 	depends on BR2_TOOLCHAIN_HAS_THREADS # libglib2
 	depends on BR2_TOOLCHAIN_HAS_NATIVE_RPC
 	depends on BR2_ENABLE_LOCALE
-	depends on !BR2_TOOLCHAIN_USES_UCLIBC
 	select BR2_PACKAGE_LIBGLIB2
 	select BR2_PACKAGE_LIBDNET
 	help
@@ -41,14 +40,13 @@ config BR2_PACKAGE_OPENVMTOOLS_PAM
 	help
 	  Support for PAM in openvmtools
 
-comment "PAM support needs an (e)glibc toolchain w/ dynamic library"
+comment "PAM support needs an (e)glibc or uClibc toolchain w/ dynamic library"
 	depends on BR2_STATIC_LIBS || BR2_TOOLCHAIN_USES_MUSL
 
 endif
 
-comment "openvmtools needs an (e)glibc or musl toolchain w/ wchar, threads, RPC, locale"
+comment "openvmtools needs a toolchain w/ wchar, threads, RPC, locale"
 	depends on BR2_i386 || BR2_x86_64
 	depends on BR2_USE_MMU
 	depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS || \
-		!BR2_TOOLCHAIN_HAS_NATIVE_RPC || !BR2_ENABLE_LOCALE || \
-		BR2_TOOLCHAIN_USES_UCLIBC
+		!BR2_TOOLCHAIN_HAS_NATIVE_RPC || !BR2_ENABLE_LOCALE
-- 
1.7.10.4

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

* [Buildroot] [PATCH] openvmtools: enable for uClibc toolchains
  2015-12-04 16:53 [Buildroot] [PATCH] openvmtools: enable for uClibc toolchains Waldemar Brodkorb
@ 2015-12-05 15:52 ` Arnout Vandecappelle
  2015-12-05 19:24   ` Waldemar Brodkorb
  2015-12-13 22:01 ` Thomas Petazzoni
  1 sibling, 1 reply; 5+ messages in thread
From: Arnout Vandecappelle @ 2015-12-05 15:52 UTC (permalink / raw)
  To: buildroot

 Waldemar, all,

On 04-12-15 17:53, Waldemar Brodkorb wrote:
> Since uClibc-ng 1.0.9 openvmtools can be compiled as
> the missing euidaccess function was added.

 We actually still support older uClibc-based toolchains, including an internal
one based on 0.9.33.2, custom external ones (buildroot or crosstool-NG) that may
also be based on that, custom external ones based on -ng pre-1.0.9, and the
Blackfin toolchains.

 This comment is not specific for this patch but rather applies to all packages
that will work with -ng but not with 0.9.33.2, and there are ever more of those.

 There are several things we can do here:

- Ignore it and let the user deal with the build failure.

- Ignore it and add a comment in the Config.in, so that the user at least is
warned. See e.g. rt-tests. This is not a great solution either because the user
will not see the comment when there is another package that selects openvmtools.

- Depend on an internal -ng toolchain. That sucks pretty hard because you'll
often want to build the toolchain once and then use it as an external toolchain.

- Kill 0.9.33.2 and depend on an internal toolchain. See above.

- Give a more explicit warning in the custom external toolchain and in the
0.9.33.x and snapshot uClibc version choices that some packages may fail to
build. This should be combined with an explicit exclusion of the Blackfin
binaries (not necessary for openvmtools since it depends on MMU).

- Explicitly exclude non-ng toolchains. We can add a hidden symbol for that, and
add -ng as a separate option for the custom external toolchain. For this
particular patch, that doesn't solve the issue however because it will still
fail with uclibc-ng 1.0.8.


 I don't think any of these options is perfect, but the last one is the least
bad IMO.


 Note that we probably already have a bunch of packages that have this problem,
because the only uClibc-based toolchains that we test in the autobuilders are
Buildroot-generated, except for the Blackfin ones.

 We probably should kill the non-ng options in the uclibc package as well. We
also should make it more explicit in the documentation of the custom external
toolchains that you're on your own.


 Otherwise, the patch looks good to me though :-)

 Regards,
 Arnout

> 
> Signed-off-by: Waldemar Brodkorb <wbx@openadk.org>
> ---
>  package/openvmtools/Config.in |    8 +++-----
>  1 file changed, 3 insertions(+), 5 deletions(-)
> 
> diff --git a/package/openvmtools/Config.in b/package/openvmtools/Config.in
> index 64bf65c..528ddbe 100644
> --- a/package/openvmtools/Config.in
> +++ b/package/openvmtools/Config.in
> @@ -6,7 +6,6 @@ config BR2_PACKAGE_OPENVMTOOLS
>  	depends on BR2_TOOLCHAIN_HAS_THREADS # libglib2
>  	depends on BR2_TOOLCHAIN_HAS_NATIVE_RPC
>  	depends on BR2_ENABLE_LOCALE
> -	depends on !BR2_TOOLCHAIN_USES_UCLIBC
>  	select BR2_PACKAGE_LIBGLIB2
>  	select BR2_PACKAGE_LIBDNET
>  	help
> @@ -41,14 +40,13 @@ config BR2_PACKAGE_OPENVMTOOLS_PAM
>  	help
>  	  Support for PAM in openvmtools
>  
> -comment "PAM support needs an (e)glibc toolchain w/ dynamic library"
> +comment "PAM support needs an (e)glibc or uClibc toolchain w/ dynamic library"
>  	depends on BR2_STATIC_LIBS || BR2_TOOLCHAIN_USES_MUSL
>  
>  endif
>  
> -comment "openvmtools needs an (e)glibc or musl toolchain w/ wchar, threads, RPC, locale"
> +comment "openvmtools needs a toolchain w/ wchar, threads, RPC, locale"
>  	depends on BR2_i386 || BR2_x86_64
>  	depends on BR2_USE_MMU
>  	depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS || \
> -		!BR2_TOOLCHAIN_HAS_NATIVE_RPC || !BR2_ENABLE_LOCALE || \
> -		BR2_TOOLCHAIN_USES_UCLIBC
> +		!BR2_TOOLCHAIN_HAS_NATIVE_RPC || !BR2_ENABLE_LOCALE
> 


-- 
Arnout Vandecappelle                          arnout at mind be
Senior Embedded Software Architect            +32-16-286500
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:  7493 020B C7E3 8618 8DEC 222C 82EB F404 F9AC 0DDF

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

* [Buildroot] [PATCH] openvmtools: enable for uClibc toolchains
  2015-12-05 15:52 ` Arnout Vandecappelle
@ 2015-12-05 19:24   ` Waldemar Brodkorb
  0 siblings, 0 replies; 5+ messages in thread
From: Waldemar Brodkorb @ 2015-12-05 19:24 UTC (permalink / raw)
  To: buildroot

Hi Arnout,
Arnout Vandecappelle wrote,

>  Waldemar, all,
> 
> On 04-12-15 17:53, Waldemar Brodkorb wrote:
> > Since uClibc-ng 1.0.9 openvmtools can be compiled as
> > the missing euidaccess function was added.
> 
>  We actually still support older uClibc-based toolchains, including an internal
> one based on 0.9.33.2, custom external ones (buildroot or crosstool-NG) that may
> also be based on that, custom external ones based on -ng pre-1.0.9, and the
> Blackfin toolchains.
> 
>  This comment is not specific for this patch but rather applies to all packages
> that will work with -ng but not with 0.9.33.2, and there are ever more of those.
> 
>  There are several things we can do here:
> 
> - Ignore it and let the user deal with the build failure.
> 
> - Ignore it and add a comment in the Config.in, so that the user at least is
> warned. See e.g. rt-tests. This is not a great solution either because the user
> will not see the comment when there is another package that selects openvmtools.

I don't think any package selects openvmtools. So this would be
okay?
 
> - Depend on an internal -ng toolchain. That sucks pretty hard because you'll
> often want to build the toolchain once and then use it as an external toolchain.
> 
> - Kill 0.9.33.2 and depend on an internal toolchain. See above.
> 
> - Give a more explicit warning in the custom external toolchain and in the
> 0.9.33.x and snapshot uClibc version choices that some packages may fail to
> build. This should be combined with an explicit exclusion of the Blackfin
> binaries (not necessary for openvmtools since it depends on MMU).

Openvm-tools is x86/x86_64 only, so other architectures are not
involved anyway.
 
> - Explicitly exclude non-ng toolchains. We can add a hidden symbol for that, and
> add -ng as a separate option for the custom external toolchain. For this
> particular patch, that doesn't solve the issue however because it will still
> fail with uclibc-ng 1.0.8.
> 
> 
>  I don't think any of these options is perfect, but the last one is the least
> bad IMO.
> 
> 
>  Note that we probably already have a bunch of packages that have this problem,
> because the only uClibc-based toolchains that we test in the autobuilders are
> Buildroot-generated, except for the Blackfin ones.
> 
>  We probably should kill the non-ng options in the uclibc package as well. We
> also should make it more explicit in the documentation of the custom external
> toolchains that you're on your own.

That would be the best, but I am a bit biased ;)
uClibc upstream master get no updates since 5 months or so.
I think even the snapshot version is getting of no use ;)
 
>  Otherwise, the patch looks good to me though :-)

Okay ;)

 best regards 
   Waldemar

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

* [Buildroot] [PATCH] openvmtools: enable for uClibc toolchains
  2015-12-04 16:53 [Buildroot] [PATCH] openvmtools: enable for uClibc toolchains Waldemar Brodkorb
  2015-12-05 15:52 ` Arnout Vandecappelle
@ 2015-12-13 22:01 ` Thomas Petazzoni
  2015-12-13 22:30   ` Waldemar Brodkorb
  1 sibling, 1 reply; 5+ messages in thread
From: Thomas Petazzoni @ 2015-12-13 22:01 UTC (permalink / raw)
  To: buildroot

Dear Waldemar Brodkorb,

On Fri, 4 Dec 2015 17:53:30 +0100, Waldemar Brodkorb wrote:
> Since uClibc-ng 1.0.9 openvmtools can be compiled as
> the missing euidaccess function was added.
> 
> Signed-off-by: Waldemar Brodkorb <wbx@openadk.org>
> ---
>  package/openvmtools/Config.in |    8 +++-----
>  1 file changed, 3 insertions(+), 5 deletions(-)

Arnout explained very well that this patch is not super great due to
the need to keep things working with older uClibc toolchains. Could you
instead cook a patch that changes openvmtools to detect if euidaccess()
is available or not. If it is available, then it uses it, otherwise, it
open-codes it (the euidaccess implementation in uClibc is just one
line, so it's not a big deal to copy that in the openvmtools source
code).

Are you willing to implement such a solution?

I'd say that within 6/12 months, we should be able to kill non-ng
uClibc support. Blackfin will be a problem... but Blackfin has always
been a problem.

Thanks,

Thomas
-- 
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com

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

* [Buildroot] [PATCH] openvmtools: enable for uClibc toolchains
  2015-12-13 22:01 ` Thomas Petazzoni
@ 2015-12-13 22:30   ` Waldemar Brodkorb
  0 siblings, 0 replies; 5+ messages in thread
From: Waldemar Brodkorb @ 2015-12-13 22:30 UTC (permalink / raw)
  To: buildroot

Hi Thomas,
Thomas Petazzoni wrote,

> Dear Waldemar Brodkorb,
> 
> On Fri, 4 Dec 2015 17:53:30 +0100, Waldemar Brodkorb wrote:
> > Since uClibc-ng 1.0.9 openvmtools can be compiled as
> > the missing euidaccess function was added.
> > 
> > Signed-off-by: Waldemar Brodkorb <wbx@openadk.org>
> > ---
> >  package/openvmtools/Config.in |    8 +++-----
> >  1 file changed, 3 insertions(+), 5 deletions(-)
> 
> Arnout explained very well that this patch is not super great due to
> the need to keep things working with older uClibc toolchains. Could you
> instead cook a patch that changes openvmtools to detect if euidaccess()
> is available or not. If it is available, then it uses it, otherwise, it
> open-codes it (the euidaccess implementation in uClibc is just one
> line, so it's not a big deal to copy that in the openvmtools source
> code).
> 
> Are you willing to implement such a solution?

Not sure it is worth. I am not using openvmtools on
embedded systems, so may be I just wait ;)
 
> I'd say that within 6/12 months, we should be able to kill non-ng
> uClibc support. Blackfin will be a problem... but Blackfin has always
> been a problem.

I recently done some testing with Blackfin. Latest binutils/gcc
development versions might be usable to get back an internal
toolchain support, whenever they make a new release. 
(speaking about binutils 2.26 and gcc 6).

best regards
 Waldemar

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

end of thread, other threads:[~2015-12-13 22:30 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-12-04 16:53 [Buildroot] [PATCH] openvmtools: enable for uClibc toolchains Waldemar Brodkorb
2015-12-05 15:52 ` Arnout Vandecappelle
2015-12-05 19:24   ` Waldemar Brodkorb
2015-12-13 22:01 ` Thomas Petazzoni
2015-12-13 22:30   ` Waldemar Brodkorb

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.