Bug 2238483 - Review Request: rust-tokio-serde - Send and receive Serde encodable types over the network using Tokio
Summary: Review Request: rust-tokio-serde - Send and receive Serde encodable types ove...
Keywords:
Status: CLOSED RAWHIDE
Alias: None
Product: Fedora
Classification: Fedora
Component: Package Review
Version: rawhide
Hardware: Unspecified
OS: Linux
unspecified
medium
Target Milestone: ---
Assignee: Fabio Valentini
QA Contact: Fedora Extras Quality Assurance
URL: https://crates.io/crates/tokio-serde
Whiteboard:
Depends On: 2250569
Blocks:
TreeView+ depends on / blocked
 
Reported: 2023-09-12 06:41 UTC by Daiki Ueno
Modified: 2023-12-07 09:26 UTC (History)
2 users (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed: 2023-12-07 09:26:19 UTC
Type: ---
Embargoed:
decathorpe: fedora-review+


Attachments (Terms of Use)
The .spec file difference from Copr build 6707087 to 6715055 (1.37 KB, patch)
2023-12-01 23:37 UTC, Fedora Review Service
no flags Details | Diff

Description Daiki Ueno 2023-09-12 06:41:56 UTC
Spec file: https://ueno.fedorapeople.org/rust-tokio-serde/rust-tokio-serde.spec
SRPM: https://ueno.fedorapeople.org/rust-tokio-serde/rust-tokio-serde-0.8.0-1.fc38.src.rpm
Description:
Send and receive Serde encodable types over the network using Tokio.
This library is used as a building block for serialization format
specific libraries.

Reproducible: Always

Comment 1 Fabio Valentini 2023-09-12 14:34:05 UTC
Some of the non-default features are not installable due to missing / mismatched dependencies:

 Problem 1: conflicting requests
  - nothing provides (crate(educe/Debug) >= 0.4.0 with crate(educe/Debug) < 0.5.0~) needed by rust-tokio-serde+bincode-devel-0.8.0-1.fc40.noarch from @commandline
 Problem 2: conflicting requests
  - nothing provides (crate(educe/Debug) >= 0.4.0 with crate(educe/Debug) < 0.5.0~) needed by rust-tokio-serde+cbor-devel-0.8.0-1.fc40.noarch from @commandline
  - nothing provides (crate(educe/Default) >= 0.4.0 with crate(educe/Default) < 0.5.0~) needed by rust-tokio-serde+cbor-devel-0.8.0-1.fc40.noarch from @commandline
 Problem 3: conflicting requests
  - nothing provides (crate(educe) >= 0.4.0 with crate(educe) < 0.5.0~) needed by rust-tokio-serde+educe-devel-0.8.0-1.fc40.noarch from @commandline
 Problem 4: conflicting requests
  - nothing provides (crate(educe/Debug) >= 0.4.0 with crate(educe/Debug) < 0.5.0~) needed by rust-tokio-serde+json-devel-0.8.0-1.fc40.noarch from @commandline
  - nothing provides (crate(educe/Default) >= 0.4.0 with crate(educe/Default) < 0.5.0~) needed by rust-tokio-serde+json-devel-0.8.0-1.fc40.noarch from @commandline
 Problem 5: conflicting requests
  - nothing provides (crate(educe/Debug) >= 0.4.0 with crate(educe/Debug) < 0.5.0~) needed by rust-tokio-serde+messagepack-devel-0.8.0-1.fc40.noarch from @commandline
  - nothing provides (crate(educe/Default) >= 0.4.0 with crate(educe/Default) < 0.5.0~) needed by rust-tokio-serde+messagepack-devel-0.8.0-1.fc40.noarch from @commandline
 Problem 6: conflicting requests
  - nothing provides (crate(rmp-serde/default) >= 0.15.0 with crate(rmp-serde/default) < 0.16.0~) needed by rust-tokio-serde+rmp-serde-devel-0.8.0-1.fc40.noarch from @commandline


The "educe" crate is not packaged for Fedora, and rmp-serde is too new for this crate (at v1.1.2 in Fedora).
Looking at the large number of features / formats that is affected, I would recommend to package "educe" and to try bumping the rmp-serde dependency with a Cargo.toml patch (i.e. generated by "rust2rpm -p").

===

Side note: Potential issues non-default features like these are why I recommend always running local mock test builds for Rust crates with "--postinstall", as it will raise such issues immediately after a successful build.

Comment 2 Daiki Ueno 2023-11-20 00:13:31 UTC
Thank you Fabio for the suggestions, and sorry for taking long to get back to you.  I've filed a review request for rust-educe (bug 2250569) and its dependencies (bug 2250572 and bug 2250574), as well as updated the SRPM with the metadata patch for rmp-serde:
https://ueno.fedorapeople.org/rust-tokio-serde/rust-tokio-serde-0.8.0-1.fc40.src.rpm

With those changes, I confirm the mock build succeeds.  Could you take a second look?

Comment 3 Fedora Review Service 2023-11-20 16:28:34 UTC
Copr build:
https://copr.fedorainfracloud.org/coprs/build/6670542
(failed)

Build log:
https://download.copr.fedorainfracloud.org/results/@fedora-review/fedora-review-2238483-rust-tokio-serde/srpm-builds/06670542/builder-live.log.gz

Please make sure the package builds successfully at least for Fedora Rawhide.

- If the build failed for unrelated reasons (e.g. temporary network
  unavailability), please ignore it.
- If the build failed because of missing BuildRequires, please make sure they
  are listed in the "Depends On" field


---
This comment was created by the fedora-review-service
https://github.com/FrostyX/fedora-review-service

If you want to trigger a new Copr build, add a comment containing new
Spec and SRPM URLs or [fedora-review-service-build] string.

Comment 5 Fedora Review Service 2023-11-30 02:20:03 UTC
Copr build:
https://copr.fedorainfracloud.org/coprs/build/6707087
(succeeded)

Review template:
https://download.copr.fedorainfracloud.org/results/@fedora-review/fedora-review-2238483-rust-tokio-serde/fedora-rawhide-x86_64/06707087-rust-tokio-serde/fedora-review/review.txt

Please take a look if any issues were found.


---
This comment was created by the fedora-review-service
https://github.com/FrostyX/fedora-review-service

If you want to trigger a new Copr build, add a comment containing new
Spec and SRPM URLs or [fedora-review-service-build] string.

Comment 6 Fabio Valentini 2023-11-30 19:28:45 UTC
The package is still not installable:

Error: 
 Problem 1: conflicting requests
  - nothing provides (crate(rmp-serde/default) >= 0.15.0 with crate(rmp-serde/default) < 0.16.0~) needed by rust-tokio-serde+rmp-serde-devel-0.8.0-1.fc40.noarch from @commandline
 Problem 2: package rust-tokio-serde+messagepack-devel-0.8.0-1.fc40.noarch from @commandline requires crate(tokio-serde/rmp-serde) = 0.8.0, but none of the providers can be installed
  - conflicting requests
  - nothing provides (crate(rmp-serde/default) >= 0.15.0 with crate(rmp-serde/default) < 0.16.0~) needed by rust-tokio-serde+rmp-serde-devel-0.8.0-1.fc40.noarch from @commandline

You will need to patch Cargo.toml (with "rust2rpm -p") to raise the dependency on rmp-serde from 0.15 to 1.0.

Comment 7 Daiki Ueno 2023-12-01 23:26:10 UTC
I'm not sure why that is happening; the above SRPM includes tokio-serde-fix-metadata.diff with the content:

  --- tokio-serde-0.8.0/Cargo.toml	2020-12-24T05:41:58+00:00
  +++ tokio-serde-0.8.0/Cargo.toml	2023-11-19T23:34:02.215439+00:00
  @@ -57,7 +57,7 @@
   version = "1"
   
   [dependencies.rmp-serde]
  -version = "0.15"
  +version = "1.1.2"
   optional = true
   
   [dependencies.serde]

and build.log from mockbuild on my environment contains:

  Requires: (crate(rmp-serde/default) >= 1.1.2 with crate(rmp-serde/default) < 2.0.0~) cargo crate(tokio-serde) = 0.8.0

however, indeed, the copr build above doesn't seem to apply the patch.  Let me try again with a newly created SRPM below.

Spec URL: https://ueno.fedorapeople.org/rust-tokio-serde/rust-tokio-serde.spec
SRPM URL: https://ueno.fedorapeople.org/rust-tokio-serde/rust-tokio-serde-0.8.0-1.fc40.src.rpm

[fedora-review-service-build]

Comment 8 Fedora Review Service 2023-12-01 23:37:36 UTC
Created attachment 2002424 [details]
The .spec file difference from Copr build 6707087 to 6715055

Comment 9 Fedora Review Service 2023-12-01 23:37:38 UTC
Copr build:
https://copr.fedorainfracloud.org/coprs/build/6715055
(succeeded)

Review template:
https://download.copr.fedorainfracloud.org/results/@fedora-review/fedora-review-2238483-rust-tokio-serde/fedora-rawhide-x86_64/06715055-rust-tokio-serde/fedora-review/review.txt

Please take a look if any issues were found.


---
This comment was created by the fedora-review-service
https://github.com/FrostyX/fedora-review-service

If you want to trigger a new Copr build, add a comment containing new
Spec and SRPM URLs or [fedora-review-service-build] string.

Comment 10 Fabio Valentini 2023-12-04 15:24:31 UTC
Thank you, looks good to me now.

===

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
- 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 11 Daiki Ueno 2023-12-07 09:26:19 UTC
Thank you for the review! The package has been imported and built in rawhide:
https://bodhi.fedoraproject.org/updates/FEDORA-2023-24a805b127


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