Bug 2277858 - Review Request: rust-async_http_range_reader - Library for streaming reading of files over HTTP using range requests
Summary: Review Request: rust-async_http_range_reader - Library for streaming reading ...
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Fedora
Classification: Fedora
Component: Package Review
Version: rawhide
Hardware: All
OS: Linux
unspecified
medium
Target Milestone: ---
Assignee: Fabio Valentini
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On: 2251680 2277389 2277397
Blocks:
TreeView+ depends on / blocked
 
Reported: 2024-04-29 18:06 UTC by Ben Beasley
Modified: 2024-05-17 02:09 UTC (History)
2 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2024-05-16 17:53:31 UTC
Type: Bug
Embargoed:
decathorpe: fedora-review+


Attachments (Terms of Use)
Configuration file for rust2rpm (1.84 KB, text/plain)
2024-04-29 18:08 UTC, Ben Beasley
no flags Details
Configuration file for rust2rpm (1.60 KB, text/plain)
2024-04-29 18:09 UTC, Ben Beasley
no flags Details

Description Ben Beasley 2024-04-29 18:06:00 UTC
Spec URL: https://music.fedorapeople.org/rust-async_http_range_reader.spec
SRPM URL: https://music.fedorapeople.org/rust-async_http_range_reader-0.7.1-1.fc39.src.rpm

Description:

A library for streaming reading of files over HTTP using range requests.

Fedora Account System Username: music

This is a dependency for a future package of https://pypi.org/project/uv. It requires rust-axum-0.7.5, bug 2251680.

Comment 1 Ben Beasley 2024-04-29 18:08:07 UTC
Created attachment 2030064 [details]
Configuration file for rust2rpm

Comment 2 Ben Beasley 2024-04-29 18:09:24 UTC
Created attachment 2030065 [details]
Configuration file for rust2rpm

Removed obsolete commented-out cruft

Comment 3 Fabio Valentini 2024-05-07 19:23:14 UTC
Why do people use weird files as test data ...

Comment 4 Fabio Valentini 2024-05-15 22:35:34 UTC
Having taken a look, I think I can confirm your analysis that the "andes" conda package looks fine to distribute, and its contents are not included in the built RPMs. I'm not sure why the project has decided to use such a weird thing as test data, but oh well.

I'm slightly concerned about the amount of effort that's required to run the test suite of this package though.
Most of the dev-dependencies are quite large (axum, tower, tokio, rstest) or outdated and can't be easily patched (async_zip 0.0.15).
It's great that you went through the process of making it work, I'm just worried whether it's going to be sustainable long-term.

Also note that a new version of this crate was released since you filed this review - v0.8.0.
But It's fine to import the current version if that's what you need.

===

Package was generated with rust2rpm, simplifying the review.

- package builds and installs without errors on rawhide
- test suite is run and all unit tests pass
! latest version of the crate is packaged (v0.7.1 vs. v0.8.0)
- license matches upstream specification and is acceptable for Fedora
- license file is included with %license in %files
- package complies with Rust Packaging Guidelines

Package APPROVED.

===

Recommended post-import rust-sig tasks:

- set up package on release-monitoring.org:
  project: $crate
  homepage: https://crates.io/crates/$crate
  backend: crates.io
  version scheme: semantic
  version filter: alpha;beta;rc;pre
  distro: Fedora
  Package: rust-$crate

- add @rust-sig with "commit" access as package co-maintainer
  (should happen automatically)

- set bugzilla assignee overrides to @rust-sig (optional)

- track package in koschei for all built branches
  (should happen automatically once rust-sig is co-maintainer)

Comment 5 Ben Beasley 2024-05-16 12:25:41 UTC
Thank you for the review!

(In reply to Fabio Valentini from comment #4)
> Having taken a look, I think I can confirm your analysis that the "andes"
> conda package looks fine to distribute, and its contents are not included in
> the built RPMs. I'm not sure why the project has decided to use such a weird
> thing as test data, but oh well.
> 
> I'm slightly concerned about the amount of effort that's required to run the
> test suite of this package though.
> Most of the dev-dependencies are quite large (axum, tower, tokio, rstest) or
> outdated and can't be easily patched (async_zip 0.0.15).
> It's great that you went through the process of making it work, I'm just
> worried whether it's going to be sustainable long-term.

The async_zip 0.0.15 dependency is a frustrating one. Unfortunately, that’s also a build dependency, not just a test dependency, so we can’t get rid of it by simply disabling the tests. (As previously mentioned, uv currently carries its own forked async_zip that will have to be bundled as a git snapshot, but we still can’t really package async_http_range_reader without its build dependencies. At that point we might as well bundle it in uv too.)

For the large dev dependencies, I figured they are likely to be kept packaged and working for other applications, and can probably be kept working here since they’re used in a pretty straightforward way, API-wise. I do think it’s worth trying to keep running the tests on a “best reasonable effort” basis. However, if it gets to the point where this is untenable, or it looks like we would have to start maintaining compat packages just for this package’s tests, I’m perfectly willing to disable them again.

> 
> Also note that a new version of this crate was released since you filed this
> review - v0.8.0.
> But It's fine to import the current version if that's what you need.

Aha, so there is. It looks like the change in https://github.com/prefix-dev/async_http_range_reader/compare/v0.7.1...v0.8.0 is straightforward, and the current release of uv has already updated its dependencies, so I’ll update to 0.8.0 right away, with no packaging changes required other than the version number.

Comment 6 Ben Beasley 2024-05-16 12:26:59 UTC
https://release-monitoring.org/project/372390/

Comment 7 Fedora Update System 2024-05-16 17:12:21 UTC
FEDORA-2024-0229d5f628 (rust-async_http_range_reader-0.8.0-1.fc41) has been submitted as an update to Fedora 41.
https://bodhi.fedoraproject.org/updates/FEDORA-2024-0229d5f628

Comment 8 Fedora Update System 2024-05-16 17:53:31 UTC
FEDORA-2024-0229d5f628 (rust-async_http_range_reader-0.8.0-1.fc41) has been pushed to the Fedora 41 stable repository.
If problem still persists, please make note of it in this bug report.

Comment 9 Fedora Update System 2024-05-16 18:34:29 UTC
FEDORA-2024-c2abca435e (rust-async_http_range_reader-0.8.0-1.fc40, rust-bisection-0.1.0-2.fc40, and 5 more) has been submitted as an update to Fedora 40.
https://bodhi.fedoraproject.org/updates/FEDORA-2024-c2abca435e

Comment 10 Fedora Update System 2024-05-16 18:43:34 UTC
FEDORA-2024-0bfd6dabc2 (rust-async_http_range_reader-0.8.0-1.fc39, rust-bisection-0.1.0-2.fc39, and 5 more) has been submitted as an update to Fedora 39.
https://bodhi.fedoraproject.org/updates/FEDORA-2024-0bfd6dabc2

Comment 11 Fedora Update System 2024-05-17 01:36:51 UTC
FEDORA-2024-0bfd6dabc2 has been pushed to the Fedora 39 testing repository.
Soon you'll be able to install the update with the following command:
`sudo dnf install --enablerepo=updates-testing --refresh --advisory=FEDORA-2024-0bfd6dabc2 \*`
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2024-0bfd6dabc2

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

Comment 12 Fedora Update System 2024-05-17 02:09:58 UTC
FEDORA-2024-c2abca435e has been pushed to the Fedora 40 testing repository.
Soon you'll be able to install the update with the following command:
`sudo dnf install --enablerepo=updates-testing --refresh --advisory=FEDORA-2024-c2abca435e \*`
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2024-c2abca435e

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


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