[OE-core] [PATCH v2] python-native: Build with ipv6 enabled

Alejandro Hernandez alejandro.hernandez at linux.intel.com
Wed Sep 27 19:12:15 UTC 2017


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]

Signed-off-by: Alejandro Hernandez <alejandro.hernandez at linux.intel.com>
---
 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(-)

diff --git a/meta/recipes-devtools/python/python.inc b/meta/recipes-devtools/python/python.inc
index b40f551ab39..28aadb176c3 100644
--- a/meta/recipes-devtools/python/python.inc
+++ b/meta/recipes-devtools/python/python.inc
@@ -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} \
 "
diff --git a/meta/recipes-devtools/python/python3_3.5.3.bb b/meta/recipes-devtools/python/python3_3.5.3.bb
index 13df12fe566..2657ed09618 100644
--- a/meta/recipes-devtools/python/python3_3.5.3.bb
+++ b/meta/recipes-devtools/python/python3_3.5.3.bb
@@ -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}"
diff --git a/meta/recipes-devtools/python/python_2.7.13.bb b/meta/recipes-devtools/python/python_2.7.13.bb
index 4d73cd25c8b..c346b0988bd 100644
--- a/meta/recipes-devtools/python/python_2.7.13.bb
+++ b/meta/recipes-devtools/python/python_2.7.13.bb
@@ -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
-- 
2.12.3




More information about the Openembedded-core mailing list