Bug 2344885 - Please branch and build python-blosc2 in epel10
Summary: Please branch and build python-blosc2 in epel10
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Fedora
Classification: Fedora
Component: python-blosc2
Version: rawhide
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Kaleb KEITHLEY
QA Contact:
URL:
Whiteboard:
Depends On: 2334951 2335428 2345587 2348729
Blocks: EPELPackagersSIG 2336298
TreeView+ depends on / blocked
 
Reported: 2025-02-11 11:43 UTC by Kaleb KEITHLEY
Modified: 2025-03-09 03:00 UTC (History)
3 users (show)

Fixed In Version: python-blosc2-3.1.1-2.el10_1
Clone Of:
Environment:
Last Closed: 2025-03-09 03:00:58 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)

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.


Note You need to log in before you can comment on or make changes to this bug.