- 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 <[email protected]> --- 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 -- _______________________________________________ Openembedded-core mailing list [email protected] http://lists.openembedded.org/mailman/listinfo/openembedded-core
