Bug 2357906 (rust-uguid)

Summary: Review Request: rust-uguid - GUID (Globally Unique Identifier) no_std library
Product: [Fedora] Fedora Reporter: Gerd Hoffmann <kraxel>
Component: Package ReviewAssignee: Fabio Valentini <decathorpe>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: medium    
Version: rawhideCC: decathorpe, package-review
Target Milestone: ---Keywords: AutomationTriaged
Target Release: ---Flags: decathorpe: fedora-review+
Hardware: All   
OS: Linux   
URL: https://crates.io/crates/uguid
Whiteboard:
Fixed In Version: Doc Type: ---
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2025-04-21 01:51:31 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 2357908, 2357921, 2359085    
Attachments:
Description Flags
The .spec file difference from Copr build 8867903 to 8874604 none

Description Gerd Hoffmann 2025-04-07 14:05:01 UTC
Spec URL: https://download.copr.fedorainfracloud.org/results/kraxel/rust.misc/fedora-rawhide-x86_64/08818333-rust-uguid/rust-uguid.spec
SRPM URL: https://download.copr.fedorainfracloud.org/results/kraxel/rust.misc/fedora-rawhide-x86_64/08818333-rust-uguid/rust-uguid-2.2.0-1.fc43.src.rpm
Description: GUID (Globally Unique Identifier) no_std library
Fedora Account System Username: kraxel

This is a dependency of the uefi crate.

Comment 1 Fedora Review Service 2025-04-07 14:05:34 UTC
Cannot find any valid SRPM URL for this ticket. Common causes are:

- You didn't specify `SRPM URL: ...` in the ticket description
  or any of your comments
- The URL schema isn't HTTP or HTTPS
- The SRPM package linked in your URL doesn't match the package name specified
  in the ticket summary


---
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 Gerd Hoffmann 2025-04-07 14:06:35 UTC
fedora-review-service-build

Comment 3 Gerd Hoffmann 2025-04-07 14:56:38 UTC
[fedora-review-service-build]

Comment 4 Fedora Review Service 2025-04-07 15:03:53 UTC
Copr build:
https://copr.fedorainfracloud.org/coprs/build/8867903
(succeeded)

Review template:
https://download.copr.fedorainfracloud.org/results/@fedora-review/fedora-review-2357906-rust-uguid/fedora-rawhide-x86_64/08867903-rust-uguid/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 5 Fabio Valentini 2025-04-08 13:01:49 UTC
There's a version 2.2.1 out now, please update.

> BuildRequires:  crate(bytemuck/default)
> BuildRequires:  crate(bytemuck/derive)

These should be necessary, even even then, it would be wrong to depend on crates without specifying which *version* you need. Which is why listing BuildRequires for Rust crates manually like this is a MUST NOT. :)

https://docs.fedoraproject.org/en-US/packaging-guidelines/Rust/#_dynamically_generated_buildrequires_for_crate_dependencies

Did you add this to be able to compile / run all tests without errors?

In that case, you can add `-f bytemuck` (or possibly even `-f bytemuck,serde` to the `%cargo_generate_buildrequires`, `%cargo_build`, `%cargo_install`, and `%cargo_test` macros, which should have the desired effect.

You can cause rust2rpm to do this for you permanently with this rust2rpm.toml config file:

```
[features]
enable = [
    "bytemuck",
    "serde",
]
```

Additionally, when updating the spec file for these changes, use rpmautospec. It should be the default for all new Fedora packages. Not using it for Rust packages causes a lot of manual work on crate updates (preserving %changelog entries after re-running rust2rpm, etc.).

Comment 6 Gerd Hoffmann 2025-04-08 15:50:54 UTC
(In reply to Fabio Valentini from comment #5)
> There's a version 2.2.1 out now, please update.

> > BuildRequires:  crate(bytemuck/default)
> > BuildRequires:  crate(bytemuck/derive)

> Did you add this to be able to compile / run all tests without errors?

Tests failed due to tests for unstable compiler features
being run and not working on the stable compiler.

That problem seems to be fixed in 2.2.1

Comment 8 Fedora Review Service 2025-04-08 16:21:53 UTC
Created attachment 2083896 [details]
The .spec file difference from Copr build 8867903 to 8874604

Comment 9 Fedora Review Service 2025-04-08 16:21:55 UTC
Copr build:
https://copr.fedorainfracloud.org/coprs/build/8874604
(succeeded)

Review template:
https://download.copr.fedorainfracloud.org/results/@fedora-review/fedora-review-2357906-rust-uguid/fedora-rawhide-x86_64/08874604-rust-uguid/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 2025-04-09 11:07:11 UTC
> Tests failed due to tests for unstable compiler features
> being run and not working on the stable compiler.

I'm sorry, I'm not sure I understand. The tests *were* enabled in the spec file I reviewed?

Comment 11 Gerd Hoffmann 2025-04-10 10:02:35 UTC
(In reply to Fabio Valentini from comment #10)
> > Tests failed due to tests for unstable compiler features
> > being run and not working on the stable compiler.
> 
> I'm sorry, I'm not sure I understand. The tests *were* enabled in the spec
> file I reviewed?

I had used this rust2rpm.toml ...

   [requires]
   build = ["crate(bytemuck/default)", "crate(bytemuck/derive)"]

... which resulted in those dependencies beind added but also
turned off the 'unstable_tests' feature as side effect.

Have switched to use a [features] section instead in latest builds.

Comment 12 Fabio Valentini 2025-04-10 14:17:44 UTC
> I had used this rust2rpm.toml ...
> ... which resulted in those dependencies beind added but also
> turned off the 'unstable_tests' feature as side effect.

No, something else must have been going on -
because cargo simply does not support "if this dependency is available then enable this feature" type of things.
Feature flags are purely declarative and cannot be affected by the build environment.

===

Anyway, the package now looks good to me.

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 files are 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 (*NOT* pre-release filter): alpha;beta;rc;pre
  distro: Fedora
  Package: rust-$crate

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

Comment 13 Fedora Admin user for bugzilla script actions 2025-04-11 06:48:35 UTC
The Pagure repository was created at https://src.fedoraproject.org/rpms/rust-uguid

Comment 14 Fedora Update System 2025-04-11 07:51:31 UTC
FEDORA-2025-2024126625 (rust-uguid-2.2.1-3.fc42) has been submitted as an update to Fedora 42.
https://bodhi.fedoraproject.org/updates/FEDORA-2025-2024126625

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

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

Comment 16 Fedora Update System 2025-04-16 10:31:40 UTC
FEDORA-2025-339c95a85e (rust-uguid-2.2.1-3.fc41) has been submitted as an update to Fedora 41.
https://bodhi.fedoraproject.org/updates/FEDORA-2025-339c95a85e

Comment 17 Fedora Update System 2025-04-17 21:48:01 UTC
FEDORA-2025-339c95a85e has been pushed to the Fedora 41 testing repository.
Soon you'll be able to install the update with the following command:
`sudo dnf install --enablerepo=updates-testing --refresh --advisory=FEDORA-2025-339c95a85e \*`
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2025-339c95a85e

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

Comment 18 Fedora Update System 2025-04-21 01:51:31 UTC
FEDORA-2025-2024126625 (rust-uguid-2.2.1-3.fc42) has been pushed to the Fedora 42 stable repository.
If problem still persists, please make note of it in this bug report.

Comment 19 Fedora Update System 2025-04-25 01:48:42 UTC
FEDORA-2025-339c95a85e (rust-uguid-2.2.1-3.fc41) has been pushed to the Fedora 41 stable repository.
If problem still persists, please make note of it in this bug report.