Bug 2181025 - Review Request: rust-linux-loader - Linux kernel image loading crate
Summary: Review Request: rust-linux-loader - Linux kernel image loading crate
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/linux-loader
Whiteboard:
Depends On: 2118751
Blocks: 2181039
TreeView+ depends on / blocked
 
Reported: 2023-03-22 21:39 UTC by fedora.dm0
Modified: 2023-03-31 01:33 UTC (History)
2 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2023-03-28 15:21:05 UTC
Type: ---
Embargoed:
decathorpe: fedora-review+


Attachments (Terms of Use)

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.


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