Morgan Little : python-native: Put binaries in seperate directory
A message that is not in the archive (sent off-list or not yet received): 20120722104353.A204B1032B@opal
Quoted 112 lines · On Sun, Jul 22, 2012 at 12:43 PM, <[email protected]> wrote:
Module: openembedded-core.git Branch: master Commit: a2e554f731437545e9483a7a73e6847c03f6f48a URL: http://git.openembedded.org/?p=openembedded-core.git&a=commit;h=a2e554f731437545e9483a7a73e6847c03f6f48aAuthor: Morgan Little <[email protected]> Date: Thu Jul 19 13:46:06 2012 -0400python-native: Put binaries in seperate directory
Update python-native to install the binaries in the python-native directory, add pythonnative.bbclass to let recipes that need python-native use the binaries and update disutils access the new binaries. Update distutils-base to inherit pythonnative.
Signed-off-by Richard Purdie <[email protected]>---
meta/classes/distutils-base.bbclass | 2 +- meta/classes/distutils.bbclass | 8 ++++---- meta/classes/pythonnative.bbclass | 3 +++ .../recipes-devtools/python/python-native_2.7.3.bb | 10 ++++++---- 4 files changed, 14 insertions(+), 9 deletions(-)meta/classes/distutils-base.bbclass +1
-1@@ -1,5 +1,5 @@ DEPENDS += "${@["python-native python", ""][(d.getVar('PACKAGES', True) == '')]}" RDEPENDS_${PN} += "${@['', 'python-core']['${PN}' == '${BPN}']}" -inherit distutils-common-base +inherit distutils-common-base pythonnativemeta/classes/distutils.bbclass +4
-4@@ -11,14 +11,14 @@ distutils_do_compile() { STAGING_INCDIR=${STAGING_INCDIR} \ STAGING_LIBDIR=${STAGING_LIBDIR} \ BUILD_SYS=${BUILD_SYS} HOST_SYS=${HOST_SYS} \ - ${STAGING_BINDIR_NATIVE}/python setup.py build ${DISTUTILS_BUILD_ARGS} || \ + ${STAGING_BINDIR_NATIVE}/python-native/python setup.py build ${DISTUTILS_BUILD_ARGS} || \ bbfatal "python setup.py build_ext execution failed." } distutils_stage_headers() { install -d ${STAGING_DIR_HOST}${PYTHON_SITEPACKAGES_DIR} BUILD_SYS=${BUILD_SYS} HOST_SYS=${HOST_SYS} \ - ${STAGING_BINDIR_NATIVE}/python setup.py install_headers ${DISTUTILS_STAGE_HEADERS_ARGS} || \ + ${STAGING_BINDIR_NATIVE}/python-native/python setup.py install_headers ${DISTUTILS_STAGE_HEADERS_ARGS} || \ bbfatal "python setup.py install_headers execution failed." }@@ -28,7 +28,7 @@ distutils_stage_all() { install -d ${STAGING_DIR_HOST}${PYTHON_SITEPACKAGES_DIR} PYTHONPATH=${STAGING_DIR_HOST}${PYTHON_SITEPACKAGES_DIR} \ BUILD_SYS=${BUILD_SYS} HOST_SYS=${HOST_SYS} \ - ${STAGING_BINDIR_NATIVE}/python setup.py install ${DISTUTILS_STAGE_ALL_ARGS} || \ + ${STAGING_BINDIR_NATIVE}/python-native/python setup.py install ${DISTUTILS_STAGE_ALL_ARGS} || \ bbfatal "python setup.py install (stage) execution failed." }@@ -38,7 +38,7 @@ distutils_do_install() { STAGING_LIBDIR=${STAGING_LIBDIR} \ PYTHONPATH=${D}/${PYTHON_SITEPACKAGES_DIR} \ BUILD_SYS=${BUILD_SYS} HOST_SYS=${HOST_SYS} \ - ${STAGING_BINDIR_NATIVE}/python setup.py install ${DISTUTILS_INSTALL_ARGS} || \ + ${STAGING_BINDIR_NATIVE}/python-native/python setup.py install ${DISTUTILS_INSTALL_ARGS} || \ bbfatal "python setup.py install execution failed." for i in `find ${D} -name "*.py"` ; do \meta/classes/pythonnative.bbclass new file +3
-0@@ -0,0 +1,3 @@ +PYTHON="${STAGING_BINDIR_NATIVE}/python-native/python" +PATH_prepend = "${STAGING_BINDIR_NATIVE}/python-native:" +DEPENDS += " python-native "meta/recipes-devtools/python/python-native_2.7.3.bb +3
-2@@ -1,6 +1,6 @@ require python.inc DEPENDS = "openssl-native bzip2-full-native zlib-native readline-native sqlite3-native" -PR = "${INC_PR}.0" +PR = "${INC_PR}.1" SRC_URI += "file://04-default-is-optimized.patch \ file://05-enable-ctypes-cross-build.patch \@@ -20,6 +20,8 @@ inherit native RPROVIDES += "python-distutils-native python-compression-native python-textutils-native python-core-native" +EXTRA_OECONF += " --bindir=${bindir}/${PN}" + EXTRA_OEMAKE = '\ BUILD_SYS="" \ HOST_SYS="" \@@ -34,11 +36,11 @@ do_configure_prepend() { do_install() { oe_runmake 'DESTDIR=${D}' install - install -d ${D}${bindir}/
meta/recipes-devtools/python/python-native_2.7.3.bb do_configure_prepend() { · line 46
Quoted 10 lines
meta/recipes-devtools/python/python-native_2.7.3.bb +3
-2- install -m 0755 Parser/pgen ${D}${bindir}/ + install -d ${D}${bindir}/${PN} + install -m 0755 Parser/pgen ${D}${bindir}/${PN} # Make sure we use /usr/bin/env python - for PYTHSCRIPT in `grep -rIl ${bindir}/python ${D}${bindir}`; do + for PYTHSCRIPT in `grep -rIl ${bindir}/${PN}/python ${D}${bindir}/${PN}`; do sed -i -e '1s|^#!.*|#!/usr/bin/env python|' $PYTHSCRIPT done }
Could somebody enlighten me please: What is the benefit in moving python-native into a subdirectory and causing tons of recipe changes? The commit message does not help me much.
To me it is just another build breaker after gobject-introspection & gtk-doc. Please tell me how many further weeks we have to suffer for innovations like this so I can come back then.
Andreas
Andreas
Quoted 112 lines · On Sun, Jul 22, 2012 at 12:43 PM, <[email protected]> wrote:
Module: openembedded-core.git Branch: master Commit: a2e554f731437545e9483a7a73e6847c03f6f48a URL: http://git.openembedded.org/?p=openembedded-core.git&a=commit;h=a2e554f731437545e9483a7a73e6847c03f6f48aAuthor: Morgan Little <[email protected]> Date: Thu Jul 19 13:46:06 2012 -0400python-native: Put binaries in seperate directory
Update python-native to install the binaries in the python-native directory, add pythonnative.bbclass to let recipes that need python-native use the binaries and update disutils access the new binaries. Update distutils-base to inherit pythonnative.
Signed-off-by Richard Purdie <[email protected]>---
meta/classes/distutils-base.bbclass | 2 +- meta/classes/distutils.bbclass | 8 ++++---- meta/classes/pythonnative.bbclass | 3 +++ .../recipes-devtools/python/python-native_2.7.3.bb | 10 ++++++---- 4 files changed, 14 insertions(+), 9 deletions(-)meta/classes/distutils-base.bbclass +1
-1@@ -1,5 +1,5 @@ DEPENDS += "${@["python-native python", ""][(d.getVar('PACKAGES', True) == '')]}" RDEPENDS_${PN} += "${@['', 'python-core']['${PN}' == '${BPN}']}" -inherit distutils-common-base +inherit distutils-common-base pythonnativemeta/classes/distutils.bbclass +4
-4@@ -11,14 +11,14 @@ distutils_do_compile() { STAGING_INCDIR=${STAGING_INCDIR} \ STAGING_LIBDIR=${STAGING_LIBDIR} \ BUILD_SYS=${BUILD_SYS} HOST_SYS=${HOST_SYS} \ - ${STAGING_BINDIR_NATIVE}/python setup.py build ${DISTUTILS_BUILD_ARGS} || \ + ${STAGING_BINDIR_NATIVE}/python-native/python setup.py build ${DISTUTILS_BUILD_ARGS} || \ bbfatal "python setup.py build_ext execution failed." } distutils_stage_headers() { install -d ${STAGING_DIR_HOST}${PYTHON_SITEPACKAGES_DIR} BUILD_SYS=${BUILD_SYS} HOST_SYS=${HOST_SYS} \ - ${STAGING_BINDIR_NATIVE}/python setup.py install_headers ${DISTUTILS_STAGE_HEADERS_ARGS} || \ + ${STAGING_BINDIR_NATIVE}/python-native/python setup.py install_headers ${DISTUTILS_STAGE_HEADERS_ARGS} || \ bbfatal "python setup.py install_headers execution failed." }@@ -28,7 +28,7 @@ distutils_stage_all() { install -d ${STAGING_DIR_HOST}${PYTHON_SITEPACKAGES_DIR} PYTHONPATH=${STAGING_DIR_HOST}${PYTHON_SITEPACKAGES_DIR} \ BUILD_SYS=${BUILD_SYS} HOST_SYS=${HOST_SYS} \ - ${STAGING_BINDIR_NATIVE}/python setup.py install ${DISTUTILS_STAGE_ALL_ARGS} || \ + ${STAGING_BINDIR_NATIVE}/python-native/python setup.py install ${DISTUTILS_STAGE_ALL_ARGS} || \ bbfatal "python setup.py install (stage) execution failed." }@@ -38,7 +38,7 @@ distutils_do_install() { STAGING_LIBDIR=${STAGING_LIBDIR} \ PYTHONPATH=${D}/${PYTHON_SITEPACKAGES_DIR} \ BUILD_SYS=${BUILD_SYS} HOST_SYS=${HOST_SYS} \ - ${STAGING_BINDIR_NATIVE}/python setup.py install ${DISTUTILS_INSTALL_ARGS} || \ + ${STAGING_BINDIR_NATIVE}/python-native/python setup.py install ${DISTUTILS_INSTALL_ARGS} || \ bbfatal "python setup.py install execution failed." for i in `find ${D} -name "*.py"` ; do \meta/classes/pythonnative.bbclass new file +3
-0@@ -0,0 +1,3 @@ +PYTHON="${STAGING_BINDIR_NATIVE}/python-native/python" +PATH_prepend = "${STAGING_BINDIR_NATIVE}/python-native:" +DEPENDS += " python-native "meta/recipes-devtools/python/python-native_2.7.3.bb +3
-2@@ -1,6 +1,6 @@ require python.inc DEPENDS = "openssl-native bzip2-full-native zlib-native readline-native sqlite3-native" -PR = "${INC_PR}.0" +PR = "${INC_PR}.1" SRC_URI += "file://04-default-is-optimized.patch \ file://05-enable-ctypes-cross-build.patch \@@ -20,6 +20,8 @@ inherit native RPROVIDES += "python-distutils-native python-compression-native python-textutils-native python-core-native" +EXTRA_OECONF += " --bindir=${bindir}/${PN}" + EXTRA_OEMAKE = '\ BUILD_SYS="" \ HOST_SYS="" \@@ -34,11 +36,11 @@ do_configure_prepend() { do_install() { oe_runmake 'DESTDIR=${D}' install - install -d ${D}${bindir}/
meta/recipes-devtools/python/python-native_2.7.3.bb do_configure_prepend() { · line 46
Quoted 10 lines
meta/recipes-devtools/python/python-native_2.7.3.bb +3
-2- install -m 0755 Parser/pgen ${D}${bindir}/ + install -d ${D}${bindir}/${PN} + install -m 0755 Parser/pgen ${D}${bindir}/${PN} # Make sure we use /usr/bin/env python - for PYTHSCRIPT in `grep -rIl ${bindir}/python ${D}${bindir}`; do + for PYTHSCRIPT in `grep -rIl ${bindir}/${PN}/python ${D}${bindir}/${PN}`; do sed -i -e '1s|^#!.*|#!/usr/bin/env python|' $PYTHSCRIPT done }
Could somebody enlighten me please: What is the benefit in moving python-native into a subdirectory and causing tons of recipe changes? The commit message does not help me much.
To me it is just another build breaker after gobject-introspection & gtk-doc. Please tell me how many further weeks we have to suffer for innovations like this so I can come back then.
Andreas
Quoted 115 lines · Andreas Müller
Quoted 114 lines · On Sun, Jul 22, 2012 at 12:43 PM, <[email protected]> wrote:
Module: openembedded-core.git Branch: master Commit: a2e554f731437545e9483a7a73e6847c03f6f48a URL: http://git.openembedded.org/?p=openembedded-core.git&a=commit;h=a2e554f731437545e9483a7a73e6847c03f6f48aAuthor: Morgan Little <[email protected]> Date: Thu Jul 19 13:46:06 2012 -0400python-native: Put binaries in seperate directory
Update python-native to install the binaries in the python-native directory, add pythonnative.bbclass to let recipes that need python-native use the binaries and update disutils access the new binaries. Update distutils-base to inherit pythonnative.
Signed-off-by Richard Purdie <[email protected]>---
meta/classes/distutils-base.bbclass | 2 +- meta/classes/distutils.bbclass | 8 ++++---- meta/classes/pythonnative.bbclass | 3 +++ .../recipes-devtools/python/python-native_2.7.3.bb | 10 ++++++---- 4 files changed, 14 insertions(+), 9 deletions(-)meta/classes/distutils-base.bbclass +1
-1@@ -1,5 +1,5 @@ DEPENDS += "${@["python-native python", ""][(d.getVar('PACKAGES', True) == '')]}" RDEPENDS_${PN} += "${@['', 'python-core']['${PN}' == '${BPN}']}" -inherit distutils-common-base +inherit distutils-common-base pythonnativemeta/classes/distutils.bbclass +4
-4@@ -11,14 +11,14 @@ distutils_do_compile() { STAGING_INCDIR=${STAGING_INCDIR} \ STAGING_LIBDIR=${STAGING_LIBDIR} \ BUILD_SYS=${BUILD_SYS} HOST_SYS=${HOST_SYS} \ - ${STAGING_BINDIR_NATIVE}/python setup.py build ${DISTUTILS_BUILD_ARGS} || \ + ${STAGING_BINDIR_NATIVE}/python-native/python setup.py build ${DISTUTILS_BUILD_ARGS} || \ bbfatal "python setup.py build_ext execution failed." } distutils_stage_headers() { install -d ${STAGING_DIR_HOST}${PYTHON_SITEPACKAGES_DIR} BUILD_SYS=${BUILD_SYS} HOST_SYS=${HOST_SYS} \ - ${STAGING_BINDIR_NATIVE}/python setup.py install_headers ${DISTUTILS_STAGE_HEADERS_ARGS} || \ + ${STAGING_BINDIR_NATIVE}/python-native/python setup.py install_headers ${DISTUTILS_STAGE_HEADERS_ARGS} || \ bbfatal "python setup.py install_headers execution failed." }@@ -28,7 +28,7 @@ distutils_stage_all() { install -d ${STAGING_DIR_HOST}${PYTHON_SITEPACKAGES_DIR} PYTHONPATH=${STAGING_DIR_HOST}${PYTHON_SITEPACKAGES_DIR} \ BUILD_SYS=${BUILD_SYS} HOST_SYS=${HOST_SYS} \ - ${STAGING_BINDIR_NATIVE}/python setup.py install ${DISTUTILS_STAGE_ALL_ARGS} || \ + ${STAGING_BINDIR_NATIVE}/python-native/python setup.py install ${DISTUTILS_STAGE_ALL_ARGS} || \ bbfatal "python setup.py install (stage) execution failed." }@@ -38,7 +38,7 @@ distutils_do_install() { STAGING_LIBDIR=${STAGING_LIBDIR} \ PYTHONPATH=${D}/${PYTHON_SITEPACKAGES_DIR} \ BUILD_SYS=${BUILD_SYS} HOST_SYS=${HOST_SYS} \ - ${STAGING_BINDIR_NATIVE}/python setup.py install ${DISTUTILS_INSTALL_ARGS} || \ + ${STAGING_BINDIR_NATIVE}/python-native/python setup.py install ${DISTUTILS_INSTALL_ARGS} || \ bbfatal "python setup.py install execution failed." for i in `find ${D} -name "*.py"` ; do \meta/classes/pythonnative.bbclass new file +3
-0@@ -0,0 +1,3 @@ +PYTHON="${STAGING_BINDIR_NATIVE}/python-native/python" +PATH_prepend = "${STAGING_BINDIR_NATIVE}/python-native:" +DEPENDS += " python-native "meta/recipes-devtools/python/python-native_2.7.3.bb +5
-3@@ -1,6 +1,6 @@ require python.inc DEPENDS = "openssl-native bzip2-full-native zlib-native readline-native sqlite3-native" -PR = "${INC_PR}.0" +PR = "${INC_PR}.1" SRC_URI += "file://04-default-is-optimized.patch \ file://05-enable-ctypes-cross-build.patch \@@ -20,6 +20,8 @@ inherit native RPROVIDES += "python-distutils-native python-compression-native python-textutils-native python-core-native" +EXTRA_OECONF += " --bindir=${bindir}/${PN}" + EXTRA_OEMAKE = '\ BUILD_SYS="" \ HOST_SYS="" \@@ -34,11 +36,11 @@ do_configure_prepend() { do_install() { oe_runmake 'DESTDIR=${D}' install - install -d ${D}${bindir}/ - install -m 0755 Parser/pgen ${D}${bindir}/ + install -d ${D}${bindir}/${PN} + install -m 0755 Parser/pgen ${D}${bindir}/${PN}
Quoted 15 lines
meta/recipes-devtools/python/python-native_2.7.3.bb do_configure_prepend() { · line 46
Quoted 8 lines
meta/recipes-devtools/python/python-native_2.7.3.bb +1
-1# Make sure we use /usr/bin/env python - for PYTHSCRIPT in `grep -rIl ${bindir}/python ${D}${bindir}`; do + for PYTHSCRIPT in `grep -rIl ${bindir}/${PN}/python ${D}${bindir}/${PN}`; do sed -i -e '1s|^#!.*|#!/usr/bin/env python|' $PYTHSCRIPT done }Could somebody enlighten me please: What is the benefit in moving python-native into a subdirectory and causing tons of recipe changes? The commit message does not help me much.
To me it is just another build breaker after gobject-introspection & gtk-doc. Please tell me how many further weeks we have to suffer for innovations like this so I can come back then.
I forgot webkit-gtk PARALLEL_MAKE in my list
Andreas
Quoted 2 lines · Andreas Müller
Quoted 2 lines
Could somebody enlighten me please: What is the benefit in moving python-native into a subdirectory and causing tons of recipe changes?
People were running into a problem where python-native might be installed or uninstalled from the sysroot whilst it was being executed.
The trouble is not everything using python-native actually lists it as a dependency. Its complicated by the fact we have the system provided python to consider.
In general most things can use the system python. There are some which need "our" python since they need our python libraries or deal with their own python modules.
The best way to deal with these issue is to disentangle the python from the system from that in sysroot and the only way I'm aware of is to change the paths. We're unfortunately having to figure out which pieces need the sysroot python and this is causing a few bumps. I'm sorry about that and we're all doing our best to sort that out.
If you want stability, please use the stable release branch. We do our best with master but we accept changes there and there is a risk that things can break. We've always been clear about this.
Quoted 1 line
Quoted 1 line
The commit message does not help me much.
There was significant mailing list discussion about this and perlnative which shares a similar problem.
Quoted 5 lines
Quoted 4 lines
To me it is just another build breaker after gobject-introspection & gtk-doc. Please tell me how many further weeks we have to suffer for innovations like this so I can come back then.
I forgot webkit-gtk
PARALLEL_MAKEin my list
Well, gtk-doc is a sensible cleanup to make the metadata easier and most sustainable, likewise the introspection change. We've adopting an approach to building them endorsed by the upstream project.
The webkit-gtk parallel make issues are a pain. It takes an age to build, parallel make speeds it up but something is broken, probably make 3.82. I'm at a loss as to how to deal with it. You can easily disable parallel make for that recipe in your local.conf as a workaround for now if its causing a problem (PARALLEL_MAKE_pn-webkit-gtk = "").
I'm sorry there has been some disruption, this is unfortunate but a consequence of trying to develop things and we're all doing our best to resolve the issues.
Cheers,
Richard
Quoted 130 lines · Andreas Müller
Quoted 112 lines · On Sun, Jul 22, 2012 at 12:43 PM, <[email protected]> wrote:
Module: openembedded-core.git Branch: master Commit: a2e554f731437545e9483a7a73e6847c03f6f48a URL: http://git.openembedded.org/?p=openembedded-core.git&a=commit;h=a2e554f731437545e9483a7a73e6847c03f6f48aAuthor: Morgan Little <[email protected]> Date: Thu Jul 19 13:46:06 2012 -0400python-native: Put binaries in seperate directory
Update python-native to install the binaries in the python-native directory, add pythonnative.bbclass to let recipes that need python-native use the binaries and update disutils access the new binaries. Update distutils-base to inherit pythonnative.
Signed-off-by Richard Purdie <[email protected]>---
meta/classes/distutils-base.bbclass | 2 +- meta/classes/distutils.bbclass | 8 ++++---- meta/classes/pythonnative.bbclass | 3 +++ .../recipes-devtools/python/python-native_2.7.3.bb | 10 ++++++---- 4 files changed, 14 insertions(+), 9 deletions(-)meta/classes/distutils-base.bbclass +1
-1@@ -1,5 +1,5 @@ DEPENDS += "${@["python-native python", ""][(d.getVar('PACKAGES', True) == '')]}" RDEPENDS_${PN} += "${@['', 'python-core']['${PN}' == '${BPN}']}" -inherit distutils-common-base +inherit distutils-common-base pythonnativemeta/classes/distutils.bbclass +4
-4@@ -11,14 +11,14 @@ distutils_do_compile() { STAGING_INCDIR=${STAGING_INCDIR} \ STAGING_LIBDIR=${STAGING_LIBDIR} \ BUILD_SYS=${BUILD_SYS} HOST_SYS=${HOST_SYS} \ - ${STAGING_BINDIR_NATIVE}/python setup.py build ${DISTUTILS_BUILD_ARGS} || \ + ${STAGING_BINDIR_NATIVE}/python-native/python setup.py build ${DISTUTILS_BUILD_ARGS} || \ bbfatal "python setup.py build_ext execution failed." } distutils_stage_headers() { install -d ${STAGING_DIR_HOST}${PYTHON_SITEPACKAGES_DIR} BUILD_SYS=${BUILD_SYS} HOST_SYS=${HOST_SYS} \ - ${STAGING_BINDIR_NATIVE}/python setup.py install_headers ${DISTUTILS_STAGE_HEADERS_ARGS} || \ + ${STAGING_BINDIR_NATIVE}/python-native/python setup.py install_headers ${DISTUTILS_STAGE_HEADERS_ARGS} || \ bbfatal "python setup.py install_headers execution failed." }@@ -28,7 +28,7 @@ distutils_stage_all() { install -d ${STAGING_DIR_HOST}${PYTHON_SITEPACKAGES_DIR} PYTHONPATH=${STAGING_DIR_HOST}${PYTHON_SITEPACKAGES_DIR} \ BUILD_SYS=${BUILD_SYS} HOST_SYS=${HOST_SYS} \ - ${STAGING_BINDIR_NATIVE}/python setup.py install ${DISTUTILS_STAGE_ALL_ARGS} || \ + ${STAGING_BINDIR_NATIVE}/python-native/python setup.py install ${DISTUTILS_STAGE_ALL_ARGS} || \ bbfatal "python setup.py install (stage) execution failed." }@@ -38,7 +38,7 @@ distutils_do_install() { STAGING_LIBDIR=${STAGING_LIBDIR} \ PYTHONPATH=${D}/${PYTHON_SITEPACKAGES_DIR} \ BUILD_SYS=${BUILD_SYS} HOST_SYS=${HOST_SYS} \ - ${STAGING_BINDIR_NATIVE}/python setup.py install ${DISTUTILS_INSTALL_ARGS} || \ + ${STAGING_BINDIR_NATIVE}/python-native/python setup.py install ${DISTUTILS_INSTALL_ARGS} || \ bbfatal "python setup.py install execution failed." for i in `find ${D} -name "*.py"` ; do \meta/classes/pythonnative.bbclass new file +3
-0@@ -0,0 +1,3 @@ +PYTHON="${STAGING_BINDIR_NATIVE}/python-native/python" +PATH_prepend = "${STAGING_BINDIR_NATIVE}/python-native:" +DEPENDS += " python-native "meta/recipes-devtools/python/python-native_2.7.3.bb +3
-2@@ -1,6 +1,6 @@ require python.inc DEPENDS = "openssl-native bzip2-full-native zlib-native readline-native sqlite3-native" -PR = "${INC_PR}.0" +PR = "${INC_PR}.1" SRC_URI += "file://04-default-is-optimized.patch \ file://05-enable-ctypes-cross-build.patch \@@ -20,6 +20,8 @@ inherit native RPROVIDES += "python-distutils-native python-compression-native python-textutils-native python-core-native" +EXTRA_OECONF += " --bindir=${bindir}/${PN}" + EXTRA_OEMAKE = '\ BUILD_SYS="" \ HOST_SYS="" \@@ -34,11 +36,11 @@ do_configure_prepend() { do_install() { oe_runmake 'DESTDIR=${D}' install - install -d ${D}${bindir}/meta/recipes-devtools/python/python-native_2.7.3.bb do_configure_prepend() { · line 46
Quoted 10 lines
meta/recipes-devtools/python/python-native_2.7.3.bb +3
-2- install -m 0755 Parser/pgen ${D}${bindir}/ + install -d ${D}${bindir}/${PN} + install -m 0755 Parser/pgen ${D}${bindir}/${PN} # Make sure we use /usr/bin/env python - for PYTHSCRIPT in `grep -rIl ${bindir}/python ${D}${bindir}`; do + for PYTHSCRIPT in `grep -rIl ${bindir}/${PN}/python ${D}${bindir}/${PN}`; do sed -i -e '1s|^#!.*|#!/usr/bin/env python|' $PYTHSCRIPT done }Could somebody enlighten me please: What is the benefit in moving python-native into a subdirectory and causing tons of recipe changes? The commit message does not help me much.
To me it is just another build breaker after gobject-introspection & gtk-doc. Please tell me how many further weeks we have to suffer for innovations like this so I can come back then.
Quoted 6 lines
Andreas
_______________________________________________
Openembedded-core mailing list
[email protected]
http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core
The reason for the change was when python-native was built with other packages in parallel it would sometimes hit a case where the python binary was installed but the usr/lib/libpython2.7.so* was not installed yet. This would cause failures because of the missing library. This would also cause some issues with importing modules as they might not always be there when needed if python-native was being installed. Richard suggested that we change it to do something similar to perl-native, http://lists.linuxtogo.org/pipermail/openembedded-core/2012-June/024644.html.
This method solves the issue but means that everything that depends on python-native needs to be updated to inherit the new pythonnative class. I tried to get all of the recipes that depended on python-native and anything that failed when I built and needed to inherit pythonnative.
I can't say how long it will cause issues.
//Morgan