mbox series

[0/2] Upgrading Cython to 3.0.0

Message ID 20230821173840.1337747-1-tgamblin@baylibre.com
Headers show
Series Upgrading Cython to 3.0.0 | expand

Message

Trevor Gamblin Aug. 21, 2023, 5:38 p.m. UTC
The Cython 3.0.0 release contains many changes. Since there are a large
number of recipes that depend on it, there will potentially be build
issues with recipes in meta-python and elsewhere. I performed a world
build on poky alone with the python3-cython upgrade and the only recipe
to fail was python3-pyyaml, so that has been tweaked to work (via two
new patches for the recipe; thanks to Tim Orling for the heads-up).

Trevor Gamblin (2):
  python3-cython: upgrade 0.29.36 -> 3.0.0
  python3-pyyaml: Make compatible with Cython 3.0.0

 .../recipes-devtools/python/python-cython.inc |  4 +-
 ...hon_0.29.36.bb => python3-cython_3.0.0.bb} |  0
 .../0001-Fix-builds-with-Cython-3.patch       | 47 +++++++++++++++++++
 ...roject.toml-don-t-pin-Cython-version.patch | 26 ++++++++++
 .../python/python3-pyyaml_6.0.1.bb            |  4 ++
 5 files changed, 79 insertions(+), 2 deletions(-)
 rename meta/recipes-devtools/python/{python3-cython_0.29.36.bb => python3-cython_3.0.0.bb} (100%)
 create mode 100644 meta/recipes-devtools/python/python3-pyyaml/0001-Fix-builds-with-Cython-3.patch
 create mode 100644 meta/recipes-devtools/python/python3-pyyaml/0001-pyproject.toml-don-t-pin-Cython-version.patch

Comments

Luca Ceresoli Aug. 23, 2023, 7:24 a.m. UTC | #1
Hello Trevor,

On Mon, 21 Aug 2023 13:38:38 -0400
"Trevor Gamblin" <tgamblin@baylibre.com> wrote:

> The Cython 3.0.0 release contains many changes. Since there are a large
> number of recipes that depend on it, there will potentially be build
> issues with recipes in meta-python and elsewhere. I performed a world
> build on poky alone with the python3-cython upgrade and the only recipe
> to fail was python3-pyyaml, so that has been tweaked to work (via two
> new patches for the recipe; thanks to Tim Orling for the heads-up).

This series makes python3-cython non-reproducible:

AssertionError: The following deb packages are different and not in exclusion list:
/home/pokybuild/yocto-worker/reproducible/build/build-st/reproducibleB/tmp/deploy/deb/./core2-64/python3-cython-src_3.0.0-r0_amd64.deb
The following ipk packages are different and not in exclusion list:
/home/pokybuild/yocto-worker/reproducible/build/build-st/reproducibleB/tmp/deploy/ipk/./core2-64/python3-cython-src_3.0.0-r0_core2-64.ipk
The following rpm packages are different and not in exclusion list:
/home/pokybuild/yocto-worker/reproducible/build/build-st/reproducibleB/tmp/deploy/rpm/./core2_64/python3-cython-src-3.0.0-r0.core2_64.rpm


https://autobuilder.yoctoproject.org/typhoon/#/builders/117/builds/3400/steps/12/logs/stdio

Luca
Luca Ceresoli Aug. 23, 2023, 7:27 a.m. UTC | #2
On Wed, 23 Aug 2023 09:24:42 +0200
"Luca Ceresoli via lists.openembedded.org"
<luca.ceresoli=bootlin.com@lists.openembedded.org> wrote:

