Bug 2256840 - Review Request: rust-loopdev-3 - Setup and control loop devices
Summary: Review Request: rust-loopdev-3 - Setup and control loop devices
Alias: None
Product: Fedora
Classification: Fedora
Component: Package Review
Version: rawhide
Hardware: All
OS: Linux
Target Milestone: ---
Assignee: Fabio Valentini
QA Contact: Fedora Extras Quality Assurance
URL: https://crates.io/crates/loopdev-3
Depends On:
TreeView+ depends on / blocked
Reported: 2024-01-04 17:27 UTC by Bryan Gurney
Modified: 2024-01-08 21:06 UTC (History)
2 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Last Closed: 2024-01-08 21:06:24 UTC
Type: ---
decathorpe: fedora-review+

Attachments (Terms of Use)
Results from "mock --rebuild" for rust-loopdev-3 with "%cargo_test" (7.53 KB, text/plain)
2024-01-04 18:34 UTC, Bryan Gurney
no flags Details

Description Bryan Gurney 2024-01-04 17:27:57 UTC
Spec URL: https://bgurney.fedorapeople.org/202401_fedorareview_rust-loopdev-3/rust-loopdev-3.spec
SRPM URL: https://bgurney.fedorapeople.org/202401_fedorareview_rust-loopdev-3/rust-loopdev-3-0.5.0-1.fc40.src.rpm
Description: Setup and control loop devices.
Fedora Account System Username: bgurney

Upstream crates.io source: https://crates.io/crates/loopdev-3
Upstream code repository: https://github.com/stratis-storage/loopdev-3

This package is intended to supersede rust-loopdev, which has not had a new code version since August 2022, as the upstream project is now de-facto unsupported.

Comment 1 Fedora Review Service 2024-01-04 17:36:48 UTC
Copr build:

Review template:

Please take a look if any issues were found.

This comment was created by the 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 2 Fabio Valentini 2024-01-04 17:58:03 UTC
Package looks good to me.
Can you elaborate (and add a comment above the %cargo_test line) why only unit tests are run ("%cargo_test -- --lib")?

Comment 3 Bryan Gurney 2024-01-04 18:34:56 UTC
Created attachment 2007209 [details]
Results from "mock --rebuild" for rust-loopdev-3 with "%cargo_test"

I've attached an excerpt of the mock build log output for the test run (i.e.: from "Executing(%check)", excluding the rustc compile lines, and showing the test run and failures).

This is what would occur if only "%cargo_test" executed in the %check phase.

Comment 4 Fabio Valentini 2024-01-04 18:48:59 UTC
Thanks! This looks like the integration tests can only be run with root privileges?
On the other hand, doctests compile and run fine.

You could do something like this to skip only the failing tests:

# integration tests can only be run with root privileges
%cargo_test -- --lib
%cargo_test -- --doc

Comment 5 Bryan Gurney 2024-01-04 19:24:13 UTC
That's true; to create loop devices, the user needs to have root privileges.

I had a spare F39 VM with packaged cargo installed, and after cloning the upstream source tree, and after fixing an "unable to find libclang" error from rustc by installing "clang-libs" I was able to successfully run "sudo cargo test --tests" on the system.

I added the "%check" section that you recommended, and it looks good; both the "lib" and "doc" tests now pass.

Updated files at the URLs above, with new sha512sums:

264d98e83102b9da65965c84f03f867b0e7a0c36d1df8ee0c448d07e7ee3e4de60e510b3f673fdf747f5ee74eaf5c05572ef7c7543558ca0b46903bb823fa15d  rust-loopdev-3.spec

d36b2dc079eef0f12adcc0f2ef23ccf27774e76622c69884f604472cc50ed219ab0e152603d7783e296feb968a331c856d68caa805db385519bdfb44ad2a4ccc  rust-loopdev-3-0.5.0-1.fc40.src.rpm

(should be the same source file as before; I see this from both crates.io, and what I had when I test-extracted the source RPM:)
150540183d47da65254b5698884794b2d2fde5eb9b1ccc4ebfa49bbba1476b02d0143a49f3acfb5e1feef5213bc470f39ae3d3b00dda185bb1e90053c75bb2e9  loopdev-3-0.5.0.crate

Comment 6 Bryan Gurney 2024-01-05 20:36:16 UTC
Hi; do the updated files look good to you?

Comment 7 Fabio Valentini 2024-01-06 20:36:54 UTC
Thank you, looks good to me!


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 (with valid and documented exceptions)
- latest version of the crate is packaged
- license matches upstream specification (MIT) and is acceptable for Fedora
- license file is included with %license in %files
- package complies with Rust Packaging Guidelines



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 8 Bryan Gurney 2024-01-08 16:34:08 UTC
OK, thanks.  I plan to run "fedpkg request-repo" for this soon, as well as "fedpkg request-branch" for f39 and f38.

Comment 9 Fedora Admin user for bugzilla script actions 2024-01-08 18:18:26 UTC
The Pagure repository was created at https://src.fedoraproject.org/rpms/rust-loopdev-3

Comment 10 Fedora Update System 2024-01-08 21:03:55 UTC
FEDORA-2024-30f6c903f8 has been submitted as an update to Fedora 40. https://bodhi.fedoraproject.org/updates/FEDORA-2024-30f6c903f8

Comment 11 Fedora Update System 2024-01-08 21:06:24 UTC
FEDORA-2024-30f6c903f8 has been pushed to the Fedora 40 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.