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
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.