> Hello Trevor,
> 
> On Mon, 21 Aug 2023 13:38:38 -0400
> "Trevor Gamblin" <tgamblin@baylibre.com> wrote:
> 
> > The Cython 3.0.0 release contains many changes. Since there are a large
> > number of recipes that depend on it, there will potentially be build
> > issues with recipes in meta-python and elsewhere. I performed a world
> > build on poky alone with the python3-cython upgrade and the only recipe
> > to fail was python3-pyyaml, so that has been tweaked to work (via two
> > new patches for the recipe; thanks to Tim Orling for the heads-up).  
> 
> This series makes python3-cython non-reproducible:
> 
> AssertionError: The following deb packages are different and not in exclusion list:
> /home/pokybuild/yocto-worker/reproducible/build/build-st/reproducibleB/tmp/deploy/deb/./core2-64/python3-cython-src_3.0.0-r0_amd64.deb
> The following ipk packages are different and not in exclusion list:
> /home/pokybuild/yocto-worker/reproducible/build/build-st/reproducibleB/tmp/deploy/ipk/./core2-64/python3-cython-src_3.0.0-r0_core2-64.ipk
> The following rpm packages are different and not in exclusion list:
> /home/pokybuild/yocto-worker/reproducible/build/build-st/reproducibleB/tmp/deploy/rpm/./core2_64/python3-cython-src-3.0.0-r0.core2_64.rpm
> 
> 
> https://autobuilder.yoctoproject.org/typhoon/#/builders/117/builds/3400/steps/12/logs/stdio

And just noticed this is also introducing some warnings:

WARNING: python3-cython-3.0.0-r0 do_package_qa: QA Issue: File /usr/src/debug/python3-cython/3.0.0-r0/Cython/Utils.c in package python3-cython-src contains reference to TMPDIR

https://autobuilder.yoctoproject.org/typhoon/#/builders/40/builds/7657/steps/14/logs/stdio
https://autobuilder.yoctoproject.org/typhoon/#/builders/40/builds/7657/steps/11/logs/stdio

Luca
Khem Raj Aug. 23, 2023, 4:08 p.m. UTC | #3
On Wed, Aug 23, 2023 at 12:27 AM Luca Ceresoli
<luca.ceresoli@bootlin.com> wrote:
>
> On Wed, 23 Aug 2023 09:24:42 +0200
> "Luca Ceresoli via lists.openembedded.org"
> <luca.ceresoli=bootlin.com@lists.openembedded.org> wrote:
>
> > Hello Trevor,
> >
> > On Mon, 21 Aug 2023 13:38:38 -0400
> > "Trevor Gamblin" <tgamblin@baylibre.com> wrote:
> >
> > > The Cython 3.0.0 release contains many changes. Since there are a large
> > > number of recipes that depend on it, there will potentially be build
> > > issues with recipes in meta-python and elsewhere. I performed a world
> > > build on poky alone with the python3-cython upgrade and the only recipe
> > > to fail was python3-pyyaml, so that has been tweaked to work (via two
> > > new patches for the recipe; thanks to Tim Orling for the heads-up).
> >
> > This series makes python3-cython non-reproducible:
> >
> > AssertionError: The following deb packages are different and not in exclusion list:
> > /home/pokybuild/yocto-worker/reproducible/build/build-st/reproducibleB/tmp/deploy/deb/./core2-64/python3-cython-src_3.0.0-r0_amd64.deb
> > The following ipk packages are different and not in exclusion list:
> > /home/pokybuild/yocto-worker/reproducible/build/build-st/reproducibleB/tmp/deploy/ipk/./core2-64/python3-cython-src_3.0.0-r0_core2-64.ipk
> > The following rpm packages are different and not in exclusion list:
> > /home/pokybuild/yocto-worker/reproducible/build/build-st/reproducibleB/tmp/deploy/rpm/./core2_64/python3-cython-src-3.0.0-r0.core2_64.rpm
> >
> >
> > https://autobuilder.yoctoproject.org/typhoon/#/builders/117/builds/3400/steps/12/logs/stdio
>
> And just noticed this is also introducing some warnings:
>
> WARNING: python3-cython-3.0.0-r0 do_package_qa: QA Issue: File /usr/src/debug/python3-cython/3.0.0-r0/Cython/Utils.c in package python3-cython-src contains reference to TMPDIR
>
> https://autobuilder.yoctoproject.org/typhoon/#/builders/40/builds/7657/steps/14/logs/stdio
> https://autobuilder.yoctoproject.org/typhoon/#/builders/40/builds/7657/steps/11/logs/stdio

