Backport patches to add ukify and 90-uki-copy.install

Resolves: RHEL-13199

Signed-off-by: Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
This commit is contained in:
Zbigniew Jędrzejewski-Szmek 2023-11-23 16:46:42 +01:00
parent 484e7cdd90
commit 2090c56503
2 changed files with 23 additions and 0 deletions

View File

@ -17,6 +17,7 @@ def files(root):
o_libs = open('.file-list-libs', 'w') o_libs = open('.file-list-libs', 'w')
o_udev = open('.file-list-udev', 'w') o_udev = open('.file-list-udev', 'w')
o_ukify = open('.file-list-ukify', 'w')
o_boot = open('.file-list-boot', 'w') o_boot = open('.file-list-boot', 'w')
o_pam = open('.file-list-pam', 'w') o_pam = open('.file-list-pam', 'w')
o_rpm_macros = open('.file-list-rpm-macros', 'w') o_rpm_macros = open('.file-list-rpm-macros', 'w')
@ -59,6 +60,8 @@ for file in files(buildroot):
o = o_rpm_macros o = o_rpm_macros
elif '/usr/lib/systemd/tests' in n: elif '/usr/lib/systemd/tests' in n:
o = o_tests o = o_tests
elif 'ukify' in n:
o = o_ukify
elif re.search(r'/libsystemd-(shared|core)-.*\.so$', n): elif re.search(r'/libsystemd-(shared|core)-.*\.so$', n):
o = o_main o = o_main
elif re.search(r'/libcryptsetup-token-systemd-.*\.so$', n): elif re.search(r'/libcryptsetup-token-systemd-.*\.so$', n):

View File

@ -578,6 +578,8 @@ BuildRequires: tree
BuildRequires: hostname BuildRequires: hostname
BuildRequires: python3dist(lxml) BuildRequires: python3dist(lxml)
BuildRequires: python3dist(jinja2) BuildRequires: python3dist(jinja2)
BuildRequires: python3dist(pefile)
BuildRequires: python3dist(cryptography)
BuildRequires: firewalld-filesystem BuildRequires: firewalld-filesystem
BuildRequires: libseccomp-devel BuildRequires: libseccomp-devel
BuildRequires: meson >= 0.43 BuildRequires: meson >= 0.43
@ -740,6 +742,21 @@ This package contains systemd-udev and the rules and hardware database
needed to manage device nodes. This package is necessary on physical needed to manage device nodes. This package is necessary on physical
machines and in virtual machines, but not in containers. machines and in virtual machines, but not in containers.
%package ukify
Summary: Tool to build Unified Kernel Images
Requires: %{name} = %{version}-%{release}
Requires: python3dist(cryptography)
Requires: python3dist(pefile)
BuildArch: noarch
%description ukify
This package provides ukify, a script that combines a kernel image, an initrd,
with a command line, and possibly PCR measurements and other metadata, into a
Unified Kernel Image (UKI).
%if 0%{?have_gnu_efi} %if 0%{?have_gnu_efi}
%package boot-unsigned %package boot-unsigned
Summary: UEFI boot manager (unsigned version) Summary: UEFI boot manager (unsigned version)
@ -938,6 +955,7 @@ CONFIGURE_OPTS=(
# https://issues.redhat.com/browse/RHEL-16810 # https://issues.redhat.com/browse/RHEL-16810
-Dsbat-distro-url=mailto:secalert@redhat.com -Dsbat-distro-url=mailto:secalert@redhat.com
-Ddefault-net-naming-scheme=rhel-9.0 -Ddefault-net-naming-scheme=rhel-9.0
-Dukify=true
) )
%if %{without lto} %if %{without lto}
@ -1334,6 +1352,8 @@ getent passwd systemd-oom &>/dev/null || useradd -r -l -g systemd-oom -d / -s /s
%files udev -f .file-list-udev %files udev -f .file-list-udev
%files ukify -f .file-list-ukify
%if 0%{?have_gnu_efi} %if 0%{?have_gnu_efi}
%files boot-unsigned -f .file-list-boot %files boot-unsigned -f .file-list-boot
%endif %endif