Bug 2344885

Summary: Please branch and build python-blosc2 in epel10
Product: [Fedora] Fedora Reporter: Kaleb KEITHLEY <kkeithle>
Component: python-blosc2Assignee: Kaleb KEITHLEY <kkeithle>
Status: CLOSED ERRATA QA Contact:
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: rawhideCC: code, fedora, zbyszek
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: python-blosc2-3.1.1-2.el10_1 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2025-03-09 03:00:58 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On: 2334951, 2335428, 2345587, 2348729    
Bug Blocks: 1914423, 2336298    

Description Kaleb KEITHLEY 2025-02-11 11:43:30 UTC
Please branch and build python-blosc2 in epel10.

If you do not wish to maintain python-blosc2 in epel10,
or do not think you will be able to do this in a timely manner,
I would be happy to be a co-maintainer of the package (FAS: kkeithle);
please add me through https://src.fedoraproject.org/rpms/python-blosc2/adduser

Comment 1 Zbigniew Jędrzejewski-Szmek 2025-02-11 14:29:29 UTC
Done.

Comment 2 Ben Beasley 2025-02-25 13:41:04 UTC
Alternatively, if python-blosc2 could be updated from 2.7.1 to the latest 3.1.1 release in Rawhide before branching, then it would depend only on python-scikit-build-core, which is already present in EPEL10, and this would no longer be blocked by bug 2335428.

Comment 3 Cristian Le 2025-02-25 14:48:48 UTC
Doing an impact check in https://copr.fedorainfracloud.org/coprs/lecris/python-blosc2-3.x/build/8698904/

It seems that 3.x requires additional dependencies to be branched:
```
No matching package to install: 'python3dist(httpx)'
```
Otherwise, the following are still needed for 2.x
```
No matching package to install: 'python3dist(msgpack)'
No matching package to install: 'python3dist(ndindex)'
```

