[OE-core] [PATCH v2] ruby: fix non-IPv6 support
André Draszik
git at andred.net
Fri Sep 27 15:24:35 UTC 2019
On Fri, 2019-09-27 at 17:05 +0200, Alexander Kanavin wrote:
> Just wanted to request, would you be able to provide a ruby version upgrade as well?
Not anytime soon - I'm just working a quick proof-of-concept.
Also, if you look at Alpine, they are packaging all the bundled gems
separately, so ideally the same should happen when using yocto.
But that's a bigger task...
And I don't know anything about ruby :-)
Can't the auto-updater do it? (Without the repackaging?)
Cheers,
Andre'
> Alex
>
> On Fri, 27 Sep 2019 at 16:10, André Draszik <git at andred.net> wrote:
> > From: André Draszik <andre.draszik at jci.com>
> >
> > When IPv6 support is disabled, this recipe mis-configures
> > ruby so that it end up non-working:
> > --enable-wide-getaddrinfo instructs ruby to re-implement
> > the standard getaddinfo(), but IPv6 support is still
> > automatically detected via ext/socket/extconf.rb
> > independently of that flag.
> >
> > To re-implement getaddrinfo(), ruby uses the obsolete
> > getipnodebyaddr() and getipnodebyname() functions - i.e.
> > according to the man-page, glibc provided those only in
> > glibc 2.1.91-95; and of course compilation fails. [1]
> >
> > Switch to ruby's standard --enable-ipv6= configure
> > options to make the build work without warnings, and
> > ruby work at runtime as well.
> >
> > [1] Compilation and linking actually succeed, albeit with
> > a warning regarding implicit declaration / unresolved
> > symbols. The error is only obvious at runtime due to the
> > unresolved symbols...
> >
> > Signed-off-by: André Draszik <andre.draszik at jci.com>
> >
> > ---
> > v2:
> > * switch to --enable-ipv6/--disable-ipv6 instead of
> > --enable-ipv6=yes/no, as the latter is not actually
> > recognised
> > ---
> > meta/recipes-devtools/ruby/ruby_2.5.5.bb | 7 +------
> > 1 file changed, 1 insertion(+), 6 deletions(-)
> >
> > diff --git a/meta/recipes-devtools/ruby/ruby_2.5.5.bb b/meta/recipes-devtools/ruby/ruby_2.5.5.bb
> > index fdd3852a78..feb654cb6a 100644
> > --- a/meta/recipes-devtools/ruby/ruby_2.5.5.bb
> > +++ b/meta/recipes-devtools/ruby/ruby_2.5.5.bb
> > @@ -9,17 +9,12 @@ SRC_URI += " \
> > SRC_URI[md5sum] = "7e156fb526b8f4bb1b30a3dd8a7ce400"
> > SRC_URI[sha256sum] = "28a945fdf340e6ba04fc890b98648342e3cccfd6d223a48f3810572f11b2514c"
> >
> > -# it's unknown to configure script, but then passed to extconf.rb
> > -# maybe it's not really needed as we're hardcoding the result with
> > -# 0001-socket-extconf-hardcode-wide-getaddr-info-test-outco.patch
> > -UNKNOWN_CONFIGURE_WHITELIST += "--enable-wide-getaddrinfo"
> > -
> > PACKAGECONFIG ??= ""
> > PACKAGECONFIG += "${@bb.utils.filter('DISTRO_FEATURES', 'ipv6', d)}"
> >
> > PACKAGECONFIG[valgrind] = "--with-valgrind=yes, --with-valgrind=no, valgrind"
> > PACKAGECONFIG[gmp] = "--with-gmp=yes, --with-gmp=no, gmp"
> > -PACKAGECONFIG[ipv6] = ",--enable-wide-getaddrinfo,"
> > +PACKAGECONFIG[ipv6] = "--enable-ipv6, --disable-ipv6,"
> >
> > EXTRA_AUTORECONF += "--exclude=aclocal"
> >
> > --
> > 2.23.0.rc1
> >
More information about the Openembedded-core
mailing list