Bug 2330216 - python-cramjam: Please branch and build for epel10
Summary: python-cramjam: Please branch and build for epel10
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Fedora
Classification: Fedora
Component: python-cramjam
Version: rawhide
Hardware: Unspecified
OS: Linux
unspecified
medium
Target Milestone: ---
Assignee: Ben Beasley
QA Contact:
URL:
Whiteboard:
Depends On: 2330253
Blocks: 2330025 2338619
TreeView+ depends on / blocked
 
Reported: 2024-12-03 19:50 UTC by Julien Enselme
Modified: 2025-03-06 02:57 UTC (History)
6 users (show)

Fixed In Version: python-cramjam-2.10.0~rc1-3.el10_1 python-cramjam-2.10.0~rc1-3.el10_0
Clone Of:
Environment:
Last Closed: 2025-03-06 02:41:40 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Red Hat Bugzilla 2330025 0 unspecified CLOSED Please branch and build python3-snappy in epel10 2025-03-06 02:41:51 UTC

Description Julien Enselme 2024-12-03 19:50:41 UTC
It is required to build python-snappy

Reproducible: Always

Comment 1 Ben Beasley 2024-12-03 22:17:54 UTC
The good news is that I do plan to build python-cramjam in EPEL10 as soon as that is possible.

The not-as-good news is that maturin is needed to build it (bug 2330253), and branching maturin is going to require python-setuptools-rust (bug 2316989). That is currently a buildroot-only package in CentOS and RHEL; the plan is to have it moved to the CRB repo rather than maintaining another potentially divergent copy in EPEL. This is a reasonable plan and reduces the burden on its maintainers, but it also takes longer than simply branching it into EPEL.

Please follow bug 2316989 and https://issues.redhat.com/browse/RHEL-66224, and expect things to start moving more steadily once python-setuptools-rust is available.

Comment 2 Romain Geissler 2024-12-26 23:44:35 UTC
With maturin being present in epel-testing, the build now goes a but further, we still miss some dependencies:

Error:
 Problem 1: nothing provides requested (crate(libcramjam) >= 0.6.0 with crate(libcramjam) < 0.7.0~)
 Problem 2: nothing provides requested (crate(libcramjam/blosc2-static) >= 0.6.0 with crate(libcramjam/blosc2-static) < 0.7.0~)
 Problem 3: nothing provides requested (crate(libcramjam/brotli) >= 0.6.0 with crate(libcramjam/brotli) < 0.7.0~)
 Problem 4: nothing provides requested (crate(libcramjam/bzip2) >= 0.6.0 with crate(libcramjam/bzip2) < 0.7.0~)
 Problem 5: nothing provides requested (crate(libcramjam/deflate-static) >= 0.6.0 with crate(libcramjam/deflate-static) < 0.7.0~)
 Problem 6: nothing provides requested (crate(libcramjam/gzip-static) >= 0.6.0 with crate(libcramjam/gzip-static) < 0.7.0~)
 Problem 7: nothing provides requested (crate(libcramjam/ideflate-static) >= 0.6.0 with crate(libcramjam/ideflate-static) < 0.7.0~)
 Problem 8: nothing provides requested (crate(libcramjam/igzip-static) >= 0.6.0 with crate(libcramjam/igzip-static) < 0.7.0~)
 Problem 9: nothing provides requested (crate(libcramjam/izlib-static) >= 0.6.0 with crate(libcramjam/izlib-static) < 0.7.0~)
 Problem 10: nothing provides requested (crate(libcramjam/lz4) >= 0.6.0 with crate(libcramjam/lz4) < 0.7.0~)
 Problem 11: nothing provides requested (crate(libcramjam/snappy) >= 0.6.0 with crate(libcramjam/snappy) < 0.7.0~)
 Problem 12: nothing provides requested (crate(libcramjam/xz-static) >= 0.6.0 with crate(libcramjam/xz-static) < 0.7.0~)
 Problem 13: nothing provides requested (crate(libcramjam/zlib-static) >= 0.6.0 with crate(libcramjam/zlib-static) < 0.7.0~)
 Problem 14: nothing provides requested (crate(libcramjam/zstd) >= 0.6.0 with crate(libcramjam/zstd) < 0.7.0~)
(try to add '--skip-broken' to skip uninstallable packages or '--nobest' to use not only best candidate packages)

Comment 3 Romain Geissler 2024-12-26 23:47:27 UTC
rust-libcramjam is also maintained by you Ben, so I let you handle this ;)

