Add systemd-boot-efi multiarch package

Allows EFI binaries for different architectures to be co-installed.
Useful when the EFI has a different architecture, or to manipulate
images. The userspace tooling doesn't need to match the EFI binaries.

Also allows to reduce the number of packages and dependencies
needed when i386 is not a full architecture, but a subset for libraries
and for EFI support.
This commit is contained in:
Luca Boccassi 2022-05-26 02:04:25 +01:00 committed by Michael Biebl
parent 2a739074d3
commit dbca9437ea
5 changed files with 29 additions and 10 deletions

20
debian/control vendored
View File

@ -466,12 +466,30 @@ Package: systemd-boot
Architecture: amd64 i386 arm64 armhf
Depends: ${shlibs:Depends},
${misc:Depends},
systemd-boot-efi (= ${binary:Version}),
Recommends: efibootmgr,
Breaks: systemd (<< 251.2-2~)
Replaces: systemd (<< 251.2-2~)
Description: simple UEFI boot manager
Description: simple UEFI boot manager - tools and services
systemd-boot (short: sd-boot) is a simple UEFI boot manager. It provides a
textual menu to select the entry to boot and an editor for the kernel command
line. It supports systems with UEFI firmware only.
.
Installing systemd-boot will not automatically switch your boot loader.
.
This package contains various tools and services to manage systems using
systemd-boot.
Package: systemd-boot-efi
Architecture: amd64 i386 arm64 armhf
Multi-Arch: same
Pre-Depends: ${misc:Pre-Depends},
Depends: ${misc:Depends},
Breaks: systemd (<< 251.2-2~)
Replaces: systemd (<< 251.2-2~)
Description: Simple UEFI boot manager - EFI binaries
systemd-boot (short: sd-boot) is a simple UEFI boot manager. It provides a
textual menu to select the entry to boot and an editor for the kernel command
line. It supports systems with UEFI firmware only.
.
This package contains the EFI binaries.

2
debian/systemd-boot-efi.install vendored Normal file
View File

@ -0,0 +1,2 @@
usr/lib/systemd/boot/
usr/share/man/man7/*.efi.stub.7

View File

@ -0,0 +1,8 @@
# Lintian is really bad at associating manpages
systemd-boot-efi: spare-manual-page
# Not a shared library
systemd-boot-efi: shared-library-lacks-prerequisites
# PE-COFF EFI binaries, false positives
systemd-boot-efi: executable-not-elf-or-script
# These are EFI binaries, not libraries, they all ship in /usr/lib/systemd/boot
systemd-boot-efi: arch-dependent-file-not-in-arch-specific-directory

View File

@ -5,13 +5,9 @@ lib/systemd/system/systemd-bless-boot.service
lib/systemd/system/systemd-boot-system-token.service
lib/systemd/system/systemd-boot-update.service
usr/bin/bootctl
usr/lib/systemd/boot/
usr/share/bash-completion/completions/bootctl
usr/share/man/man1/bootctl.1
usr/share/man/man5/loader.conf.5
usr/share/man/man7/linuxaa64.efi.stub.7
usr/share/man/man7/linuxia32.efi.stub.7
usr/share/man/man7/linuxx64.efi.stub.7
usr/share/man/man7/sd-boot.7
usr/share/man/man7/systemd-boot.7
usr/share/man/man8/systemd-bless-boot.8

View File

@ -1,8 +1,3 @@
# Lintian is really bad at associating manpages
systemd-boot: spare-manual-page
systemd-boot: package-supports-alternative-init-but-no-init.d-script
# Not a shared library
systemd-boot: shared-library-lacks-prerequisites usr/lib/systemd/boot/efi/linuxx64.elf.stub
# PE-COFF EFI binaries, false positives
systemd-boot: executable-not-elf-or-script usr/lib/systemd/boot/efi/linuxx64.efi.stub
systemd-boot: executable-not-elf-or-script usr/lib/systemd/boot/efi/systemd-bootx64.efi