* Re: [oe-commits] Morgan Little : python-native: Put binaries in seperate directory [not found] <20120722104353.A204B1032B@opal> @ 2012-07-30 13:55 ` Andreas Müller 2012-07-30 14:02 ` Andreas Müller 0 siblings, 1 reply; 5+ messages in thread From: Andreas Müller @ 2012-07-30 13:55 UTC (permalink / raw) To: openembedded-devel On Sun, Jul 22, 2012 at 12:43 PM, <git@git.openembedded.org> wrote: > Module: openembedded-core.git > Branch: master > Commit: a2e554f731437545e9483a7a73e6847c03f6f48a > URL: http://git.openembedded.org/?p=openembedded-core.git&a=commit;h=a2e554f731437545e9483a7a73e6847c03f6f48a > > Author: Morgan Little <morgan.little@windriver.com> > Date: Thu Jul 19 13:46:06 2012 -0400 > > python-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 <richard.purdie@linuxfoundation.org> > > --- > > 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(-) > > diff --git a/meta/classes/distutils-base.bbclass b/meta/classes/distutils-base.bbclass > index 6d18e08..c761b36 100644 > --- a/meta/classes/distutils-base.bbclass > +++ b/meta/classes/distutils-base.bbclass > @@ -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 pythonnative > > diff --git a/meta/classes/distutils.bbclass b/meta/classes/distutils.bbclass > index bcddf8d..690df73 100644 > --- a/meta/classes/distutils.bbclass > +++ b/meta/classes/distutils.bbclass > @@ -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 \ > diff --git a/meta/classes/pythonnative.bbclass b/meta/classes/pythonnative.bbclass > new file mode 100644 > index 0000000..bc346da > --- /dev/null > +++ b/meta/classes/pythonnative.bbclass > @@ -0,0 +1,3 @@ > +PYTHON="${STAGING_BINDIR_NATIVE}/python-native/python" > +PATH_prepend = "${STAGING_BINDIR_NATIVE}/python-native:" > +DEPENDS += " python-native " > diff --git a/meta/recipes-devtools/python/python-native_2.7.3.bb b/meta/recipes-devtools/python/python-native_2.7.3.bb > index 50bf894..bfdcd12 100644 > --- a/meta/recipes-devtools/python/python-native_2.7.3.bb > +++ b/meta/recipes-devtools/python/python-native_2.7.3.bb > @@ -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} > > # 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 ^ permalink raw reply [flat|nested] 5+ messages in thread
* [oe-commits] Morgan Little : python-native: Put binaries in seperate directory 2012-07-30 13:55 ` [oe-commits] Morgan Little : python-native: Put binaries in seperate directory Andreas Müller @ 2012-07-30 14:02 ` Andreas Müller 2012-07-30 14:08 ` Andreas Müller 2012-07-30 16:11 ` Little, Morgan 0 siblings, 2 replies; 5+ messages in thread From: Andreas Müller @ 2012-07-30 14:02 UTC (permalink / raw) To: openembedded-core On Sun, Jul 22, 2012 at 12:43 PM, <git@git.openembedded.org> wrote: > Module: openembedded-core.git > Branch: master > Commit: a2e554f731437545e9483a7a73e6847c03f6f48a > URL: http://git.openembedded.org/?p=openembedded-core.git&a=commit;h=a2e554f731437545e9483a7a73e6847c03f6f48a > > Author: Morgan Little <morgan.little@windriver.com> > Date: Thu Jul 19 13:46:06 2012 -0400 > > python-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 <richard.purdie@linuxfoundation.org> > > --- > > 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(-) > > diff --git a/meta/classes/distutils-base.bbclass b/meta/classes/distutils-base.bbclass > index 6d18e08..c761b36 100644 > --- a/meta/classes/distutils-base.bbclass > +++ b/meta/classes/distutils-base.bbclass > @@ -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 pythonnative > > diff --git a/meta/classes/distutils.bbclass b/meta/classes/distutils.bbclass > index bcddf8d..690df73 100644 > --- a/meta/classes/distutils.bbclass > +++ b/meta/classes/distutils.bbclass > @@ -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 \ > diff --git a/meta/classes/pythonnative.bbclass b/meta/classes/pythonnative.bbclass > new file mode 100644 > index 0000000..bc346da > --- /dev/null > +++ b/meta/classes/pythonnative.bbclass > @@ -0,0 +1,3 @@ > +PYTHON="${STAGING_BINDIR_NATIVE}/python-native/python" > +PATH_prepend = "${STAGING_BINDIR_NATIVE}/python-native:" > +DEPENDS += " python-native " > diff --git a/meta/recipes-devtools/python/python-native_2.7.3.bb b/meta/recipes-devtools/python/python-native_2.7.3.bb > index 50bf894..bfdcd12 100644 > --- a/meta/recipes-devtools/python/python-native_2.7.3.bb > +++ b/meta/recipes-devtools/python/python-native_2.7.3.bb > @@ -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} > > # 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 ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [oe-commits] Morgan Little : python-native: Put binaries in seperate directory 2012-07-30 14:02 ` Andreas Müller @ 2012-07-30 14:08 ` Andreas Müller 2012-07-31 10:47 ` Richard Purdie 2012-07-30 16:11 ` Little, Morgan 1 sibling, 1 reply; 5+ messages in thread From: Andreas Müller @ 2012-07-30 14:08 UTC (permalink / raw) To: openembedded-core On Mon, Jul 30, 2012 at 4:02 PM, Andreas Müller <schnitzeltony@googlemail.com> wrote: > On Sun, Jul 22, 2012 at 12:43 PM, <git@git.openembedded.org> wrote: >> Module: openembedded-core.git >> Branch: master >> Commit: a2e554f731437545e9483a7a73e6847c03f6f48a >> URL: http://git.openembedded.org/?p=openembedded-core.git&a=commit;h=a2e554f731437545e9483a7a73e6847c03f6f48a >> >> Author: Morgan Little <morgan.little@windriver.com> >> Date: Thu Jul 19 13:46:06 2012 -0400 >> >> python-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 <richard.purdie@linuxfoundation.org> >> >> --- >> >> 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(-) >> >> diff --git a/meta/classes/distutils-base.bbclass b/meta/classes/distutils-base.bbclass >> index 6d18e08..c761b36 100644 >> --- a/meta/classes/distutils-base.bbclass >> +++ b/meta/classes/distutils-base.bbclass >> @@ -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 pythonnative >> >> diff --git a/meta/classes/distutils.bbclass b/meta/classes/distutils.bbclass >> index bcddf8d..690df73 100644 >> --- a/meta/classes/distutils.bbclass >> +++ b/meta/classes/distutils.bbclass >> @@ -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 \ >> diff --git a/meta/classes/pythonnative.bbclass b/meta/classes/pythonnative.bbclass >> new file mode 100644 >> index 0000000..bc346da >> --- /dev/null >> +++ b/meta/classes/pythonnative.bbclass >> @@ -0,0 +1,3 @@ >> +PYTHON="${STAGING_BINDIR_NATIVE}/python-native/python" >> +PATH_prepend = "${STAGING_BINDIR_NATIVE}/python-native:" >> +DEPENDS += " python-native " >> diff --git a/meta/recipes-devtools/python/python-native_2.7.3.bb b/meta/recipes-devtools/python/python-native_2.7.3.bb >> index 50bf894..bfdcd12 100644 >> --- a/meta/recipes-devtools/python/python-native_2.7.3.bb >> +++ b/meta/recipes-devtools/python/python-native_2.7.3.bb >> @@ -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} >> >> # 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 ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [oe-commits] Morgan Little : python-native: Put binaries in seperate directory 2012-07-30 14:08 ` Andreas Müller @ 2012-07-31 10:47 ` Richard Purdie 0 siblings, 0 replies; 5+ messages in thread From: Richard Purdie @ 2012-07-31 10:47 UTC (permalink / raw) To: Patches and discussions about the oe-core layer On Mon, 2012-07-30 at 16:08 +0200, Andreas Müller wrote: > > 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. > > The commit message does not help me much. There was significant mailing list discussion about this and perlnative which shares a similar problem. > > 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 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 ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [oe-commits] Morgan Little : python-native: Put binaries in seperate directory 2012-07-30 14:02 ` Andreas Müller 2012-07-30 14:08 ` Andreas Müller @ 2012-07-30 16:11 ` Little, Morgan 1 sibling, 0 replies; 5+ messages in thread From: Little, Morgan @ 2012-07-30 16:11 UTC (permalink / raw) To: Patches and discussions about the oe-core layer On 12-07-30 10:02 AM, Andreas Müller wrote: > On Sun, Jul 22, 2012 at 12:43 PM, <git@git.openembedded.org> wrote: >> Module: openembedded-core.git >> Branch: master >> Commit: a2e554f731437545e9483a7a73e6847c03f6f48a >> URL: http://git.openembedded.org/?p=openembedded-core.git&a=commit;h=a2e554f731437545e9483a7a73e6847c03f6f48a >> >> Author: Morgan Little <morgan.little@windriver.com> >> Date: Thu Jul 19 13:46:06 2012 -0400 >> >> python-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 <richard.purdie@linuxfoundation.org> >> >> --- >> >> 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(-) >> >> diff --git a/meta/classes/distutils-base.bbclass b/meta/classes/distutils-base.bbclass >> index 6d18e08..c761b36 100644 >> --- a/meta/classes/distutils-base.bbclass >> +++ b/meta/classes/distutils-base.bbclass >> @@ -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 pythonnative >> >> diff --git a/meta/classes/distutils.bbclass b/meta/classes/distutils.bbclass >> index bcddf8d..690df73 100644 >> --- a/meta/classes/distutils.bbclass >> +++ b/meta/classes/distutils.bbclass >> @@ -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 \ >> diff --git a/meta/classes/pythonnative.bbclass b/meta/classes/pythonnative.bbclass >> new file mode 100644 >> index 0000000..bc346da >> --- /dev/null >> +++ b/meta/classes/pythonnative.bbclass >> @@ -0,0 +1,3 @@ >> +PYTHON="${STAGING_BINDIR_NATIVE}/python-native/python" >> +PATH_prepend = "${STAGING_BINDIR_NATIVE}/python-native:" >> +DEPENDS += " python-native " >> diff --git a/meta/recipes-devtools/python/python-native_2.7.3.bb b/meta/recipes-devtools/python/python-native_2.7.3.bb >> index 50bf894..bfdcd12 100644 >> --- a/meta/recipes-devtools/python/python-native_2.7.3.bb >> +++ b/meta/recipes-devtools/python/python-native_2.7.3.bb >> @@ -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} >> >> # 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 > > _______________________________________________ > Openembedded-core mailing list > Openembedded-core@lists.openembedded.org > 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 ^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2012-07-31 10:58 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <20120722104353.A204B1032B@opal>
2012-07-30 13:55 ` [oe-commits] Morgan Little : python-native: Put binaries in seperate directory Andreas Müller
2012-07-30 14:02 ` Andreas Müller
2012-07-30 14:08 ` Andreas Müller
2012-07-31 10:47 ` Richard Purdie
2012-07-30 16:11 ` Little, Morgan
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.