grub: Remove native version of grub-efi

The native version of grub-efi only installs the tools

  /usr/bin/grub-editenv
  /usr/bin/grub-mkimage

to sysroots-components/, but equivalent tools are already provided by
grub-native, the difference on x86_64 being 4 hardwired paths in grub-mkimage
(values taken from grub-native):

  LOCALEDIR       = $TMPDIR/work/x86_64-linux/grub-native/2.04-r0/recipe-sysroot-native/usr/share/locale
  GRUB_DATADIR    = $TMPDIR/work/x86_64-linux/grub-native/2.04-r0/recipe-sysroot-native/usr/share
  GRUB_LIBDIR     = $TMPDIR/work/x86_64-linux/grub-native/2.04-r0/recipe-sysroot-native/usr/lib
  GRUB_SYSCONFDIR = $TMPDIR/work/x86_64-linux/grub-native/2.04-r0/recipe-sysroot-native/etc

If grub-native and grub-efi-native are built with the following patch

 --- grub-2.04.orig/configure.ac
 +++ grub-2.04/configure.ac
 @@ -1980,10 +1980,10 @@ grub_libdir="$(eval echo "$libdir")"
  grub_localedir="$(eval echo "$localedir")"
  grub_datadir="$(eval echo "$datadir")"
  grub_sysconfdir="$(eval echo "$sysconfdir")"
 -AC_DEFINE_UNQUOTED(LOCALEDIR, "$grub_localedir", [Locale dir])
 -AC_DEFINE_UNQUOTED(GRUB_LIBDIR, "$grub_libdir", [Library dir])
 -AC_DEFINE_UNQUOTED(GRUB_DATADIR, "$grub_datadir", [Data dir])
 -AC_DEFINE_UNQUOTED(GRUB_SYSCONFDIR, "$grub_sysconfdir", [Configuration dir])
 +AC_DEFINE_UNQUOTED(LOCALEDIR, "/non-existent", [Locale dir])
 +AC_DEFINE_UNQUOTED(GRUB_LIBDIR, "/non-existent", [Library dir])
 +AC_DEFINE_UNQUOTED(GRUB_DATADIR, "/non-existent", [Data dir])
 +AC_DEFINE_UNQUOTED(GRUB_SYSCONFDIR, "/non-existent", [Configuration dir])

the produced grub-editenv/grub-mkimage binaries become binary equivalent,
assuming reproducible builds is active. Since the unpatched values of
LOCALEDIR/GRUB_DATADIR/GRUB_LIBDIR/GRUB_SYSCONFDIR point to directories that
are not expected to exist at runtime, they can be ignored.

Therefore:
 * remove grub-efi-native and instead rely on the same tools from
   grub-native
 * replace references to grub-efi-native with grub-native
 * remove unused grub-efi-native security flags overrides

(From OE-Core rev: 7044181df7487f047d175242f7ebbc3c35bf5402)

Signed-off-by: Jacob Kroon <jacob.kroon@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Jacob Kroon
2020-06-22 13:43:43 +02:00
committed by Richard Purdie
parent b58192aba2
commit 2d740a8c71
5 changed files with 12 additions and 31 deletions

View File

@@ -40,10 +40,6 @@ SECURITY_CFLAGS_pn-glibc-testsuite = ""
SECURITY_CFLAGS_pn-gcc-runtime = ""
SECURITY_CFLAGS_pn-grub = ""
SECURITY_CFLAGS_pn-grub-efi = ""
SECURITY_CFLAGS_pn-grub-efi-native = ""
SECURITY_CFLAGS_pn-grub-efi-x86-native = ""
SECURITY_CFLAGS_pn-grub-efi-i586-native = ""
SECURITY_CFLAGS_pn-grub-efi-x86-64-native = ""
SECURITY_CFLAGS_pn-mkelfimage_x86 = ""
SECURITY_CFLAGS_pn-valgrind = "${SECURITY_NOPIE_CFLAGS}"