[OE-core] [PATCH 07/16] python2/3: fix buildpath QA issue
Hongxu Jia
hongxu.jia at windriver.com
Tue Mar 22 12:12:35 UTC 2016
- Remove build paths in target file
- Since _sysconfigdata.py was modified at do_package,
so update _sysconfigdata.pyc manually (Python2 only).
[YOCTO #8446]
[YOCTO #9169]
Signed-off-by: Hongxu Jia <hongxu.jia at windriver.com>
---
meta/recipes-devtools/python/python3_3.5.1.bb | 20 ++++++++++++++----
meta/recipes-devtools/python/python_2.7.11.bb | 29 ++++++++++++++++++++++-----
2 files changed, 40 insertions(+), 9 deletions(-)
diff --git a/meta/recipes-devtools/python/python3_3.5.1.bb b/meta/recipes-devtools/python/python3_3.5.1.bb
index 2fbb3cb..bfcea85 100644
--- a/meta/recipes-devtools/python/python3_3.5.1.bb
+++ b/meta/recipes-devtools/python/python3_3.5.1.bb
@@ -186,12 +186,24 @@ PACKAGE_PREPROCESS_FUNCS += "py_package_preprocess"
py_package_preprocess () {
# copy back the old Makefile to fix target package
install -m 0644 ${B}/Makefile.orig ${PKGD}/${libdir}/python${PYTHON_MAJMIN}/config/Makefile
- # Remove references to buildmachine paths in target Makefile and _sysconfigdata
- sed -i -e 's:--sysroot=${STAGING_DIR_TARGET}::g' -e s:'--with-libtool-sysroot=${STAGING_DIR_TARGET}'::g \
- ${PKGD}/${libdir}/python${PYTHON_MAJMIN}/config/Makefile \
- ${PKGD}/${libdir}/python${PYTHON_MAJMIN}/_sysconfigdata.py
}
+# Remove references to buildmachine paths in target
+inherit fix_buildpaths
+PACKAGE_BUILDPATH_TEXT_FILES ?= " \
+ ${libdir}/python${PYTHON_MAJMIN}/config/Makefile \
+ ${libdir}/python${PYTHON_MAJMIN}/config-${PYTHON_BINABI}/Makefile \
+ ${libdir}/python${PYTHON_MAJMIN}/_sysconfigdata.py \
+ ${bindir}/python${PYTHON_BINABI}-config \
+"
+PACKAGE_BUILDPATH_TEXT_PATTERNS += " \
+ -e 's:--with-libtool-sysroot=${STAGING_DIR_TARGET}::g' \
+ -e 's:${STAGING_DIR}/${MACHINE}${datadir}/pkgconfig:${datadir}/pkgconfig:g' \
+ -e 's:${STAGING_DIR_HOST}::g' \
+ -e 's:${STAGING_DIR_NATIVE}::g' \
+ -e 's:${WORKDIR}::g' \
+"
+
require python-${PYTHON_MAJMIN}-manifest.inc
# manual dependency additions
diff --git a/meta/recipes-devtools/python/python_2.7.11.bb b/meta/recipes-devtools/python/python_2.7.11.bb
index 0c00d6e..3cf8642 100644
--- a/meta/recipes-devtools/python/python_2.7.11.bb
+++ b/meta/recipes-devtools/python/python_2.7.11.bb
@@ -128,15 +128,34 @@ do_install_append_class-nativesdk () {
SSTATE_SCAN_FILES += "Makefile"
PACKAGE_PREPROCESS_FUNCS += "py_package_preprocess"
-
py_package_preprocess () {
# copy back the old Makefile to fix target package
install -m 0644 ${B}/Makefile.orig ${PKGD}/${libdir}/python${PYTHON_MAJMIN}/config/Makefile
+}
+
+# Remove references to buildmachine paths in target
+inherit fix_buildpaths
+PACKAGE_BUILDPATH_TEXT_FILES ?= " \
+ ${libdir}/python${PYTHON_MAJMIN}/config/Makefile \
+ ${libdir}/python${PYTHON_MAJMIN}/_sysconfigdata.py \
+"
+PACKAGE_BUILDPATH_TEXT_FILES_${PN}-ptest ?= " \
+ ${PTEST_PATH}/Makefile \
+"
+PACKAGE_BUILDPATH_TEXT_PATTERNS += " \
+ -e 's:--with-libtool-sysroot=${STAGING_DIR_TARGET}::g' \
+ -e 's:${STAGING_DIR}/${MACHINE}${datadir}/pkgconfig:${datadir}/pkgconfig:g' \
+ -e 's:${STAGING_DIR_HOST}::g' \
+ -e 's:${STAGING_DIR_NATIVE}::g' \
+ -e 's:${WORKDIR}::g' \
+"
- # Remove references to buildmachine paths in target Makefile and _sysconfigdata
- sed -i -e 's:--sysroot=${STAGING_DIR_TARGET}::g' -e s:'--with-libtool-sysroot=${STAGING_DIR_TARGET}'::g \
- ${PKGD}/${libdir}/python${PYTHON_MAJMIN}/config/Makefile \
- ${PKGD}/${libdir}/python${PYTHON_MAJMIN}/_sysconfigdata.py
+PACKAGE_PREPROCESS_FUNCS += "update_pyc_package_preprocess"
+python update_pyc_package_preprocess () {
+ # Update _sysconfigdata.pyc
+ root_path = d.expand("${PKGD}")
+ byte_code = d.expand("${libdir}/python${PYTHON_MAJMIN}/_sysconfigdata.pyc")
+ remove_buildpath_bytecode(root_path, byte_code)
}
require python-${PYTHON_MAJMIN}-manifest.inc
--
1.9.1
More information about the Openembedded-core
mailing list