Bug 2421973 - Review Request: stubble - UEFI kernel boot stub with auto-DTB selection
Summary: Review Request: stubble - UEFI kernel boot stub with auto-DTB selection
Keywords:
Status: CLOSED RAWHIDE
Alias: None
Product: Fedora
Classification: Fedora
Component: Package Review
Version: rawhide
Hardware: All
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Neal Gompa
QA Contact: Fedora Extras Quality Assurance
URL: https://github.com/ubuntu/%{name}/
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2025-12-13 12:00 UTC by Hans de Goede
Modified: 2026-01-11 19:35 UTC (History)
2 users (show)

Fixed In Version: stubble-0.0~20251118gitb5e720e-2.fc44
Clone Of:
Environment:
Last Closed: 2026-01-11 19:35:10 UTC
Type: ---
Embargoed:
ngompa13: fedora-review+


Attachments (Terms of Use)

Description Hans de Goede 2025-12-13 12:00:03 UTC
Spec URL: https://fedorapeople.org/~jwrdegoede/stubble.spec
SRPM URL: https://fedorapeople.org/~jwrdegoede/stubble-0.0-1.20251118gitb5e720e.fc44.src.rpm
Description:

A minimal UEFI kernel boot stub that serves a single purpose:

Loading machine specific device trees embedded within a kernel image.

stubble is compatible with systemd-stub(7) and ukify(1).

Also see: https://fedoraproject.org/wiki/Changes/Automatic_DTB_selection_for_aarch64_EFI_systems

Fedora Account System Username: jwrdegoede

Comment 1 Fedora Review Service 2025-12-13 12:02:59 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.

Comment 2 Neal Gompa 2025-12-13 12:14:09 UTC
Taking this review.

Comment 3 Hans de Goede 2025-12-13 12:19:15 UTC
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

Comment 4 Neal Gompa 2025-12-13 13:07:24 UTC
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.

Comment 5 Neal Gompa 2025-12-13 13:26:55 UTC
We are also missing SBAT data, I think? But I'm not sure how that should be incorporated into this.

Comment 6 Hans de Goede 2025-12-14 14:22:42 UTC
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.

Comment 8 Neal Gompa 2026-01-06 19:50:25 UTC
> 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.

Comment 9 Hans de Goede 2026-01-11 16:50:07 UTC
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

Comment 10 Neal Gompa 2026-01-11 18:23:32 UTC
> %autosetup -p 1 -n %{name}-%{commit}

Nit: A nice simplification would be to use "%autosetup -C -p1"

Comment 11 Neal Gompa 2026-01-11 18:24:25 UTC
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.

Comment 12 Fedora Admin user for bugzilla script actions 2026-01-11 18:43:03 UTC
The Pagure repository was created at https://src.fedoraproject.org/rpms/stubble

Comment 13 Hans de Goede 2026-01-11 19:35:10 UTC
Thank you. I've fixed the nitpick when importing the package.

Imported and build for rawhide, closing.


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