public inbox for git-commits@fedoraproject.org
help / color / mirror / Atom feed
From: Pragyan Poudyal <pragyanpoudyal41999@gmail.com>
To: git-commits@fedoraproject.org
Subject: [rpms/systemd-boot] rawhide: Hardlink binary as /usr/lib/efi/systemd-boot/<evr>/EFI/fedora/grub<efi-arch>.efi
Date: Tue, 11 Aug 2026 09:47:32 GMT	[thread overview]
Message-ID: <178644165288.1.144598149717033692.rpms-systemd-boot-e4ce7b433bc1@fedoraproject.org> (raw)

            A new commit has been pushed.

            Repo   : rpms/systemd-boot
            Branch : rawhide
            Commit : e4ce7b433bc1e0afb0f0c77145d8cca6ba773ef3
            Author : Pragyan Poudyal <pragyanpoudyal41999@gmail.com>
            Date   : 2026-08-11T11:41:20+02:00
            Stats  : +8/-0 in 1 file(s)
            URL    : https://src.fedoraproject.org/rpms/systemd-boot/c/e4ce7b433bc1e0afb0f0c77145d8cca6ba773ef3?branch=rawhide

            Log:
            Hardlink binary as /usr/lib/efi/systemd-boot/<evr>/EFI/fedora/grub<efi-arch>.efi

We want to do this for compatibility with bootupd
(https://github.com/coreos/bootupd) which expects bootloaders to be
present in '/usr/lib/efi/<name>/<evr>/EFI/fedora'.

The new name is 'grub<efi-arch>.efi', as that's the name baked into
shim and is required for secure boot. We could update efivars to use a
different name, but that's not possible when building generic disk
images.

The reasoning behind hardlinking and not symlinking is due to fact
that bootupd uses openat syscalls to stay confined within the "root"
dir. A symlink (relative or absolute) would escape the root directory
of '/usr/lib/efi' resulting in an error.

Signed-off-by: Pragyan Poudyal <pragyanpoudyal41999@gmail.com>

---
diff --git a/systemd-boot.spec b/systemd-boot.spec
index c90204e..3fa72f7 100644
--- a/systemd-boot.spec
+++ b/systemd-boot.spec
@@ -67,6 +67,10 @@ cp -a %{_prefix}/lib/systemd/boot/efi/linux%{efi_arch}.efi.stub \
 cp -a %{_prefix}/lib/systemd/boot/efi/addon%{efi_arch}.efi.stub \
    %{buildroot}%{_prefix}/lib/systemd/boot/efi/addon%{efi_arch}.efi.stub.alt
 
+install -dm 0755 %{buildroot}%{_prefix}/lib/efi/systemd-boot/%{version}-%{release}
+ln %{buildroot}%{_prefix}/lib/systemd/boot/efi/systemd-boot%{efi_arch}.efi.signed \
+   %{buildroot}%{_prefix}/lib/efi/systemd-boot/%{version}-%{release}/grub%{efi_arch}.efi
+
 install -m0644 -Dt %{buildroot}%{_licensedir}/%{name}/ %{_datadir}/licenses/systemd/LICENSE.LGPL2.1
 
 %postun
@@ -84,6 +88,10 @@ fi
 %attr(0644,-,-) %{_prefix}/lib/systemd/boot/efi/systemd-boot%{efi_arch}.efi.signed
 %{_prefix}/lib/systemd/boot/efi/linux%{efi_arch}.efi.stub.alt
 %{_prefix}/lib/systemd/boot/efi/addon%{efi_arch}.efi.stub.alt
+%dir %{_prefix}/lib/efi
+%dir %{_prefix}/lib/efi/systemd-boot
+%dir %{_prefix}/lib/efi/systemd-boot/%{version}-%{release}
+%{_prefix}/lib/efi/systemd-boot/%{version}-%{release}/grub%{efi_arch}.efi
 
 # Man pages are provided by systemd-udev subpackage.
 # If we copied them to this package, we'd need to either rename them

                 reply	other threads:[~2026-08-11  9:47 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=178644165288.1.144598149717033692.rpms-systemd-boot-e4ce7b433bc1@fedoraproject.org \
    --to=pragyanpoudyal41999@gmail.com \
    --cc=git-commits@fedoraproject.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox