diff mbox series

package/mender-grubenv: fix grub module checks

Message ID 20211103195520.147558-4-aduskett@gmail.com
State Changes Requested
Headers show
Series package/mender-grubenv: fix grub module checks | expand

Commit Message

Adam Duskett Nov. 3, 2021, 7:55 p.m. UTC
Commit 3efb5e31fc05705ce3c46b1f0ec031978a5cfab6 broke mender-grubenv by
splititng up BR2_TARGET_GRUB2_BUILTIN_MODULES and
BR2_TARGET_GRUB2_BUILTIN_MODULES_EFI. Indeed, when a user now builds a system
with EFI, the MENDER_GRUBENV_MODULES_MISSING list always returns a full list
of grub modules, resulting in the error condition on line 46 to trigger.

Add an ifeq that checks BR2_TARGET_GRUB2_BUILTIN_MODULES_EFI if
grub_efi is selected.

Signed-off-by: Adam Duskett <aduskett@gmail.com>
---
 package/mender-grubenv/mender-grubenv.mk | 6 ++++++
 1 file changed, 6 insertions(+)

Comments

Thomas Petazzoni Nov. 3, 2021, 9:19 p.m. UTC | #1
Hello Adam,

On Wed,  3 Nov 2021 12:55:19 -0700
Adam Duskett <aduskett@gmail.com> wrote:

> +ifeq ($(BR2_TARGET_GRUB2_X86_64_EFI),y)

Are you sure this is correct? Indeed I believe
BR2_TARGET_GRUB2_BUILTIN_MODULES_EFI is also used for the
BR2_TARGET_GRUB2_I386_EFI, BR2_TARGET_GRUB2_ARM_EFI and
BR2_TARGET_GRUB2_ARM64_EFI cases, isn't it ?



> +MENDER_GRUBENV_MODULES_MISSING = \
> +	$(filter-out $(call qstrip,$(BR2_TARGET_GRUB2_BUILTIN_MODULES_EFI)),\
> +		$(MENDER_GRUBENV_MANDATORY_MODULES))
> +else
>  MENDER_GRUBENV_MODULES_MISSING = \
>  	$(filter-out $(call qstrip,$(BR2_TARGET_GRUB2_BUILTIN_MODULES)),\

Also BR2_TARGET_GRUB2_BUILTIN_MODULES no longer exists, it's
BR2_TARGET_GRUB2_BUILTIN_MODULES_PC.

I'm really sorry we overlooked this when doing the changes on grub2 :-/

Best regards,

Thomas
diff mbox series

Patch

diff --git a/package/mender-grubenv/mender-grubenv.mk b/package/mender-grubenv/mender-grubenv.mk
index f06dbbe35c..1be722233c 100644
--- a/package/mender-grubenv/mender-grubenv.mk
+++ b/package/mender-grubenv/mender-grubenv.mk
@@ -31,9 +31,15 @@  MENDER_GRUBENV_DEFINES = \
 # These grub modules must be built in for the grub scripts to work properly.
 # Without them, the system will not boot.
 MENDER_GRUBENV_MANDATORY_MODULES=loadenv hashsum echo halt gcry_sha256 test regexp
+ifeq ($(BR2_TARGET_GRUB2_X86_64_EFI),y)
+MENDER_GRUBENV_MODULES_MISSING = \
+	$(filter-out $(call qstrip,$(BR2_TARGET_GRUB2_BUILTIN_MODULES_EFI)),\
+		$(MENDER_GRUBENV_MANDATORY_MODULES))
+else
 MENDER_GRUBENV_MODULES_MISSING = \
 	$(filter-out $(call qstrip,$(BR2_TARGET_GRUB2_BUILTIN_MODULES)),\
 		$(MENDER_GRUBENV_MANDATORY_MODULES))
+endif
 
 ifeq ($(BR2_PACKAGE_MENDER_GRUBENV)$(BR_BUILDING),yy)
 ifneq ($(MENDER_GRUBENV_MODULES_MISSING),)