Bug 2181025

Summary: Review Request: rust-linux-loader - Linux kernel image loading crate
Product: [Fedora] Fedora Reporter: fedora.dm0
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: ---Flags: decathorpe: fedora-review+
Target Release: ---   
Hardware: All   
OS: Linux   
URL: https://crates.io/crates/linux-loader
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2023-03-28 15:21:05 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: 2118751    
Bug Blocks: 2181039    

Description fedora.dm0 2023-03-22 21:39:51 UTC
Spec URL: https://github.com/dm0-/copr-firecracker/raw/fedora/rust-linux-loader.spec
SRPM URL: https://github.com/dm0-/copr-firecracker/raw/fedora/rust-linux-loader-0.8.1-1.fc37.src.rpm
Description: A Linux kernel image loading crate.
Fedora Account System Username: dm0

This is a dependency of Firecracker.  The spec is automatically generated, except to add a patch to drop criterion (for benchmarks, unused).  Note that the crate's defined license is not what was intended upstream, and they are still working on it: https://github.com/rust-vmm/linux-loader/issues/136

Comment 1 Jakub Kadlčík 2023-03-22 21:44:12 UTC
Copr build:
https://copr.fedorainfracloud.org/coprs/build/5696252
(failed)

Build log:
https://download.copr.fedorainfracloud.org/results/@fedora-review/fedora-review-2181025-rust-linux-loader/fedora-rawhide-x86_64/05696252-rust-linux-loader/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 2023-03-23 14:19:58 UTC
Package doesn't build in rawhide: The vm-memory v0.10.0 update is missing from rawhide.

Comment 3 fedora.dm0 2023-03-24 14:32:41 UTC
I've updated this package to drop CODEOWNERS and coverage_config* files and to flag additional files as documentation.

Comment 4 Fabio Valentini 2023-03-27 16:53:14 UTC
1. Please also add the "/doc/" directory to the list of excluded files instead of marking it as %doc.

We don't ship any documentation for Rust packages (we also don't run rustdoc, for example), since they never end up on either end users' or even packagers' machines, and are only installed in temporary build environments.

2. Please add a short comment about what the patch does, i.e. something like

# * drop files that are only useful for upstream development
# * prevent documentation from being installed
# * remove unused, benchmark-only criterion dev-dependency

Comment 5 fedora.dm0 2023-03-27 22:37:20 UTC
The spec and SRPM are updated to exclude docs and add comments.

Comment 6 Fabio Valentini 2023-03-28 14:22:09 UTC
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 (Apache-2.0 AND BSD-3-Clause) 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:

- add @rust-sig with "commit" access as package co-maintainer

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

- 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

- track package in koschei for all built branches

===

Looks good to me.

According to the ticket linked in the initial comment, it seems the license of this crate should be "(Apache-2.0 OR BSD-3-Clause) AND BSD-3-Clause" as well? Either way, the current license string is "Apache-2.0 AND BSD-3-Clause", which should be fine for now (just with "less details") - and license texts for both licenses are included as well.

Just include a comment with the link to the upstream issue in the spec file, so we don't forget about it.
# https://github.com/rust-vmm/linux-loader/issues/136

===

Note that the crate does not seem to build correctly across all architectures:
https://koji.fedoraproject.org/koji/taskinfo?taskID=99237932

- x86_64: builds, tests pass
- aarch64: builds, tests pass
- i686: builds, some tests fail (harmless failures in tests generated by bindgen)
- s390x: builds, some tests pass, some doctests fail to compile
- s390x: builds, some tests pass, some doctests fail to compile

If I remember correctly, you said that firecracker is only supported on x86_64 and aarch64?
If that is the case, I would add "ExclusiveArch: x86_64 aarch64" to this package, with a comment that firecracker only supports these architectures.

Comment 7 fedora.dm0 2023-03-28 14:48:01 UTC
Yes, sorry, this crate was supposed to have ExclusiveArch as well.  (The README says only x86_64 and aarch64 kernels are supported.)

Comment 8 Fedora Admin user for bugzilla script actions 2023-03-28 14:50:39 UTC
The Pagure repository was created at https://src.fedoraproject.org/rpms/rust-linux-loader

Comment 9 Fedora Update System 2023-03-28 15:19:27 UTC
FEDORA-2023-493feaccd3 has been submitted as an update to Fedora 39. https://bodhi.fedoraproject.org/updates/FEDORA-2023-493feaccd3

Comment 10 Fedora Update System 2023-03-28 15:21:05 UTC
FEDORA-2023-493feaccd3 has been pushed to the Fedora 39 stable repository.
If problem still persists, please make note of it in this bug report.

Comment 11 Fedora Update System 2023-03-28 19:44:21 UTC
FEDORA-2023-02106a6c13 has been submitted as an update to Fedora 38. https://bodhi.fedoraproject.org/updates/FEDORA-2023-02106a6c13

Comment 12 Fedora Update System 2023-03-28 19:44:24 UTC
FEDORA-2023-a4085b6295 has been submitted as an update to Fedora 37. https://bodhi.fedoraproject.org/updates/FEDORA-2023-a4085b6295

Comment 13 Fedora Update System 2023-03-29 02:02:24 UTC
FEDORA-2023-02106a6c13 has been pushed to the Fedora 38 testing repository.

You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2023-02106a6c13

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

Comment 14 Fedora Update System 2023-03-29 03:55:52 UTC
FEDORA-2023-a4085b6295 has been pushed to the Fedora 37 testing repository.
Soon you'll be able to install the update with the following command:
`sudo dnf install --enablerepo=updates-testing --refresh --advisory=FEDORA-2023-a4085b6295 \*`
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2023-a4085b6295

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

Comment 15 Fedora Update System 2023-03-30 01:19:44 UTC
FEDORA-2023-a4085b6295 has been pushed to the Fedora 37 stable repository.
If problem still persists, please make note of it in this bug report.

Comment 16 Fedora Update System 2023-03-31 01:33:53 UTC
FEDORA-2023-02106a6c13 has been pushed to the Fedora 38 stable repository.
If problem still persists, please make note of it in this bug report.