Openembedded Core Discussions
 help / color / mirror / Atom feed
* [PATCH 1/2] python-numpy: set CLEANBROKEN
@ 2018-07-05 15:58 Ross Burton
  2018-07-05 15:58 ` [PATCH 2/2] distutils: clean the build tree in do_configure Ross Burton
  0 siblings, 1 reply; 4+ messages in thread
From: Ross Burton @ 2018-07-05 15:58 UTC (permalink / raw)
  To: openembedded-core

The distutils class is about to do a clean via "setup.py clean", but numpy
doesn't support this and errors.

Signed-off-by: Ross Burton <ross.burton@intel.com>
---
 meta/recipes-devtools/python-numpy/python-numpy.inc | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/meta/recipes-devtools/python-numpy/python-numpy.inc b/meta/recipes-devtools/python-numpy/python-numpy.inc
index 1d822fa3fe3..1b51f7baaf2 100644
--- a/meta/recipes-devtools/python-numpy/python-numpy.inc
+++ b/meta/recipes-devtools/python-numpy/python-numpy.inc
@@ -77,6 +77,8 @@ CONFIGFILESURI_riscv64 = " \
 
 S = "${WORKDIR}/numpy-${PV}"
 
+CLEANBROKEN = "1"
+
 # Make the build fail and replace *config.h with proper one
 # This is a ugly, ugly hack - Koen
 do_compile_prepend_class-target() {
-- 
2.11.0



^ permalink raw reply related	[flat|nested] 4+ messages in thread

* [PATCH 2/2] distutils: clean the build tree in do_configure
  2018-07-05 15:58 [PATCH 1/2] python-numpy: set CLEANBROKEN Ross Burton
@ 2018-07-05 15:58 ` Ross Burton
  2018-07-08  0:57   ` Khem Raj
  0 siblings, 1 reply; 4+ messages in thread
From: Ross Burton @ 2018-07-05 15:58 UTC (permalink / raw)
  To: openembedded-core

base_do_configure() tries to do "make clean" if there is a Makefile present.
For most recipes using distutils there is not a Makefile, but we do know that
"setup.py clean" will work so call that instead.

Signed-off-by: Ross Burton <ross.burton@intel.com>
---
 meta/classes/distutils3.bbclass | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/meta/classes/distutils3.bbclass b/meta/classes/distutils3.bbclass
index 6c303068820..99ad64d287d 100644
--- a/meta/classes/distutils3.bbclass
+++ b/meta/classes/distutils3.bbclass
@@ -8,6 +8,12 @@ DISTUTILS_STAGE_ALL_ARGS ?= "--prefix=${STAGING_DIR_HOST}${prefix} \
 DISTUTILS_INSTALL_ARGS ?= "--prefix=${D}/${prefix} \
     --install-data=${D}/${datadir}"
 
+distutils3_do_configure() {
+	if [ "${CLEANBROKEN}" != "1" ] ; then
+		${STAGING_BINDIR_NATIVE}/${PYTHON_PN}-native/${PYTHON_PN} setup.py clean
+	fi
+}
+
 distutils3_do_compile() {
         STAGING_INCDIR=${STAGING_INCDIR} \
         STAGING_LIBDIR=${STAGING_LIBDIR} \
@@ -71,6 +77,6 @@ distutils3_do_install() {
 }
 distutils3_do_install[vardepsexclude] = "MACHINE"
 
-EXPORT_FUNCTIONS do_compile do_install
+EXPORT_FUNCTIONS do_configure do_compile do_install
 
 export LDSHARED="${CCLD} -shared"
-- 
2.11.0



^ permalink raw reply related	[flat|nested] 4+ messages in thread

* Re: [PATCH 2/2] distutils: clean the build tree in do_configure
  2018-07-05 15:58 ` [PATCH 2/2] distutils: clean the build tree in do_configure Ross Burton
@ 2018-07-08  0:57   ` Khem Raj
  2018-07-09  9:38     ` Burton, Ross
  0 siblings, 1 reply; 4+ messages in thread
From: Khem Raj @ 2018-07-08  0:57 UTC (permalink / raw)
  To: Burton, Ross; +Cc: Patches and discussions about the oe-core layer

For the record this breaks few recipes in meta-python

meta-python/recipes-devtools/python/python3-lxml_4.2.3.bb
meta-python/recipes-devtools/python/python3-pandas_0.23.1.bb
meta-python/recipes-devtools/python/python3-protobuf_3.6.0.bb