there are few meta-python recipes which need attention as well.

https://errors.yoctoproject.org/Errors/Build/170232/

>
> Luca
>
> --
> Luca Ceresoli, Bootlin
> Embedded Linux and Kernel engineering
> https://bootlin.com
Trevor Gamblin Aug. 23, 2023, 4:21 p.m. UTC | #4
On 2023-08-23 12:08, Khem Raj wrote:
> On Wed, Aug 23, 2023 at 12:27 AM Luca Ceresoli
> <luca.ceresoli@bootlin.com> wrote:
>> On Wed, 23 Aug 2023 09:24:42 +0200
>> "Luca Ceresoli via lists.openembedded.org"
>> <luca.ceresoli=bootlin.com@lists.openembedded.org> wrote:
>>
>>> Hello Trevor,
>>>
>>> On Mon, 21 Aug 2023 13:38:38 -0400
>>> "Trevor Gamblin" <tgamblin@baylibre.com> wrote:
>>>
>>>> The Cython 3.0.0 release contains many changes. Since there are a large
>>>> number of recipes that depend on it, there will potentially be build
>>>> issues with recipes in meta-python and elsewhere. I performed a world
>>>> build on poky alone with the python3-cython upgrade and the only recipe
>>>> to fail was python3-pyyaml, so that has been tweaked to work (via two
>>>> new patches for the recipe; thanks to Tim Orling for the heads-up).
>>> This series makes python3-cython non-reproducible:
>>>
>>> AssertionError: The following deb packages are different and not in exclusion list:
>>> /home/pokybuild/yocto-worker/reproducible/build/build-st/reproducibleB/tmp/deploy/deb/./core2-64/python3-cython-src_3.0.0-r0_amd64.deb
>>> The following ipk packages are different and not in exclusion list:
>>> /home/pokybuild/yocto-worker/reproducible/build/build-st/reproducibleB/tmp/deploy/ipk/./core2-64/python3-cython-src_3.0.0-r0_core2-64.ipk
>>> The following rpm packages are different and not in exclusion list:
>>> /home/pokybuild/yocto-worker/reproducible/build/build-st/reproducibleB/tmp/deploy/rpm/./core2_64/python3-cython-src-3.0.0-r0.core2_64.rpm
>>>
>>>
>>> https://autobuilder.yoctoproject.org/typhoon/#/builders/117/builds/3400/steps/12/logs/stdio
>> And just noticed this is also introducing some warnings:
>>
>> WARNING: python3-cython-3.0.0-r0 do_package_qa: QA Issue: File /usr/src/debug/python3-cython/3.0.0-r0/Cython/Utils.c in package python3-cython-src contains reference to TMPDIR
>>
>> https://autobuilder.yoctoproject.org/typhoon/#/builders/40/builds/7657/steps/14/logs/stdio
>> https://autobuilder.yoctoproject.org/typhoon/#/builders/40/builds/7657/steps/11/logs/stdio
> there are few meta-python recipes which need attention as well.
>
> https://errors.yoctoproject.org/Errors/Build/170232/

Hi,

Sorry about that - I had mentioned it to Richard in IRC but not 
communicated the decision here. I've looked at the meta-python problems 
but it looks like a few of those issues are going to stay around for a 
while, so I'll wait on getting the python3-cython upgrade and changes to 
python3-pyyaml merged into oe-core. Once the recipes that require cython 
are all patched up for 3.0.0, I'll resend these.

Thanks for doing the testing - I didn't notice the QA issue, so when I 
revisit it I'll try and fix that too.

Trevor

>
>> Luca
>>
>> --
>> Luca Ceresoli, Bootlin
>> Embedded Linux and Kernel engineering
>> https://bootlin.com