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

Alejandro Hernandez alejandro.hernandez at linux.intel.com
Tue Sep 26 16:56:37 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.

This patch fixes the implementation of EXTRA_OECONF to get the ipv6
configuration correctly (whether were building for native or target),
and it also modifies DISTRO_FEATURES_NATIVE to add ipv6 by default,
simply to get it working like it was before changes were made'

Signed-off-by: Alejandro Hernandez <alejandro.hernandez at linux.intel.com>
---
 meta/conf/bitbake.conf                        |  2 +-
 meta/recipes-devtools/python/python.inc       | 11 +++++++++--
 meta/recipes-devtools/python/python3_3.5.3.bb |  2 +-
 meta/recipes-devtools/python/python_2.7.13.bb |  2 +-
 4 files changed, 12 insertions(+), 5 deletions(-)

diff --git a/meta/conf/bitbake.conf b/meta/conf/bitbake.conf
index 4ff1e9608e7..9ca7c57a5c3 100644
--- a/meta/conf/bitbake.conf
+++ b/meta/conf/bitbake.conf
@@ -807,7 +807,7 @@ IMAGE_FEATURES += "${EXTRA_IMAGE_FEATURES}"
 
 # Native distro features (will always be used for -native, even if they
 # are not enabled for target)
-DISTRO_FEATURES_NATIVE ?= "x11"
+DISTRO_FEATURES_NATIVE ?= "x11 ipv6"
 DISTRO_FEATURES_NATIVESDK ?= "x11 libc-charsets libc-locales libc-locale-code"
 
 # Normally target distro features will not be applied to native builds:
diff --git a/meta/recipes-devtools/python/python.inc b/meta/recipes-devtools/python/python.inc
index b40f551ab39..73b95ad2c71 100644
--- a/meta/recipes-devtools/python/python.inc
+++ b/meta/recipes-devtools/python/python.inc
@@ -22,13 +22,20 @@ PYTHON_MAJMIN = "2.7"
 
 inherit autotools pkgconfig
 
-EXTRA_OECONF = "\
+EXTRA_OECONF_class-target = "\
+  --enable-ipv6=${@bb.utils.contains('DISTRO_FEATURES', 'ipv6', 'yes', 'no', d)} \
+"
+EXTRA_OECONF_class-native = "\
+  --enable-ipv6=${@bb.utils.contains('DISTRO_FEATURES_NATIVE', 'ipv6', 'yes', 'no', d)} \
+"
+
+# _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