mirror of
https://git.yoctoproject.org/poky
synced 2026-09-19 00:49:33 +02:00
busybox: Add parallel make fix
We're seeing regular parallel make failures in applet headers in busybox. This adds a patch to try and avoid the issue, building upon a fix already backported from upstream. The patch has been sent to upstream. [YOCTO #10116] (From OE-Core rev: 199cef0e8a50b20d0ee6fefd1d4cf3372eba7728) (From OE-Core rev: e3cca9da7e7a7f10db708f39097e1d8700f8ba2d) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> Signed-off-by: Armin Kuster <akuster808@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
65
meta/recipes-core/busybox/busybox/parallel-make-fix.patch
Normal file
65
meta/recipes-core/busybox/busybox/parallel-make-fix.patch
Normal file
@@ -0,0 +1,65 @@
|
|||||||
|
When applet_tables is run, we need it to touch both output files,
|
||||||
|
else make will keep calling the command, potentially leading to races
|
||||||
|
as the files are potentially rewritten.
|
||||||
|
|
||||||
|
We also need to ensure that applet_tables is called once, not twice,
|
||||||
|
potentially in parallel. To do this, make one file depend upon the other.
|
||||||
|
|
||||||
|
Upstream-Status: Submitted
|
||||||
|
RP 2016/8/19
|
||||||
|
|
||||||
|
Index: busybox-1.24.1/applets/Kbuild.src
|
||||||
|
===================================================================
|
||||||
|
--- busybox-1.24.1.orig/applets/Kbuild.src
|
||||||
|
+++ busybox-1.24.1/applets/Kbuild.src
|
||||||
|
@@ -29,7 +29,7 @@ applets/applets.o: include/usage_compres
|
||||||
|
|
||||||
|
applets/applet_tables: .config include/applets.h
|
||||||
|
applets/usage: .config include/applets.h
|
||||||
|
-applets/usage_pod: .config include/applets.h include/applet_tables.h include/NUM_APPLETS.h
|
||||||
|
+applets/usage_pod: .config include/applets.h include/applet_tables.h
|
||||||
|
|
||||||
|
quiet_cmd_gen_usage_compressed = GEN include/usage_compressed.h
|
||||||
|
cmd_gen_usage_compressed = $(srctree_slash)applets/usage_compressed include/usage_compressed.h applets
|
||||||
|
@@ -40,5 +40,7 @@ include/usage_compressed.h: applets/usag
|
||||||
|
quiet_cmd_gen_applet_tables = GEN include/applet_tables.h
|
||||||
|
cmd_gen_applet_tables = applets/applet_tables include/applet_tables.h include/NUM_APPLETS.h
|
||||||
|
|
||||||
|
-include/applet_tables.h include/NUM_APPLETS.h: applets/applet_tables
|
||||||
|
+include/NUM_APPLETS.h: applets/applet_tables
|
||||||
|
$(call cmd,gen_applet_tables)
|
||||||
|
+
|
||||||
|
+include/applet_tables.h: include/NUM_APPLETS.h
|
||||||
|
Index: busybox-1.24.1/applets/applet_tables.c
|
||||||
|
===================================================================
|
||||||
|
--- busybox-1.24.1.orig/applets/applet_tables.c
|
||||||
|
+++ busybox-1.24.1/applets/applet_tables.c
|
||||||
|
@@ -151,23 +151,15 @@ int main(int argc, char **argv)
|
||||||
|
// printf("#define MAX_APPLET_NAME_LEN %u\n", MAX_APPLET_NAME_LEN);
|
||||||
|
|
||||||
|
if (argv[2]) {
|
||||||
|
- char line_old[80];
|
||||||
|
char line_new[80];
|
||||||
|
FILE *fp;
|
||||||
|
|
||||||
|
- line_old[0] = 0;
|
||||||
|
- fp = fopen(argv[2], "r");
|
||||||
|
- if (fp) {
|
||||||
|
- fgets(line_old, sizeof(line_old), fp);
|
||||||
|
- fclose(fp);
|
||||||
|
- }
|
||||||
|
sprintf(line_new, "#define NUM_APPLETS %u\n", NUM_APPLETS);
|
||||||
|
- if (strcmp(line_old, line_new) != 0) {
|
||||||
|
- fp = fopen(argv[2], "w");
|
||||||
|
- if (!fp)
|
||||||
|
- return 1;
|
||||||
|
- fputs(line_new, fp);
|
||||||
|
- }
|
||||||
|
+ fp = fopen(argv[2], "w");
|
||||||
|
+ if (!fp)
|
||||||
|
+ return 1;
|
||||||
|
+ fputs(line_new, fp);
|
||||||
|
+ fclose(fp);
|
||||||
|
}
|
||||||
|
|
||||||
|
return 0;
|
||||||
@@ -49,6 +49,7 @@ SRC_URI = "http://www.busybox.net/downloads/busybox-${PV}.tar.bz2;name=tarball \
|
|||||||
file://CVE-2016-2147_2.patch \
|
file://CVE-2016-2147_2.patch \
|
||||||
file://ip_fix_problem_on_mips64_n64_big_endian_musl_systems.patch \
|
file://ip_fix_problem_on_mips64_n64_big_endian_musl_systems.patch \
|
||||||
file://makefile-fix-backport.patch \
|
file://makefile-fix-backport.patch \
|
||||||
|
file://parallel-make-fix.patch \
|
||||||
"
|
"
|
||||||
SRC_URI_append_libc-musl = " file://musl.cfg "
|
SRC_URI_append_libc-musl = " file://musl.cfg "
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user