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

Signed-off-by: Jacob Kroon <[email protected]>
---
 meta/conf/distro/include/security_flags.inc |  4 ---
 meta/recipes-bsp/grub/grub-efi_2.04.bb      | 28 +++++----------------
 meta/recipes-bsp/grub/grub2.inc             |  4 ---
 meta/recipes-bsp/grub/grub_2.04.bb          |  5 ++++
 meta/recipes-core/meta/wic-tools.bb         |  2 +-
 5 files changed, 12 insertions(+), 31 deletions(-)

diff --git a/meta/conf/distro/include/security_flags.inc 
b/meta/conf/distro/include/security_flags.inc
index a9e5b311af..4e64eb99f9 100644
--- a/meta/conf/distro/include/security_flags.inc
+++ b/meta/conf/distro/include/security_flags.inc
@@ -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}"
diff --git a/meta/recipes-bsp/grub/grub-efi_2.04.bb 
b/meta/recipes-bsp/grub/grub-efi_2.04.bb
index b9d6225d27..30d95f95e0 100644
--- a/meta/recipes-bsp/grub/grub-efi_2.04.bb
+++ b/meta/recipes-bsp/grub/grub-efi_2.04.bb
@@ -4,8 +4,8 @@ require conf/image-uefi.conf
 
 GRUBPLATFORM = "efi"
 
-DEPENDS_append_class-target = " grub-efi-native"
-RDEPENDS_${PN}_class-target = "grub-common virtual/grub-bootconf"
+DEPENDS_append = " grub-native"
+RDEPENDS_${PN} = "grub-common virtual/grub-bootconf"
 
 SRC_URI += " \
            file://cfg \
@@ -51,22 +51,7 @@ do_mkimage() {
 
 addtask mkimage before do_install after do_compile
 
-do_mkimage_class-native() {
-       :
-}
-
-do_install_append_class-target() {
-       install -d ${D}${EFI_FILES_PATH}
-       install -m 644 ${B}/${GRUB_IMAGE_PREFIX}${GRUB_IMAGE} 
${D}${EFI_FILES_PATH}/${GRUB_IMAGE}
-}
-
-do_install_class-native() {
-       install -d ${D}${bindir}
-       install -m 755 grub-mkimage ${D}${bindir}
-       install -m 755 grub-editenv ${D}${bindir}
-}
-
-do_install_class-target() {
+do_install() {
     oe_runmake 'DESTDIR=${D}' -C grub-core install
 
     # Remove build host references...
@@ -76,6 +61,9 @@ do_install_class-target() {
         -e 's|${DEBUG_PREFIX_MAP}||g' \
         -e 's:${RECIPE_SYSROOT_NATIVE}::g' \
         {} +
+
+    install -d ${D}${EFI_FILES_PATH}
+    install -m 644 ${B}/${GRUB_IMAGE_PREFIX}${GRUB_IMAGE} 
${D}${EFI_FILES_PATH}/${GRUB_IMAGE}
 }
 
 do_install_append_aarch64() {
@@ -89,10 +77,6 @@ do_deploy() {
        install -m 644 ${B}/${GRUB_IMAGE_PREFIX}${GRUB_IMAGE} ${DEPLOYDIR}
 }
 
-do_deploy_class-native() {
-       :
-}
-
 addtask deploy after do_install before do_build
 
 FILES_${PN} = "${libdir}/grub/${GRUB_TARGET}-efi \
diff --git a/meta/recipes-bsp/grub/grub2.inc b/meta/recipes-bsp/grub/grub2.inc
index b3291cb4b8..2024e13782 100644
--- a/meta/recipes-bsp/grub/grub2.inc
+++ b/meta/recipes-bsp/grub/grub2.inc
@@ -64,7 +64,3 @@ do_configure_prepend() {
        FROM_BOOTSTRAP=1 ${S}/autogen.sh
        cd ${B}
 }
-
-RDEPENDS_${PN}_class-native = ""
-
-BBCLASSEXTEND = "native"
diff --git a/meta/recipes-bsp/grub/grub_2.04.bb 
b/meta/recipes-bsp/grub/grub_2.04.bb
index 9232ea8120..df607cae14 100644
--- a/meta/recipes-bsp/grub/grub_2.04.bb
+++ b/meta/recipes-bsp/grub/grub_2.04.bb
@@ -2,9 +2,12 @@ require grub2.inc
 
 RDEPENDS_${PN}-common += "${PN}-editenv"
 RDEPENDS_${PN} += "${PN}-common"
+RDEPENDS_${PN}_class-native = ""
 
 RPROVIDES_${PN}-editenv += "${PN}-efi-editenv"
 
+PROVIDES_append_class-native = " grub-efi-native"
+
 PACKAGES =+ "${PN}-editenv ${PN}-common"
 FILES_${PN}-editenv = "${bindir}/grub-editenv"
 FILES_${PN}-common = " \
@@ -31,3 +34,5 @@ do_install_append () {
 
 INSANE_SKIP_${PN} = "arch"
 INSANE_SKIP_${PN}-dbg = "arch"
+
+BBCLASSEXTEND = "native"
diff --git a/meta/recipes-core/meta/wic-tools.bb 
b/meta/recipes-core/meta/wic-tools.bb
index 8aeb942ed2..3e7d0ed48d 100644
--- a/meta/recipes-core/meta/wic-tools.bb
+++ b/meta/recipes-core/meta/wic-tools.bb
@@ -4,7 +4,7 @@ LICENSE = "MIT"
 
 DEPENDS = "\
            parted-native syslinux-native gptfdisk-native dosfstools-native \
-           mtools-native bmap-tools-native grub-efi-native cdrtools-native \
+           mtools-native bmap-tools-native grub-native cdrtools-native \
            btrfs-tools-native squashfs-tools-native pseudo-native \
            e2fsprogs-native util-linux-native tar-native\
            "
-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.

View/Reply Online (#139732): 
https://lists.openembedded.org/g/openembedded-core/message/139732
Mute This Topic: https://lists.openembedded.org/mt/75036354/21656
Group Owner: [email protected]
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub  
[[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to