Comment 4 Kaleb KEITHLEY 2025-02-25 14:52:33 UTC
(In reply to Cristian Le from comment #3)
> Doing an impact check in
> https://copr.fedorainfracloud.org/coprs/lecris/python-blosc2-3.x/build/
> 8698904/
> 
> ```
> No matching package to install: 'python3dist(msgpack)'


python-msgpack is built, you need to use an override until it lands in stable.

Comment 5 Cristian Le 2025-02-25 15:00:06 UTC
Impact check is green so far I haven't done it from `python-tables` onwards. I can grant you privilege to the copr project if you want to add the other epel builds as well.

Comment 6 Kaleb KEITHLEY 2025-02-25 16:17:47 UTC
(In reply to Cristian Le from comment #3)
> Doing an impact check in
> https://copr.fedorainfracloud.org/coprs/lecris/python-blosc2-3.x/build/
> 8698904/
> 
> It seems that 3.x requires additional dependencies to be branched:
> ```
> No matching package to install: 'python3dist(httpx)'
> ```
> Otherwise, the following are still needed for 2.x
> ```
> No matching package to install: 'python3dist(msgpack)'
> No matching package to install: 'python3dist(ndindex)'
> ```

Based on a koji scratch build of 3.1.1 it seems that both
  No matching package to install: 'python3dist(httpx)
  No matching package to install: 'python3dist(ndindex)
are needed

Comment 7 Kaleb KEITHLEY 2025-02-28 16:59:46 UTC
scratch build https://koji.fedoraproject.org/koji/taskinfo?taskID=129684166

approx 60% of the tests failed! yikes

Any thoughts on why?

Otherwise I might wait a week and then do a "bootstrap" build without tests???

I'm not a python person, not sure this is a good idea.

Comment 8 Cristian Le 2025-02-28 17:25:56 UTC
Argh, it might be numpy 1.x vs 2.x. Probably you would need the older version indeed :((. That is very unfortunate. When I asked numpy people about it, they didn't indicate that there will be non-ABI differences between 1.x and 2.x, but maybe there are. At least all the errors are failing at a common point
```
>       raise AttributeError("module {!r} has no attribute "
                             "{!r}".format(__name__, attr))
E       AttributeError: module 'numpy' has no attribute 'pow'
```

Should we:
- add back the numpy 2.x constraint https://src.fedoraproject.org/rpms/python-blosc2/blob/rawhide/f/python-blosc2.spec#_37
- go with blosc2 2.x with scikit-build?

Comment 9 Ben Beasley 2025-02-28 18:28:06 UTC
(In reply to Cristian Le from comment #8)
> Argh, it might be numpy 1.x vs 2.x. Probably you would need the older
> version indeed :((. That is very unfortunate. When I asked numpy people
> about it, they didn't indicate that there will be non-ABI differences
> between 1.x and 2.x, but maybe there are.

There are definitely Python API changes in numpy 2.0. Most of them aren’t too hard to port around, but there are quite a few of them.

https://numpy.org/devdocs/release/2.0.0-notes.html#numpy-2-0-python-api-removals

There are also API changes associated with expired deprecations in every numpy “minor” release, e.g.:

https://numpy.org/devdocs/release/2.0.0-notes.html#expired-deprecations
https://numpy.org/devdocs/release/2.1.0-notes.html#expired-deprecations
https://numpy.org/devdocs/release/2.2.0-notes.html#expired-deprecations
https://numpy.org/devdocs/release/2.3.0-notes.html#expired-deprecations

(Numpy does not follow SemVer.)

> Should we:
> - add back the numpy 2.x constraint
> https://src.fedoraproject.org/rpms/python-blosc2/blob/rawhide/f/python-
> blosc2.spec#_37
> - go with blosc2 2.x with scikit-build?

Sadly, https://github.com/Blosc/python-blosc2/blob/main/RELEASE_NOTES.md#changes-from-311-to-320 indicates that python-blosc2 3.2.0 would restore support for numpy<2, but at the same time it would also require an API- and ABI-breaking update to blosc2 2.15.2. Sigh.

Comment 10 Ben Beasley 2025-02-28 18:29:25 UTC
On the other hand, in theory https://github.com/Blosc/python-blosc2/commit/c94a95fce676b6d354be0c44cf15b4653d3c97e4 is all it would take to backport numpy<2 support to python-blosc2 3.1.1. I don’t have time to test it right now, but maybe that’s the right approach.

Comment 11 Cristian Le 2025-02-28 18:41:49 UTC
Oh, that one got released just yesterday :)). Ok, let's give it one more try with python-blosc2 3.2.0

Comment 12 Ben Beasley 2025-02-28 18:44:37 UTC
(In reply to Cristian Le from comment #11)
> Oh, that one got released just yesterday :)). Ok, let's give it one more try
> with python-blosc2 3.2.0

Well, that requires blosc2 2.17.0, which is an API- and ABI-breaking update. (I said 2.15.2 above, but that was a typo.) So backporting the commit that claims to handle numpy 2 support seems more feasible.

Comment 13 Ben Beasley 2025-02-28 18:45:10 UTC
(In reply to Ben Beasley from comment #12)
> (In reply to Cristian Le from comment #11)
> > Oh, that one got released just yesterday :)). Ok, let's give it one more try
> > with python-blosc2 3.2.0
> 
> Well, that requires blosc2 2.17.0, which is an API- and ABI-breaking update.
> (I said 2.15.2 above, but that was a typo.) So backporting the commit that
> claims to handle numpy 2 support seems more feasible.

Could I be any more confusing? I meant to say, backporting the commit that claims to handle numpy 1 support seems more feasible.

Comment 14 Kaleb KEITHLEY 2025-02-28 19:03:23 UTC
(In reply to Ben Beasley from comment #10)
> On the other hand, in theory
> https://github.com/Blosc/python-blosc2/commit/
> c94a95fce676b6d354be0c44cf15b4653d3c97e4 is all it would take to backport
> numpy<2 support to python-blosc2 3.1.1. I don’t have time to test it right
> now, but maybe that’s the right approach.

That's much better. But not perfect.

https://kojipkgs.fedoraproject.org/work/tasks/5408/129685408/build.log

If someone can suggest a way to disable test_save_unsafe(), maybe with a tomcli command in the .spec ??

Comment 15 Fedora Update System 2025-02-28 23:42:09 UTC
FEDORA-EPEL-2025-d65cac9b6e (python-blosc2-3.1.1-2.el10_1) has been submitted as an update to Fedora EPEL 10.1.
https://bodhi.fedoraproject.org/updates/FEDORA-EPEL-2025-d65cac9b6e

Comment 16 Fedora Update System 2025-03-01 02:10:00 UTC
FEDORA-EPEL-2025-d65cac9b6e has been pushed to the Fedora EPEL 10.1 testing repository.

You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-EPEL-2025-d65cac9b6e

See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.

Comment 17 Fedora Update System 2025-03-09 03:00:58 UTC
FEDORA-EPEL-2025-d65cac9b6e (python-blosc2-3.1.1-2.el10_1) has been pushed to the Fedora EPEL 10.1 stable repository.
If problem still persists, please make note of it in this bug report.