python-native: Build with ipv6 enabled
PATCH v2 1/1 python-native: Build with ipv6 enabled
Before we introduced DISTRO_FEATURES_NATIVE on commit:db1f1adace58763c35774e3fdfeaac5c3ca646fd
ipv6 was enabled by default on DISTRO_FEATURES via DISTRO_FEATURES_LIBC hence python-native was built with ipv6 support.
After this, the check for ipv6 on DISTRO_FEATURES stopped working for the python-native recipe and it was always disabled.
On some python packages this may cause errors when they try to download something on their do_compile stage.
This patch fixes the implementation of EXTRA_OECONF to get the ipv6 configuration correctly, still letting the user choose if they'd like support for ipv6 on python for target, but forcing ipv6 support for python native, to avoid errors
[YOCTO #11978]
--- meta/recipes-devtools/python/python.inc | 12 ++++++++++-- meta/recipes-devtools/python/python3_3.5.3.bb | 2 +- meta/recipes-devtools/python/python_2.7.13.bb | 2 +- 3 files changed, 12 insertions(+), 4 deletions(-)
meta/recipes-devtools/python/python.inc +10 -2
@@ -22,13 +22,21 @@ PYTHON_MAJMIN = "2.7" inherit autotools pkgconfig -EXTRA_OECONF = "\ +EXTRA_OECONF_class-target = "\ + --enable-ipv6=${@bb.utils.contains('DISTRO_FEATURES', 'ipv6', 'yes', 'no', d)} \ +" +# Enable ipv6 support for native by default, without having to modify DISTRO_FEATURES_NATIVE +EXTRA_OECONF_class-native = "\ + --enable-ipv6=yes \ +" + +# _append automatically gets appended to the correct EXTRA_OECONF_class-<> +EXTRA_OECONF_append = "\ --with-threads \ --with-pymalloc \ --without-cxx-main \ --with-signal-module \ --enable-shared \ - --enable-ipv6=${@bb.utils.contains('DISTRO_FEATURES', 'ipv6', 'yes', 'no', d)} \ ac_cv_header_bluetooth_bluetooth_h=no ac_cv_header_bluetooth_h=no \ ${PYTHONLSBOPTS} \ "
meta/recipes-devtools/python/python3_3.5.3.bb +1 -1
@@ -66,7 +66,7 @@ CACHED_CONFIGUREVARS = "ac_cv_have_chflags=no \ TARGET_CC_ARCH += "-DNDEBUG -fno-inline" SDK_CC_ARCH += "-DNDEBUG -fno-inline" EXTRA_OEMAKE += "CROSS_COMPILE=yes" -EXTRA_OECONF += "CROSSPYTHONPATH=${STAGING_LIBDIR_NATIVE}/python${PYTHON_MAJMIN}/lib-dynload/ --without-ensurepip" +EXTRA_OECONF_append = " CROSSPYTHONPATH=${STAGING_LIBDIR_NATIVE}/python${PYTHON_MAJMIN}/lib-dynload/ --without-ensurepip" export CROSS_COMPILE = "${TARGET_PREFIX}" export _PYTHON_PROJECT_BASE = "${B}"
meta/recipes-devtools/python/python_2.7.13.bb +1 -1
@@ -37,7 +37,7 @@ inherit autotools multilib_header python-dir pythonnative CONFIGUREOPTS += " --with-system-ffi " -EXTRA_OECONF += "ac_cv_file__dev_ptmx=yes ac_cv_file__dev_ptc=no" +EXTRA_OECONF_append = " ac_cv_file__dev_ptmx=yes ac_cv_file__dev_ptc=no" do_configure_append() { rm -f ${S}/Makefile.orig
Signature · 1 line
2.12.3
A message that is not in the archive (sent off-list or not yet received): CAJTo0LZARrNgW0ULNmLgf7vgGAY9fw-T89Ox4LZkYN06hKnAmA@mail.gmail.com
A message that is not in the archive (sent off-list or not yet received): [email protected]
I think that's probably the best option. There's not a lot of network operations done by native applications and the ones that are will fallback to IPv4, so I'm not surprised it wasn't noticed.
Ross
Quoted 23 lines · Alejandro Hernandez
Yes, I really didnt want to enable ipv6 as a
DISTRO_FEATURES_NATIVE, because it would affect other packages,and since it was deleted back in April and no one has complained, I figured we didnt need to enable it for all of them,
but can definitely do that as well.
On 09/27/2017 02:46 PM, Burton, Ross wrote:
Quoted 3 lines · Alejandro Hernandez
+# Enable ipv6 support for native by default, without having to modify
DISTRO_FEATURES_NATIVEOr lets just change
DISTRO_FEATURES_NATIVE?Ross