Bug 2310497 - Review Request: rust-rdrand - Rust library for x86 RDRAND/RDSEED instructions
Summary: Review Request: rust-rdrand - Rust library for x86 RDRAND/RDSEED instructions
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Fedora
Classification: Fedora
Component: Package Review
Version: rawhide
Hardware: All
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Fabio Valentini
QA Contact: Fedora Extras Quality Assurance
URL: https://crates.io/crates/rdrand
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2024-09-06 20:15 UTC by Tyler Fanelli
Modified: 2024-10-24 19:10 UTC (History)
2 users (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed: 2024-10-24 19:10:25 UTC
Type: ---
Embargoed:
decathorpe: fedora-review+


Attachments (Terms of Use)

Description Tyler Fanelli 2024-09-06 20:15:47 UTC
Spec URL: https://raw.githubusercontent.com/tylerfanelli/rust-rdrand-f42/main/rust-rdrand.spec
SRPM URL: https://github.com/tylerfanelli/rust-rdrand-f42/raw/main/rust-rdrand-0.8.3-1.fc42.src.rpm
Description: Rust library for x86 RDRAND/RDSEED instructions
Fedora Account System Username: tfanelli

Comment 1 Fedora Review Service 2024-09-06 20:17:41 UTC
Copr build:
https://copr.fedorainfracloud.org/coprs/build/7990258
(failed)

Build log:
https://download.copr.fedorainfracloud.org/results/@fedora-review/fedora-review-2310497-rust-rdrand/fedora-rawhide-x86_64/07990258-rust-rdrand/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 2 Fabio Valentini 2024-09-12 22:14:02 UTC
This doesn't build due to a missing dependency (criterion ^0.3).

However, this is a benchmark-only dependency, you can patch it out (with "rust2rpm -p") without negative consequences, since benchmarks are neither compiled nor run during package builds.

Comment 3 Tyler Fanelli 2024-09-30 03:05:43 UTC
Spec URL: https://raw.githubusercontent.com/tylerfanelli/rust-rdrand-f42/refs/heads/main/rust-rdrand.spec
SRPM URL: https://github.com/tylerfanelli/rust-rdrand-f42/raw/refs/heads/main/rust-rdrand-0.8.3-1.fc42.src.rpm
Description: Rust library for x86 RDRAND/RDSEED instructions
Fedora Account System Username: tfanelli

Comment 4 Fedora Review Service 2024-09-30 05:58:00 UTC
Copr build:
https://copr.fedorainfracloud.org/coprs/build/8091462
(failed)

Build log:
https://download.copr.fedorainfracloud.org/results/@fedora-review/fedora-review-2310497-rust-rdrand/fedora-rawhide-x86_64/08091462-rust-rdrand/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 Tyler Fanelli 2024-10-01 03:01:26 UTC
(In reply to Fabio Valentini from comment #2)
> This doesn't build due to a missing dependency (criterion ^0.3).
> 
> However, this is a benchmark-only dependency, you can patch it out (with
> "rust2rpm -p") without negative consequences, since benchmarks are neither
> compiled nor run during package builds.

Hi Fabio,

I ran "rust2rpm -p" to generate the spec file posted, and "fedpkg --release f42 mockbuild" to generate the RPM. However, with the latest build log I'm met with:

Problem: nothing provides requested (crate(criterion/default) >= 0.3.0 with crate(criterion/default) < 0.4.0~)

Am I generating the RPM wrongly?

Comment 6 Fabio Valentini 2024-10-08 14:52:17 UTC
It looks like you used the wrong version of the .spec file. It doesn't contain the patch.

Comment 7 Tyler Fanelli 2024-10-14 02:40:46 UTC
Spec URL: https://raw.githubusercontent.com/tylerfanelli/rust-rdrand-f42/refs/heads/main/rust-rdrand.spec
SRPM URL: https://github.com/tylerfanelli/rust-rdrand-f42/raw/refs/heads/main/rust-rdrand-0.8.3-1.fc42.src.rpm
Description: Rust library for x86 RDRAND/RDSEED instructions
Fedora Account System Username: tfanelli

Comment 8 Tyler Fanelli 2024-10-14 03:10:11 UTC
Successful with patched spec file. Koji build: https://koji.fedoraproject.org/koji/taskinfo?taskID=124802928

Comment 9 Tyler Fanelli 2024-10-15 01:33:43 UTC
Spec URL: https://raw.githubusercontent.com/tylerfanelli/rust-rdrand-f42/refs/heads/main/rust-rdrand.spec
SRPM URL: https://github.com/tylerfanelli/rust-rdrand-f42/raw/refs/heads/main/rust-rdrand-0.8.3-1.fc42.src.rpm
Description: Rust library for x86 RDRAND/RDSEED instructions
Fedora Account System Username: tfanelli

Comment 10 Tyler Fanelli 2024-10-15 17:52:26 UTC
Hm, it seems the Fedora Review Service is not rebuilding the rpm now? Fabio, is there a way to manually enable the service to rebuild?

Comment 11 Fabio Valentini 2024-10-15 18:49:28 UTC
You can follow the instructions in Comment#1, but it looks like the service is just having an outage.

The review posted by the bot isn't a requirement though, it's just a nice-to-have. I'll continue with the review regardless.

Comment 12 Fabio Valentini 2024-10-15 18:55:36 UTC
> ExclusiveArch: x86_64

This is the correct way to handle architecture-specific stuff for *applications*, but for Rust crates, they're a bit different ...

Due to the way repositories are set up in koji, noarch packages are present in repos for *all* architectures.
And since Rust library packages (rust-*-devel) *are* noarch packages, they need to have satisfiable dependencies regardless of architecture.

In this case, I would recommend to use a rust2rpm.toml config file (see rust2rpm.toml(5) man page) with these contents, and to regenerate the package:

```
[package]
supported-arches = ["x86_64"]
```

That setting causes rust2rpm to generate a .spec file that builds the library on all architectures, but only actually runs "cargo build" and "cargo test" on supported architectures. This works around the problem of architecture-independent noarch packages in fedora infrastructure, and avoids creating broken dependencies.

Comment 13 Tyler Fanelli 2024-10-16 16:56:26 UTC
Thanks, I've made the recommended changes.

Successful koji build: https://koji.fedoraproject.org/koji/taskinfo?taskID=124892123

Spec URL: https://raw.githubusercontent.com/tylerfanelli/rust-rdrand-f42/refs/heads/main/rust-rdrand.spec
SRPM URL: https://github.com/tylerfanelli/rust-rdrand-f42/raw/refs/heads/main/rust-rdrand-0.8.3-2.fc42.src.rpm
Description: Rust library for x86 RDRAND/RDSEED instructions
Fedora Account System Username: tfanelli

Comment 14 Fedora Review Service 2024-10-16 17:04:29 UTC
Copr build:
https://copr.fedorainfracloud.org/coprs/build/8148532
(succeeded)

Review template:
https://download.copr.fedorainfracloud.org/results/@fedora-review/fedora-review-2310497-rust-rdrand/fedora-rawhide-x86_64/08148532-rust-rdrand/fedora-review/review.txt

Found issues:

- Upstream MD5sum check error, diff is in /var/lib/copr-rpmbuild/results/rust-rdrand/diff.txt
  Read more: https://docs.fedoraproject.org/en-US/packaging-guidelines/SourceURL/

Please know that there can be false-positives.

---
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 15 Fabio Valentini 2024-10-16 20:12:16 UTC
Looks good to me now, thank you!

You might want to shorten the generated Summary, it's too long (>80 characters).
Something like this should be OK: "Random number generator based on rdrand and rdseed instructions"

You can also set this in the rust2rpm.toml config file so it's not lost when updating / regenerating the package.

===

Package was generated with rust2rpm, simplifying the review.

✅ package contains only permissible content
✅ 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 (*NOT* pre-release) 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 16 Fedora Admin user for bugzilla script actions 2024-10-24 18:40:41 UTC
The Pagure repository was created at https://src.fedoraproject.org/rpms/rust-rdrand

Comment 17 Fedora Update System 2024-10-24 19:02:48 UTC
FEDORA-2024-615dc0a95f (rust-rdrand-0.8.3-1.fc42) has been submitted as an update to Fedora 42.
https://bodhi.fedoraproject.org/updates/FEDORA-2024-615dc0a95f

Comment 18 Fedora Update System 2024-10-24 19:10:25 UTC
FEDORA-2024-615dc0a95f (rust-rdrand-0.8.3-1.fc42) has been pushed to the Fedora 42 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.