* [Buildroot] [PATCH 1/1] package/fwts: bump to version 24.07.00
@ 2024-07-31 21:28 Julien Olivain
2024-08-01 20:59 ` Thomas Petazzoni via buildroot
0 siblings, 1 reply; 2+ messages in thread
From: Julien Olivain @ 2024-07-31 21:28 UTC (permalink / raw)
To: buildroot; +Cc: Julien Olivain
Release announce:
https://lists.ubuntu.com/archives/fwts-devel/2024-July/013869.html
For release note since 24.03.00, see:
https://wiki.ubuntu.com/FirmwareTestSuite/ReleaseNotes/24.07.00
This commit removes the patch 0002, which is included in this new
version.
Signed-off-by: Julien Olivain <ju.o@free.fr>
---
...fix-parallel-build-with-GNU-Make-4.4.patch | 133 ------------------
package/fwts/fwts.hash | 2 +-
package/fwts/fwts.mk | 2 +-
3 files changed, 2 insertions(+), 135 deletions(-)
delete mode 100644 package/fwts/0002-libfwtsiasl-fix-parallel-build-with-GNU-Make-4.4.patch
diff --git a/package/fwts/0002-libfwtsiasl-fix-parallel-build-with-GNU-Make-4.4.patch b/package/fwts/0002-libfwtsiasl-fix-parallel-build-with-GNU-Make-4.4.patch
deleted file mode 100644
index a5568d1fd9..0000000000
--- a/package/fwts/0002-libfwtsiasl-fix-parallel-build-with-GNU-Make-4.4.patch
+++ /dev/null
@@ -1,133 +0,0 @@
-From 65a89b6253ef527ab4bc951eb8f9deba12f0121a Mon Sep 17 00:00:00 2001
-From: Julien Olivain <ju.o@free.fr>
-Date: Mon, 20 May 2024 11:14:02 +0200
-Subject: [PATCH] libfwtsiasl: fix parallel build with GNU Make >= 4.4
-
-When a build host has a large number of cores (like 20+) and GNU Make
-version is >= 4.4, fwts randomly fail to build in parallel, with a
-"make -j$(nproc)" command, with error:
-
- mv: cannot stat 'dtcompilerparser.tab.c': No such file or directory
- mv: cannot stat 'prparser.tab.c': No such file or directory
-
-This issue has been reported here:
-https://github.com/fwts/fwts/issues/7
-
-The Makefile.am of libfwtsiasl is using the GNU Make ".NOTPARALLEL"
-special target with prerequisites to handle commands generating
-multiple outputs (like lex/yacc invocations). See:
-https://github.com/fwts/fwts/blob/V24.03.00/src/libfwtsiasl/Makefile.am#L61
-
-First, the .NOTPARALLEL special target _with_ prerequisites is a
-feature added in GNU Make 4.4. See:
-https://git.savannah.gnu.org/cgit/make.git/commit/?id=f6ea899d83bf00fe9201fde0ca9cf7af8e443677
-https://lists.gnu.org/archive/html/help-make/2022-10/msg00020.html
-
-GNU Make version < 4.4 will interpret it as if it was written without
-prerequisite (as a standalone ".NOTPARALLEL:"). The effect is that the
-parallel compilation is disabled for the whole libfwtsiasl. The
-standalone .NOTPARALLEL special target was introduced in GNU Make 3.79
-in 2000. This is why parallel builds are working with Make older than
-version 4.4.
-
-Secondly, the reason why the build is failing on GNU Make >= 4.4 is
-because the usage of .NOTPARALLEL in incorrect.
-
-Quoting the Make manual:
-https://www.gnu.org/software/make/manual/html_node/Parallel-Disable.html
-"""
-If the .NOTPARALLEL special target has prerequisites, then each of those
-prerequisites will be considered a target and all prerequisites of these
-targets will be run serially.
-"""
-
-Note the serialization will happen on the prerequisites of the targets
-set as prerequisites of .NOTPARALLEL.
-
-The targets will not be correctly marked to disable parallel
-execution.
-
-Thirdly, the use of multiple targets in a rule is incorrect here. See
-Make manual:
-https://www.gnu.org/software/make/manual/html_node/Multiple-Targets.html
-The construct used in Makefile.am of libfwtsiasl for lex/yacc parsers
-assumes they are independant targets (so they can be executed in
-parallel). Finally, the "mv" command is failing, because there will be
-one parallel execution per target, the first mv will suceed and the
-other ones will fail. Multiple independant targets are often used in
-Makefiles for lex/yacc, they are working because they are not using
-"mv". Even in multiple execution, files are just overwritten.
-
-Fixing this .NOTPARALLEL usage with prerequisites would require Make
-version 4.4 or greater. This is a strong requirement, as there is
-still many Linux distros with older Make version (as an example Ubuntu
-22.04 LTS has Make 4.3).
-
-The .WAIT special target could be used, but was also introduced in
-Make version 4.4. See:
-https://git.savannah.gnu.org/cgit/make.git/commit/?id=f6ea899d83bf00fe9201fde0ca9cf7af8e443677
-
-GNU Make 4.3 also introduced "Grouped Targets" for that purpose. See:
-https://www.gnu.org/software/make/manual/html_node/Multiple-Targets.html
-But this would add a requirement on a recent Make version.
-
-This commit fixes the issue by declaring the first generated file as a
-dependency of the other extra generated files. This has the effect of
-completely solving the parallel build for all GNU Make versions. Also,
-this enables parallel build for libfwtsiasl (except for the parser
-generation) and makes the whole build faster.
-
-Signed-off-by: Julien Olivain <ju.o@free.fr>
-Upstream: https://github.com/fwts/fwts/commit/c0962cd74c725418523c46ca44101e0e70201f81
----
- src/libfwtsiasl/Makefile.am | 16 ++++++++--------
- 1 file changed, 8 insertions(+), 8 deletions(-)
-
-diff --git a/src/libfwtsiasl/Makefile.am b/src/libfwtsiasl/Makefile.am
-index cb10bc58..ac54f621 100644
---- a/src/libfwtsiasl/Makefile.am
-+++ b/src/libfwtsiasl/Makefile.am
-@@ -58,32 +58,32 @@ aslcompiler.y: $(ASL_PARSER)
- aslcompilerlex.c: $(ASL_LEXER)
- ${LEX} ${AM_LFLAGS} -PAslCompiler -o$@ $(top_srcdir)/src/acpica/source/compiler/aslcompiler.l
-
--.NOTPARALLEL: aslcompiler.c
--aslcompiler.c aslcompiler.y.h: aslcompiler.y
-+aslcompiler.c: aslcompiler.y
- ${YACC} ${AM_YFLAGS} -d -baslcompiler -pAslCompiler $^
- mv aslcompiler.tab.c aslcompiler.c
- cp aslcompiler.tab.h aslcompiler.y.h
-+aslcompiler.y.h: aslcompiler.c
-
--.NOTPARALLEL: dtcompilerparserlex.c
--dtcompilerparserlex.c dtcompilerparser.c dtcompilerparser.y.h: $(top_srcdir)/src/acpica/source/compiler/dtcompilerparser.l $(top_srcdir)/src/acpica/source/compiler/dtcompilerparser.y
-+dtcompilerparserlex.c: $(top_srcdir)/src/acpica/source/compiler/dtcompilerparser.l $(top_srcdir)/src/acpica/source/compiler/dtcompilerparser.y
- ${LEX} ${AM_LFLAGS} -PDtCompilerParser -odtcompilerparserlex.c $<
- ${YACC} ${AM_YFLAGS} -bdtcompilerparser -pDtCompilerParser $(top_srcdir)/src/acpica/source/compiler/dtcompilerparser.y
- mv dtcompilerparser.tab.c dtcompilerparser.c
- cp dtcompilerparser.tab.h dtcompilerparser.y.h
-+dtcompilerparser.c dtcompilerparser.y.h: dtcompilerparserlex.c
-
--.NOTPARALLEL: dtparserlex.c
--dtparserlex.c dtparser.c dtparser.y.h: $(top_srcdir)/src/acpica/source/compiler/dtparser.l $(top_srcdir)/src/acpica/source/compiler/dtparser.y
-+dtparserlex.c: $(top_srcdir)/src/acpica/source/compiler/dtparser.l $(top_srcdir)/src/acpica/source/compiler/dtparser.y
- ${LEX} ${AM_LFLAGS} -PDtParser -odtparserlex.c $<
- ${YACC} ${AM_YFLAGS} -bdtparser -pDtParser $(top_srcdir)/src/acpica/source/compiler/dtparser.y
- mv dtparser.tab.c dtparser.c
- cp dtparser.tab.h dtparser.y.h
-+dtparser.c dtparser.y.h: dtparserlex.c
-
--.NOTPARALLEL: prparserlex.c
--prparserlex.c prparser.c prparser.y.h: $(top_srcdir)/src/acpica/source/compiler/prparser.l $(top_srcdir)/src/acpica/source/compiler/prparser.y
-+prparserlex.c: $(top_srcdir)/src/acpica/source/compiler/prparser.l $(top_srcdir)/src/acpica/source/compiler/prparser.y
- ${LEX} ${AM_LFLAGS} -PPrParser -oprparserlex.c $<
- ${YACC} ${AM_YFLAGS} -bprparser -pPrParser $(top_srcdir)/src/acpica/source/compiler/prparser.y
- mv prparser.tab.c prparser.c
- cp prparser.tab.h prparser.y.h
-+prparser.c prparser.y.h: prparserlex.c
-
- pkglib_LTLIBRARIES = libfwtsiasl.la
-
---
-2.45.1
-
diff --git a/package/fwts/fwts.hash b/package/fwts/fwts.hash
index 0c0dd58c15..61f615835e 100644
--- a/package/fwts/fwts.hash
+++ b/package/fwts/fwts.hash
@@ -1,5 +1,5 @@
# Hash from: http://fwts.ubuntu.com/release/SHA256SUMS
-sha256 d7f2642b1ec3697be798409decd6593d52bb1438f0d2dc697cbc85f52d19b41e fwts-V24.03.00.tar.gz
+sha256 2bd45ab1b9f8dc1db2716721e89d982ee4b4eda4b1043cca7b13775c95d5023b fwts-V24.07.00.tar.gz
# Hash for license file
sha256 3cd2c5d12f024ff2aa203e37d7e972c4d5ab7bf1a65e3e09aebccf71e64b525b debian/copyright
diff --git a/package/fwts/fwts.mk b/package/fwts/fwts.mk
index 0692121421..fa1f8ed8c4 100644
--- a/package/fwts/fwts.mk
+++ b/package/fwts/fwts.mk
@@ -4,7 +4,7 @@
#
################################################################################
-FWTS_VERSION = 24.03.00
+FWTS_VERSION = 24.07.00
FWTS_SOURCE = fwts-V$(FWTS_VERSION).tar.gz
FWTS_SITE = https://fwts.ubuntu.com/release
FWTS_STRIP_COMPONENTS = 0
--
2.45.2
_______________________________________________
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 1/1] package/fwts: bump to version 24.07.00
2024-07-31 21:28 [Buildroot] [PATCH 1/1] package/fwts: bump to version 24.07.00 Julien Olivain
@ 2024-08-01 20:59 ` Thomas Petazzoni via buildroot
0 siblings, 0 replies; 2+ messages in thread
From: Thomas Petazzoni via buildroot @ 2024-08-01 20:59 UTC (permalink / raw)
To: Julien Olivain; +Cc: buildroot
On Wed, 31 Jul 2024 23:28:24 +0200
Julien Olivain <ju.o@free.fr> wrote:
> Release announce:
> https://lists.ubuntu.com/archives/fwts-devel/2024-July/013869.html
>
> For release note since 24.03.00, see:
> https://wiki.ubuntu.com/FirmwareTestSuite/ReleaseNotes/24.07.00
>
> This commit removes the patch 0002, which is included in this new
> version.
>
> Signed-off-by: Julien Olivain <ju.o@free.fr>
> ---
> ...fix-parallel-build-with-GNU-Make-4.4.patch | 133 ------------------
> package/fwts/fwts.hash | 2 +-
> package/fwts/fwts.mk | 2 +-
> 3 files changed, 2 insertions(+), 135 deletions(-)
> delete mode 100644 package/fwts/0002-libfwtsiasl-fix-parallel-build-with-GNU-Make-4.4.patch
Applied to master, thanks.
Thomas
--
Thomas Petazzoni, CTO, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com
_______________________________________________
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:[~2024-08-01 20:59 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-07-31 21:28 [Buildroot] [PATCH 1/1] package/fwts: bump to version 24.07.00 Julien Olivain
2024-08-01 20:59 ` Thomas Petazzoni via buildroot
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox