* [Buildroot] [PATCH v2] boot/grub2: fix build race condition
@ 2022-08-05 7:12 Stefan Agner
2022-08-06 9:08 ` Yann E. MORIN
0 siblings, 1 reply; 2+ messages in thread
From: Stefan Agner @ 2022-08-05 7:12 UTC (permalink / raw)
To: thomas.petazzoni, buildroot; +Cc: yann.morin.1998, stefan
Sometimes buildroot fails with:
../grub-core/kern/emu/hostfs.c:20:10: fatal error: config-util.h: No such file or directory
20 | #include <config-util.h>
| ^~~~~~~~~~~~~~~
Add a patch which fixes the Makefile to correctly generate config-util.h
first.
Note: This readds a work around to avoid re-running autoconf. This has
previously been used to avoid having to run the rather complex build
file generation machinery of GRUB2. See 7e64a050fb ("boot/grub2: Fix
GRUB i386-pc build with Ubuntu gcc").
Signed-off-by: Stefan Agner <stefan@agner.ch>
---
...ub_fstest.pp-depend-on-config-util.h.patch | 45 +++++++++++++++++++
boot/grub2/grub2.mk | 6 +++
2 files changed, 51 insertions(+)
create mode 100644 boot/grub2/0001-Makefile-Make-grub_fstest.pp-depend-on-config-util.h.patch
diff --git a/boot/grub2/0001-Makefile-Make-grub_fstest.pp-depend-on-config-util.h.patch b/boot/grub2/0001-Makefile-Make-grub_fstest.pp-depend-on-config-util.h.patch
new file mode 100644
index 0000000000..ea8787de7a
--- /dev/null
+++ b/boot/grub2/0001-Makefile-Make-grub_fstest.pp-depend-on-config-util.h.patch
@@ -0,0 +1,45 @@
+From bb08b723fa7bc56439c7bc166cff361628e73453 Mon Sep 17 00:00:00 2001
+Message-Id: <bb08b723fa7bc56439c7bc166cff361628e73453.1659683176.git.stefan@agner.ch>
+From: Stefan Agner <stefan@agner.ch>
+Date: Fri, 5 Aug 2022 08:59:52 +0200
+Subject: [PATCH] Makefile: Make grub_fstest.pp depend on config-util.h
+
+Warning: This commit does not apply to the GRUB git repository. This
+patch applies against the release tarballs.
+
+Upstream status: https://lists.gnu.org/archive/html/grub-devel/2022-08/msg00045.html
+Signed-off-by: Stefan Agner <stefan@agner.ch>
+---
+ Makefile.am | 2 +-
+ Makefile.in | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/Makefile.am b/Makefile.am
+index bf9c1ba..f08cfc0 100644
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -51,7 +51,7 @@ libgrub_a_init.c: libgrub_a_init.lst $(top_srcdir)/geninit.sh
+ CLEANFILES += libgrub_a_init.c
+
+ # For grub-fstest
+-grub_fstest.pp: $(grub_fstest_SOURCES)
++grub_fstest.pp: config-util.h $(grub_fstest_SOURCES)
+ $(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(grub_fstest_CPPFLAGS) $(CPPFLAGS) \
+ -D'GRUB_MOD_INIT(x)=@MARKER@x@' $^ > $@ || (rm -f $@; exit 1)
+ CLEANFILES += grub_fstest.pp
+diff --git a/Makefile.in b/Makefile.in
+index 13f2eef..2c1d20b 100644
+--- a/Makefile.in
++++ b/Makefile.in
+@@ -13312,7 +13312,7 @@ libgrub_a_init.c: libgrub_a_init.lst $(top_srcdir)/geninit.sh
+ sh $(top_srcdir)/geninit.sh `cat $<` > $@ || (rm -f $@; exit 1)
+
+ # For grub-fstest
+-grub_fstest.pp: $(grub_fstest_SOURCES)
++grub_fstest.pp: config-util.h $(grub_fstest_SOURCES)
+ $(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(grub_fstest_CPPFLAGS) $(CPPFLAGS) \
+ -D'GRUB_MOD_INIT(x)=@MARKER@x@' $^ > $@ || (rm -f $@; exit 1)
+
+--
+2.37.1
+
diff --git a/boot/grub2/grub2.mk b/boot/grub2/grub2.mk
index 57593330dd..6c9c80dc15 100644
--- a/boot/grub2/grub2.mk
+++ b/boot/grub2/grub2.mk
@@ -13,6 +13,12 @@ GRUB2_DEPENDENCIES = host-bison host-flex host-grub2
HOST_GRUB2_DEPENDENCIES = host-bison host-flex
GRUB2_INSTALL_IMAGES = YES
+define GRUB2_AVOID_AUTORECONF
+ $(Q)touch $(@D)/Makefile.in
+endef
+GRUB2_POST_PATCH_HOOKS += GRUB2_AVOID_AUTORECONF
+HOST_GRUB2_POST_PATCH_HOOKS += GRUB2_AVOID_AUTORECONF
+
# CVE-2019-14865 is about a flaw in the grub2-set-bootflag tool, which
# doesn't exist upstream, but is added by the Redhat/Fedora
# packaging. Not applicable to Buildroot.
--
2.37.1
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply related [flat|nested] 2+ messages in thread* Re: [Buildroot] [PATCH v2] boot/grub2: fix build race condition
2022-08-05 7:12 [Buildroot] [PATCH v2] boot/grub2: fix build race condition Stefan Agner
@ 2022-08-06 9:08 ` Yann E. MORIN
0 siblings, 0 replies; 2+ messages in thread
From: Yann E. MORIN @ 2022-08-06 9:08 UTC (permalink / raw)
To: Stefan Agner; +Cc: thomas.petazzoni, buildroot
Stefan, All,
On 2022-08-05 09:12 +0200, Stefan Agner spake thusly:
> Sometimes buildroot fails with:
> ../grub-core/kern/emu/hostfs.c:20:10: fatal error: config-util.h: No such file or directory
> 20 | #include <config-util.h>
> | ^~~~~~~~~~~~~~~
>
> Add a patch which fixes the Makefile to correctly generate config-util.h
> first.
>
> Note: This readds a work around to avoid re-running autoconf. This has
> previously been used to avoid having to run the rather complex build
> file generation machinery of GRUB2. See 7e64a050fb ("boot/grub2: Fix
> GRUB i386-pc build with Ubuntu gcc").
7e64a050fb also touched Makefile.util.am, so I had to check that this
was no onger needed, so I extended the commit log that touching
Makefile.in is indeed sufficient.
> Signed-off-by: Stefan Agner <stefan@agner.ch>
> ---
[--SNIP--]
> diff --git a/boot/grub2/grub2.mk b/boot/grub2/grub2.mk
> index 57593330dd..6c9c80dc15 100644
> --- a/boot/grub2/grub2.mk
> +++ b/boot/grub2/grub2.mk
> @@ -13,6 +13,12 @@ GRUB2_DEPENDENCIES = host-bison host-flex host-grub2
> HOST_GRUB2_DEPENDENCIES = host-bison host-flex
> GRUB2_INSTALL_IMAGES = YES
>
> +define GRUB2_AVOID_AUTORECONF
We usually add a comment to refer to the patch that requires such a
hook, so I added one.
> + $(Q)touch $(@D)/Makefile.in
$ make check-package
boot/grub2/grub2.mk:18: expected indent with tabs
I fixed that too, and applied to master, thanks.
Regards,
Yann E. MORIN.
> +endef
> +GRUB2_POST_PATCH_HOOKS += GRUB2_AVOID_AUTORECONF
> +HOST_GRUB2_POST_PATCH_HOOKS += GRUB2_AVOID_AUTORECONF
> +
> # CVE-2019-14865 is about a flaw in the grub2-set-bootflag tool, which
> # doesn't exist upstream, but is added by the Redhat/Fedora
> # packaging. Not applicable to Buildroot.
> --
> 2.37.1
>
--
.-----------------.--------------------.------------------.--------------------.
| Yann E. MORIN | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software Designer | \ / CAMPAIGN | ___ |
| +33 561 099 427 `------------.-------: X AGAINST | \e/ There is no |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL | v conspiracy. |
'------------------------------^-------^------------------^--------------------'
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2022-08-06 9:08 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-08-05 7:12 [Buildroot] [PATCH v2] boot/grub2: fix build race condition Stefan Agner
2022-08-06 9:08 ` Yann E. MORIN
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.