It would be better if meta-python was exercised as testing for such
changes in oe-core for better coverage.
On Thu, Jul 5, 2018 at 8:58 AM Ross Burton <ross.burton@intel.com> wrote:
>
> base_do_configure() tries to do "make clean" if there is a Makefile present.
> For most recipes using distutils there is not a Makefile, but we do know that
> "setup.py clean" will work so call that instead.
>
> Signed-off-by: Ross Burton <ross.burton@intel.com>
> ---
>  meta/classes/distutils3.bbclass | 8 +++++++-
>  1 file changed, 7 insertions(+), 1 deletion(-)
>
> diff --git a/meta/classes/distutils3.bbclass b/meta/classes/distutils3.bbclass
> index 6c303068820..99ad64d287d 100644
> --- a/meta/classes/distutils3.bbclass
> +++ b/meta/classes/distutils3.bbclass
> @@ -8,6 +8,12 @@ DISTUTILS_STAGE_ALL_ARGS ?= "--prefix=${STAGING_DIR_HOST}${prefix} \
>  DISTUTILS_INSTALL_ARGS ?= "--prefix=${D}/${prefix} \
>      --install-data=${D}/${datadir}"
>
> +distutils3_do_configure() {
> +       if [ "${CLEANBROKEN}" != "1" ] ; then
> +               ${STAGING_BINDIR_NATIVE}/${PYTHON_PN}-native/${PYTHON_PN} setup.py clean
> +       fi
> +}
> +
>  distutils3_do_compile() {
>          STAGING_INCDIR=${STAGING_INCDIR} \
>          STAGING_LIBDIR=${STAGING_LIBDIR} \
> @@ -71,6 +77,6 @@ distutils3_do_install() {
>  }
>  distutils3_do_install[vardepsexclude] = "MACHINE"
>
> -EXPORT_FUNCTIONS do_compile do_install
> +EXPORT_FUNCTIONS do_configure do_compile do_install
>
>  export LDSHARED="${CCLD} -shared"
> --
> 2.11.0
>
> --
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core@lists.openembedded.org
> http://lists.openembedded.org/mailman/listinfo/openembedded-core


^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH 2/2] distutils: clean the build tree in do_configure
  2018-07-08  0:57   ` Khem Raj
@ 2018-07-09  9:38     ` Burton, Ross
  0 siblings, 0 replies; 4+ messages in thread
From: Burton, Ross @ 2018-07-09  9:38 UTC (permalink / raw)
  To: Khem Raj; +Cc: Patches and discussions about the oe-core layer

Sorry about that, I'll run a build against all of meta-python now.

Ross

On 8 July 2018 at 01:57, Khem Raj <raj.khem@gmail.com> wrote:
> For the record this breaks few recipes in meta-python
>
> meta-python/recipes-devtools/python/python3-lxml_4.2.3.bb
> meta-python/recipes-devtools/python/python3-pandas_0.23.1.bb
> meta-python/recipes-devtools/python/python3-protobuf_3.6.0.bb
>
> It would be better if meta-python was exercised as testing for such
> changes in oe-core for better coverage.
> On Thu, Jul 5, 2018 at 8:58 AM Ross Burton <ross.burton@intel.com> wrote:
>>
>> base_do_configure() tries to do "make clean" if there is a Makefile present.
>> For most recipes using distutils there is not a Makefile, but we do know that
>> "setup.py clean" will work so call that instead.
>>
>> Signed-off-by: Ross Burton <ross.burton@intel.com>
>> ---
>>  meta/classes/distutils3.bbclass | 8 +++++++-
>>  1 file changed, 7 insertions(+), 1 deletion(-)
>>
>> diff --git a/meta/classes/distutils3.bbclass b/meta/classes/distutils3.bbclass
>> index 6c303068820..99ad64d287d 100644
>> --- a/meta/classes/distutils3.bbclass
>> +++ b/meta/classes/distutils3.bbclass
>> @@ -8,6 +8,12 @@ DISTUTILS_STAGE_ALL_ARGS ?= "--prefix=${STAGING_DIR_HOST}${prefix} \
>>  DISTUTILS_INSTALL_ARGS ?= "--prefix=${D}/${prefix} \
>>      --install-data=${D}/${datadir}"
>>
>> +distutils3_do_configure() {
>> +       if [ "${CLEANBROKEN}" != "1" ] ; then
>> +               ${STAGING_BINDIR_NATIVE}/${PYTHON_PN}-native/${PYTHON_PN} setup.py clean
>> +       fi
>> +}
>> +
>>  distutils3_do_compile() {
>>          STAGING_INCDIR=${STAGING_INCDIR} \
>>          STAGING_LIBDIR=${STAGING_LIBDIR} \
>> @@ -71,6 +77,6 @@ distutils3_do_install() {
>>  }
>>  distutils3_do_install[vardepsexclude] = "MACHINE"
>>
>> -EXPORT_FUNCTIONS do_compile do_install
>> +EXPORT_FUNCTIONS do_configure do_compile do_install
>>
>>  export LDSHARED="${CCLD} -shared"
>> --
>> 2.11.0
>>
>> --
>> _______________________________________________
>> Openembedded-core mailing list
>> Openembedded-core@lists.openembedded.org
>> http://lists.openembedded.org/mailman/listinfo/openembedded-core


^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2018-07-09  9:39 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-07-05 15:58 [PATCH 1/2] python-numpy: set CLEANBROKEN Ross Burton
2018-07-05 15:58 ` [PATCH 2/2] distutils: clean the build tree in do_configure Ross Burton
2018-07-08  0:57   ` Khem Raj
2018-07-09  9:38     ` Burton, Ross

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox