Bug 2421973
| Summary: | Review Request: stubble - UEFI kernel boot stub with auto-DTB selection | ||
|---|---|---|---|
| Product: | [Fedora] Fedora | Reporter: | Hans de Goede <hans> |
| Component: | Package Review | Assignee: | Neal Gompa <ngompa13> |
| Status: | CLOSED RAWHIDE | QA Contact: | Fedora Extras Quality Assurance <extras-qa> |
| Severity: | medium | Docs Contact: | |
| Priority: | medium | ||
| Version: | rawhide | CC: | ngompa13, package-review |
| Target Milestone: | --- | Keywords: | AutomationTriaged |
| Target Release: | --- | Flags: | ngompa13:
fedora-review+
|
| Hardware: | All | ||
| OS: | Linux | ||
| URL: | https://github.com/ubuntu/%{name}/ | ||
| Whiteboard: | |||
| Fixed In Version: | stubble-0.0~20251118gitb5e720e-2.fc44 | Doc Type: | --- |
| Doc Text: | Story Points: | --- | |
| Clone Of: | Environment: | ||
| Last Closed: | 2026-01-11 19:35:10 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: | |||
|
Description
Hans de Goede
2025-12-13 12:00:03 UTC
Copr build: https://copr.fedorainfracloud.org/coprs/build/9906074 (succeeded) Review template: https://download.copr.fedorainfracloud.org/results/@fedora-review/fedora-review-2421973-stubble/fedora-rawhide-x86_64/09906074-stubble/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. Taking this review. Thx Neal.
About the rpmlint warnings, these are all false positives. I've included a rpmlintrc file in the .src.rpm which filters these:
"""
# Dict does not know systemd and ukify
addFilter("E: spelling-error")
# This builds an UEFI binary, not a Linux ELF binary
addFilter("W: only-non-binary-in-usr-lib")
addFilter("E: no-binary")
addFilter("W: no-%check-section")
# Meh
addFilter("E: incorrect-fsf-address")
"""
I also realized I forgot to add an "Exclusive Arch: aarch64", which I believe should be there since this is not really useful elsewhere and it will only build on x86_64 and aarch64.
Updated spec and src.rpm:
Spec URL: https://fedorapeople.org/~jwrdegoede/stubble.spec
SRPM URL: https://fedorapeople.org/~jwrdegoede/stubble-0.0-2.20251118gitb5e720e.fc44.src.rpm
Initial spec review: > Version: 0.0 > Release: 2.%{commitdate}git%{shortcommit}%{?dist} This should use the newer SnapshotVersioning. Cf. https://docs.fedoraproject.org/en-US/packaging-guidelines/Versioning/#_snapshots It should look something like this in Version: "0.0~git%{commitdate}.%{shortcommit}" Then Release just looks normal. > # This builds an UEFI binary, not a Linux ELF binary, disable distro flags > unset CFLAGS > unset LDFLAGS This can be replaced with "%undefine _auto_set_build_flags" at the top of the spec. > make %{?_smp_mflags} Replace with "%make_build" > make install DESTDIR=$RPM_BUILD_ROOT Replace with "%make_install" > %{_prefix}/lib/%{name} > %{_datadir}/%{name} Please add a trailing slash so RPM tracks them as directories. We are also missing SBAT data, I think? But I'm not sure how that should be incorporated into this. Thank you for the review.
Ack for all suggested changes, I'll prepare a new version with these changes.
> We are also missing SBAT data, I think?
SBAT data would be passed to the ukify command in kernel.spec, as it will apply to the EFI binary generated by running ukify to pack the Stubble stub + DTBs + vmlinuz.efi together in a single new EFI binary.
Still a good question though. I'll see if I can borrow what the kernel.spec is doing for the kernel-uki-virt UKIs for this.
New version: Spec URL: https://fedorapeople.org/~jwrdegoede/stubble.spec SRPM URL: https://fedorapeople.org/~jwrdegoede/stubble-0.0~20251118gitb5e720e-1.fc44.src.rpm > URL: https://github.com/ubuntu/%{name}/ > Source0: https://github.com/ubuntu/%{name}/archive/%{commit}/%{name}-%{shortcommit}.tar.gz This can be simplified like so: URL: https://github.com/ubuntu/%{name} Source0: %{url}/archive/%{commit}/%{name}-%{shortcommit}.tar.gz > BuildRequires: make gcc python3-pyelftools Please put each BR on its own line, it makes it easier to deal with for git diffs > ExclusiveArch: aarch64 Please use "%{arm64}" instead of just aarch64. Thank you for the review. New version: Spec URL: https://fedorapeople.org/~jwrdegoede/stubble.spec SRPM URL: https://fedorapeople.org/~jwrdegoede/stubble-0.0~20251118gitb5e720e-2.fc44.src.rpm Changes: * Sun Jan 11 2026 Hans de Goede <johannes.goede.com> - 0.0~20251118gitb5e720e-2 - Use %%{url} for Source0 - Use %%{arm64} for ExclusiveArch - Use 1 line per BuildRequires > %autosetup -p 1 -n %{name}-%{commit}
Nit: A nice simplification would be to use "%autosetup -C -p1"
Review notes: * Package follows Fedora Packaging Guidelines * Package builds and installs * Package licensing is correct and license data is installed correctly * No serious issues from rpmlint PACKAGE APPROVED. The Pagure repository was created at https://src.fedoraproject.org/rpms/stubble Thank you. I've fixed the nitpick when importing the package. Imported and build for rawhide, closing. |