From 74b6393ed73774f45def5e912e38c46ca3188923f29692159a4a67da44b1e92d Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Mon, 3 Jul 2023 15:17:58 +0000 Subject: [PATCH] - Split off sd-boot into separate "systemd-boot" subpackage OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1407 --- files.udev | 10 ++++++++++ files.uefi-boot | 12 ------------ systemd.changes | 5 +++++ systemd.spec | 37 ++++++++++++++++++++++++++++++++----- 4 files changed, 47 insertions(+), 17 deletions(-) diff --git a/files.udev b/files.udev index ed8b2918..6c8c3cc8 100644 --- a/files.udev +++ b/files.udev @@ -6,6 +6,8 @@ %if %{without bootstrap} %dir %{_libdir}/cryptsetup %dir %{_modulesloaddir} +%dir %{_prefix}/lib/kernel +%dir %{_prefix}/lib/kernel/install.d %endif %dir %{_prefix}/lib/udev %if %{without bootstrap} @@ -23,16 +25,19 @@ %ghost %attr(644, root, root) %{_prefix}/lib/udev/compat-symlink-generation %ghost %{_localstatedir}/lib/systemd/backlight %if %{without bootstrap} +%{_bindir}/kernel-install %{_bindir}/systemd-cryptenroll %endif %{_bindir}/systemd-hwdb %{_bindir}/udevadm %if %{without bootstrap} +%{_datadir}/bash-completion/completions/kernel-install %{_datadir}/bash-completion/completions/systemd-cryptenroll %{_datadir}/bash-completion/completions/udevadm %endif %{_datadir}/pkgconfig/udev.pc %if %{without bootstrap} +%{_datadir}/zsh/site-functions/_kernel-install %{_datadir}/zsh/site-functions/_udevadm %endif %if %{without bootstrap} @@ -49,6 +54,7 @@ %{_mandir}/man5/veritytab.5.gz %{_mandir}/man7/hwdb.7.gz %{_mandir}/man7/udev.7.gz +%{_mandir}/man8/kernel-install.8.gz %{_mandir}/man8/systemd-backlight.8.gz %{_mandir}/man8/systemd-backlight@.service.8.gz %{_mandir}/man8/systemd-cryptsetup-generator.8.gz @@ -90,6 +96,10 @@ %{_mandir}/man8/systemd-volatile-root.8.gz %{_mandir}/man8/systemd-volatile-root.service.8.gz %{_mandir}/man8/udevadm.8.gz +%{_prefix}/lib/kernel/install.conf +%{_prefix}/lib/kernel/install.d/50-depmod.install +%{_prefix}/lib/kernel/install.d/90-loaderentry.install +%{_prefix}/lib/kernel/install.d/90-uki-copy.install %endif %{_prefix}/lib/udev/ata_id %{_prefix}/lib/udev/cdrom_id diff --git a/files.uefi-boot b/files.uefi-boot index 7c50c27a..5c23e18b 100644 --- a/files.uefi-boot +++ b/files.uefi-boot @@ -1,18 +1,12 @@ # # Please keep the list sorted (with `LC_ALL=C sort`). # -%if %{with sd_boot} -%dir %{_prefix}/lib/kernel -%dir %{_prefix}/lib/kernel/install.d %dir %{_systemd_util_dir}/boot %dir %{_systemd_util_dir}/boot/efi %{_bindir}/bootctl -%{_bindir}/kernel-install %if %{without bootstrap} %{_datadir}/bash-completion/completions/bootctl -%{_datadir}/bash-completion/completions/kernel-install %{_datadir}/zsh/site-functions/_bootctl -%{_datadir}/zsh/site-functions/_kernel-install %{_mandir}/man1/bootctl.1.gz %{_mandir}/man5/loader.conf.5.gz %{_mandir}/man7/linuxaa64.efi.stub.7.gz @@ -22,16 +16,11 @@ %{_mandir}/man7/sd-stub.7.gz %{_mandir}/man7/systemd-boot.7.gz %{_mandir}/man7/systemd-stub.7.gz -%{_mandir}/man8/kernel-install.8.gz %{_mandir}/man8/systemd-bless-boot-generator.8.gz %{_mandir}/man8/systemd-bless-boot.8.gz %{_mandir}/man8/systemd-bless-boot.service.8.gz %{_mandir}/man8/systemd-boot-random-seed.service.8.gz %endif -%{_prefix}/lib/kernel/install.conf -%{_prefix}/lib/kernel/install.d/50-depmod.install -%{_prefix}/lib/kernel/install.d/90-loaderentry.install -%{_prefix}/lib/kernel/install.d/90-uki-copy.install # These are the few exceptions where glob pattern is allowed. %{_systemd_util_dir}/boot/efi/linux*.efi.stub %{_systemd_util_dir}/boot/efi/linux*.elf.stub @@ -42,4 +31,3 @@ %{_unitdir}/systemd-bless-boot.service %{_unitdir}/systemd-boot-random-seed.service %{_unitdir}/systemd-boot-update.service -%endif diff --git a/systemd.changes b/systemd.changes index fb4b065b..3b59dd5a 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +Mon Jul 3 15:16:38 UTC 2023 - Franck Bui + +- Split off sd-boot into separate "systemd-boot" subpackage + ------------------------------------------------------------------- Tue Jun 27 13:02:40 UTC 2023 - Franck Bui diff --git a/systemd.spec b/systemd.spec index 59bfa038..94de7e92 100644 --- a/systemd.spec +++ b/systemd.spec @@ -312,10 +312,6 @@ This library provides several of the systemd C APIs: Summary: A rule-based device node and kernel event manager License: GPL-2.0-only URL: http://www.kernel.org/pub/linux/utils/kernel/hotplug/udev.html -%if %{with sd_boot} -BuildRequires: gnu-efi -BuildRequires: pesign-obs-integration -%endif Requires: %{name} = %{version}-%{release} %systemd_requires Requires: filesystem @@ -389,6 +385,32 @@ Systemd tools to store and manage coredumps. Visit https://systemd.io/COREDUMP for more details. %endif +%if %{with sd_boot} +%package boot +Summary: A simple UEFI boot manager +License: LGPL-2.1-or-later +BuildRequires: gnu-efi +BuildRequires: pesign-obs-integration + +%description boot +This package provides systemd-boot (short: sd-boot), which 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. systemd-boot supports systems with UEFI firmware +only. + +This package also contains bootctl(1) and services to manage boot loaders that +implement the Boot Loader Specification[1] and the Boot Loader Interface[2] on +EFI systems, such as systemd-boot. + +Note that systemd-boot is not fully integrated in openSUSE distributions yet +hence its installation requires special care and manual steps when used on +systems supporting secure boot or snapshots. For more details, visit: +https://en.opensuse.org/Systemd-boot + +[1] https://uapi-group.org/specifications/specs/boot_loader_specification/ +[2] https://systemd.io/BOOT_LOADER_INTERFACE/ +%endif + %package container Summary: Systemd tools for container management License: LGPL-2.1-or-later @@ -702,6 +724,7 @@ export CFLAGS="%{optflags} -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2" -Delfutils=%{when_not bootstrap} \ -Dhtml=%{when_not bootstrap} \ -Dima=%{when_not bootstrap} \ + -Dkernel-install=%{when_not bootstrap} \ -Dlibcryptsetup-plugins=%{when_not bootstrap} \ -Dman=%{when_not bootstrap} \ -Dnss-myhostname=%{when_not bootstrap} \ @@ -721,7 +744,6 @@ export CFLAGS="%{optflags} -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2" \ -Dgnu-efi=%{when sd_boot} \ -Defi-color-highlight="black,green" \ - -Dkernel-install=%{when sd_boot} \ \ -Dsbat-distro="%{?sbat_distro}" \ -Dsbat-distro-summary="%{?sbat_distro_summary}" \ @@ -1233,7 +1255,12 @@ fi %files -n udev%{?mini} %defattr(-,root,root) %include %{SOURCE201} + +%if %{with sd_boot} +%files boot +%defattr(-,root,root) %include %{SOURCE206} +%endif %files container %defattr(-,root,root)