Comment 4 Ben Beasley 2024-12-27 00:06:51 UTC
Yes, this is one of my priorities for the next few weeks, along with preparatory work for Pydantic (like updating and patching dependencies to avoid branching compat packages). Quite a few things will need to be branched to support libcramjam, but I don’t anticipate any serious obstacles now that maturin is available.

Comment 5 Ben Beasley 2024-12-27 04:11:48 UTC
Ok, so I’ve requested blosc2 in EPEL10. Support for blosc2 could potentially be disabled in rust-libcramjam, but it affects the experimental API in python-cramjam, and I’d much rather be consistent with Fedora.

I’ve also patched rust-libcramjam to use the current rust-cbindgen 0.27 instead of the rust-cbindgen0.24 compat package.

Once blosc2 is (hopefully) branched and built, I have the following missing dependency chains leading to rust-libcramjam:

- rust-lz4-sys : rust-lz4
- rust-snap
- blosc2 : rust-blosc2-sys : rust-blosc2-rs
- rust-ctor : rust-blosc2-rs
- rust-isal-sys : rust-isal-rs
- rust-md5 : rust-isal-rs

Except for blosc2, I can easily take care of all of these as a rust-sig member. I’m the primary maintainer for most of them.

Here’s a COPR that demonstrates all of this working: https://copr.fedorainfracloud.org/coprs/music/cramjam-epel10/packages/

Comment 6 Ben Beasley 2025-01-14 02:29:22 UTC
I’m planning to wait for the next upstream release of python-cramjam[1], which should use rust-libcramjam-0.7.0 and shouldn’t require the blosc2-rs/isal-rs bindings. At least the blosc2-rs bindings have soundness issues, and I’m working toward retiring them in Rawhide and avoiding branching them for EPEL10.

I’m sorry if this delays the branching a bit, but I think it’s worth it to avoid branching and supporting crates with soundness issues (and therefore unpredictable stability issues).

If this doesn’t seem to happen in a reasonable amount of time, please feel free to come back to this issue and ping me, and I can check on upstream or try to offer a PR to do some of the work needed for the next release.

[1] https://github.com/cramjam/libcramjam/pull/22#issuecomment-2587684919

Comment 7 Ben Beasley 2025-01-14 02:30:41 UTC
These will still be needed:

- rust-lz4-sys : rust-lz4
- rust-snap

These should *not* be needed:

- blosc2 : rust-blosc2-sys : rust-blosc2-rs
- rust-ctor : rust-blosc2-rs
- rust-isal-sys : rust-isal-rs
- rust-md5 : rust-isal-rs

Comment 8 Ben Beasley 2025-01-15 15:32:31 UTC
I just branched and built rust-libcramjam-0.7.0 in EPEL10: https://bodhi.fedoraproject.org/updates/FEDORA-EPEL-2025-f4bc67bf27

Now I’m just waiting for a new upstream release of python-cramjam.

Comment 9 Aoife Moloney 2025-02-26 13:19:14 UTC
This bug appears to have been reported against 'rawhide' during the Fedora Linux 42 development cycle.
Changing version to 42.

Comment 10 Fedora Update System 2025-03-04 14:49:21 UTC
FEDORA-EPEL-2025-8bbdb59035 (python-cramjam-2.10.0~rc1-3.el10_1 and python-fastavro-1.10.0-2.el10_1) has been submitted as an update to Fedora EPEL 10.1.
https://bodhi.fedoraproject.org/updates/FEDORA-EPEL-2025-8bbdb59035

Comment 11 Fedora Update System 2025-03-05 03:10:36 UTC
FEDORA-EPEL-2025-8bbdb59035 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-8bbdb59035

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

Comment 12 Fedora Update System 2025-03-05 03:11:25 UTC
FEDORA-EPEL-2025-a69625be11 has been pushed to the Fedora EPEL 10.0 testing repository.

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

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

Comment 13 Fedora Update System 2025-03-06 02:41:40 UTC
FEDORA-EPEL-2025-8bbdb59035 (python-cramjam-2.10.0~rc1-3.el10_1 and python-fastavro-1.10.0-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.

Comment 14 Fedora Update System 2025-03-06 02:57:33 UTC
FEDORA-EPEL-2025-a69625be11 (python-cramjam-2.10.0~rc1-3.el10_0 and python-fastavro-1.10.0-2.el10_0) has been pushed to the Fedora EPEL 10.0 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.