diff options
Diffstat (limited to 'meta/recipes-extended/bash/bash')
-rw-r--r-- | meta/recipes-extended/bash/bash/build-tests.patch | 17 | ||||
-rw-r--r-- | meta/recipes-extended/bash/bash/execute_cmd.patch | 19 | ||||
-rw-r--r-- | meta/recipes-extended/bash/bash/fix-run-builtins.patch | 33 | ||||
-rw-r--r-- | meta/recipes-extended/bash/bash/makerace.patch | 52 | ||||
-rw-r--r-- | meta/recipes-extended/bash/bash/makerace2.patch | 98 | ||||
-rw-r--r-- | meta/recipes-extended/bash/bash/run-bash-ptests | 4 | ||||
-rw-r--r-- | meta/recipes-extended/bash/bash/run-ptest | 26 | ||||
-rw-r--r-- | meta/recipes-extended/bash/bash/test-output.patch | 47 | ||||
-rw-r--r-- | meta/recipes-extended/bash/bash/use_aclocal.patch | 59 |
9 files changed, 329 insertions, 26 deletions
diff --git a/meta/recipes-extended/bash/bash/build-tests.patch b/meta/recipes-extended/bash/bash/build-tests.patch index 73a81b60da..ea38bace9b 100644 --- a/meta/recipes-extended/bash/bash/build-tests.patch +++ b/meta/recipes-extended/bash/bash/build-tests.patch @@ -1,16 +1,24 @@ -Add 'ptest' target to Makefile, to run tests without checking dependencies. +From 318b762837c2ad25319caeaf0320eff613b64daf Mon Sep 17 00:00:00 2001 +From: Anders Roxell <anders.roxell@enea.com> +Date: Wed, 19 Dec 2012 17:18:31 +0100 +Subject: [PATCH] Add 'ptest' target to Makefile, to run tests without checking + dependencies. Upstream-Status: Pending Signed-off-by: Anders Roxell <anders.roxell@enea.com> + +Rebase to 5.0 Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> + --- Makefile.in | 24 +++++++++++++++++++----- 1 file changed, 19 insertions(+), 5 deletions(-) diff --git a/Makefile.in b/Makefile.in +index bc97049..937ce39 100644 --- a/Makefile.in +++ b/Makefile.in -@@ -848,20 +848,34 @@ maybe-clean: +@@ -943,20 +943,34 @@ maybe-clean: fi recho$(EXEEXT): $(SUPPORT_SRC)recho.c @@ -48,8 +56,5 @@ diff --git a/Makefile.in b/Makefile.in + +runtest: @( cd $(srcdir)/tests && \ - PATH=$(BUILD_DIR)/tests:$$PATH THIS_SH=$(THIS_SH) $(SHELL) ${TESTSCRIPT} ) + BUILD_DIR=$(BUILD_DIR) PATH=$(BUILD_DIR)/tests:$$PATH THIS_SH=$(THIS_SH) $(SHELL) ${TESTSCRIPT} ) --- -1.8.1.2 - diff --git a/meta/recipes-extended/bash/bash/execute_cmd.patch b/meta/recipes-extended/bash/bash/execute_cmd.patch index 81f8f0a9cd..7a9e9a902f 100644 --- a/meta/recipes-extended/bash/bash/execute_cmd.patch +++ b/meta/recipes-extended/bash/bash/execute_cmd.patch @@ -1,8 +1,16 @@ Upstream-Status: Inappropriate [embedded specific] ---- execute_cmd.c.orig Fri Jun 3 13:34:42 2011 -+++ execute_cmd.c Fri Jun 3 13:36:41 2011 -@@ -2202,7 +2202,11 @@ +Rebase to 5.0 +Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> +--- + execute_cmd.c | 6 +++++- + 1 file changed, 5 insertions(+), 1 deletion(-) + +diff --git a/execute_cmd.c b/execute_cmd.c +index f1d74bf..31674b4 100644 +--- a/execute_cmd.c ++++ b/execute_cmd.c +@@ -2567,7 +2567,11 @@ execute_pipeline (command, asynchronous, pipe_in, pipe_out, fds_to_close) /* If the `lastpipe' option is set with shopt, and job control is not enabled, execute the last element of non-async pipelines in the current shell environment. */ @@ -13,5 +21,8 @@ Upstream-Status: Inappropriate [embedded specific] +#endif + asynchronous == 0 && pipe_out == NO_PIPE && prev > 0) { - lstdin = move_to_high_fd (0, 0, 255); + lstdin = move_to_high_fd (0, 1, -1); if (lstdin > 0) +-- +2.7.4 + diff --git a/meta/recipes-extended/bash/bash/fix-run-builtins.patch b/meta/recipes-extended/bash/bash/fix-run-builtins.patch new file mode 100644 index 0000000000..2fa388302e --- /dev/null +++ b/meta/recipes-extended/bash/bash/fix-run-builtins.patch @@ -0,0 +1,33 @@ +From 0c4cab9594c96c2dc435a8d9724605824bcbf917 Mon Sep 17 00:00:00 2001 +From: Dengke Du <dengke.du@windriver.com> +Date: Tue, 19 Apr 2016 02:57:45 -0400 +Subject: [PATCH] fix run-builtins failed + +FAIL: run-builtins +1. redirect the stderr output of command exec with -l option in + builtins.tests to /dev/null +2. ensure the system contain the locales "en_US.UTF-8" + +Upstream-Status: Pending + +Signed-off-by: Dengke Du <dengke.du@windriver.com> +--- + tests/builtins.tests | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/tests/builtins.tests b/tests/builtins.tests +index 9d77520..63f3af8 100644 +--- a/tests/builtins.tests ++++ b/tests/builtins.tests +@@ -109,7 +109,7 @@ esac + + # test options to exec + (exec -a specialname ${THIS_SH} -c 'echo $0' ) +-(exec -l -a specialname ${THIS_SH} -c 'echo $0' ) ++(exec -l -a specialname ${THIS_SH} -c 'echo $0' ) 2> /dev/null + # test `clean' environment. if /bin/sh is bash, and the script version of + # printenv is run, there will be variables in the environment that bash + # sets on startup. Also test code that prefixes argv[0] with a dash. +-- +2.8.1 + diff --git a/meta/recipes-extended/bash/bash/makerace.patch b/meta/recipes-extended/bash/bash/makerace.patch new file mode 100644 index 0000000000..9bd7c280fe --- /dev/null +++ b/meta/recipes-extended/bash/bash/makerace.patch @@ -0,0 +1,52 @@ +We're seeing pipesize.h being created in parallel: + +/bin/sh ../../bash-5.1/builtins/psize.sh > pipesize.h +/bin/sh ../../bash-5.1/builtins/psize.sh > pipesize.h + +./mkbuiltins -D ../../bash-5.1/builtins ../../bash-5.1/builtins/ulimit.def +x86_64-pokysdk-linux-gcc --sysroot=/home/pokybuild/yocto-worker/multilib/build/build/tmp/work/x86_64-nativesdk-pokysdk-linux/nativesdk-bash/5.1-r0/recipe-sysroot -c -DHAVE_CONFIG_H -DSHELL -I. -I.. -I../../bash-5.1 -I../../bash-5.1/include -I../../bash-5.1/lib -I../../bash-5.1/builtins -O2 -pipe -fmacro-prefix-map=/home/pokybuild/yocto-worker/multilib/build/build/tmp/work/x86_64-nativesdk-pokysdk-linux/nativesdk-bash/5.1-r0=/usr/src/debug/nativesdk-bash/5.1-r0 -fdebug-prefix-map=/home/pokybuild/yocto-worker/multilib/build/build/tmp/work/x86_64-nativesdk-pokysdk-linux/nativesdk-bash/5.1-r0=/usr/src/debug/nativesdk-bash/5.1-r0 -fdebug-prefix-map=/home/pokybuild/yocto-worker/multilib/build/build/tmp/work/x86_64-nativesdk-pokysdk-linux/nativesdk-bash/5.1-r0/recipe-sysroot= -fdebug-prefix-map=/home/pokybuild/yocto-worker/multilib/build/build/tmp/work/x86_64-nativesdk-pokysdk-linux/nativesdk-bash/5.1-r0/recipe-sysroot-native= ulimit.c || ( rm -f ulimit.c ; exit 1 ) +make[1]: Leaving directory '/home/pokybuild/yocto-worker/multilib/build/build/tmp/work/x86_64-nativesdk-pokysdk-linux/nativesdk-bash/5.1-r0/build/builtins' +rm -f redir.o +x86_64-pokysdk-linux-gcc --sysroot=/home/pokybuild/yocto-worker/multilib/build/build/tmp/work/x86_64-nativesdk-pokysdk-linux/nativesdk-bash/5.1-r0/recipe-sysroot -DPROGRAM='"bash"' -DCONF_HOSTTYPE='"x86_64"' -DCONF_OSTYPE='"linux-gnu"' -DCONF_MACHTYPE='"x86_64-pokysdk-linux-gnu"' -DCONF_VENDOR='"pokysdk"' -DLOCALEDIR='"/opt/poky/3.2+snapshot/sysroots/x86_64-pokysdk-linux/usr/share/locale"' -DPACKAGE='"bash"' -DSHELL -DHAVE_CONFIG_H -I. -I../bash-5.1 -I../bash-5.1/include -I../bash-5.1/lib -O2 -pipe -fmacro-prefix-map=/home/pokybuild/yocto-worker/multilib/build/build/tmp/work/x86_64-nativesdk-pokysdk-linux/nativesdk-bash/5.1-r0=/usr/src/debug/nativesdk-bash/5.1-r0 -fdebug-prefix-map=/home/pokybuild/yocto-worker/multilib/build/build/tmp/work/x86_64-nativesdk-pokysdk-linux/nativesdk-bash/5.1-r0=/usr/src/debug/nativesdk-bash/5.1-r0 -fdebug-prefix-map=/home/pokybuild/yocto-worker/multilib/build/build/tmp/work/x86_64-nativesdk-pokysdk-linux/nativesdk-bash/5.1-r0/recipe-sysroot= -fdebug-prefix-map=/home/pokybuild/yocto-worker/multilib/build/build/tmp/work/x86_64-nativesdk-pokysdk-linux/nativesdk-bash/5.1-r0/recipe-sysroot-native= -c ../bash-5.1/redir.c +In file included from ../../bash-5.1/builtins/../../bash-5.1/builtins/ulimit.def:95: +pipesize.h:9:5: error: expected '=', ',', ';', 'asm' or '__attribute__' before '-' token + 9 | bash-5.1/builtins/psize.sh: 37: ../../bash-5.1/builtins/psize.sh: ./psize.aux: Text file busy + | ^ +make[1]: *** [Makefile:119: ulimit.o] Error 1 +make[1]: Leaving directory '/home/pokybuild/yocto-worker/multilib/build/build/tmp/work/x86_64-nativesdk-pokysdk-linux/nativesdk-bash/5.1-r0/build/builtins' +make: *** [Makefile:737: builtins/libbuiltins.a] Error 1 +make: *** Waiting for unfinished jobs.... +In file included from ../bash-5.1/redir.c:61: +./builtins/pipesize.h:9:5: error: expected '=', ',', ';', 'asm' or '__attribute__' before '-' token + 9 | bash-5.1/builtins/psize.sh: 37: ../../bash-5.1/builtins/psize.sh: ./psize.aux: Text file busy + | ^ +make: *** [Makefile:101: redir.o] Error 1 +WARNING: exit code 1 from a shell command. + +which happens since builtins/ulimit.o depends on pipesize.h as well as a top +level dependency. This means: + + @(cd $(DEFDIR) && $(MAKE) $(MFLAGS) pipesize.h ) || exit 1 + +races with: + + @(cd $(DEFDIR) && $(MAKE) $(MFLAGS) DEBUG=${DEBUG} targets ) || exit 1 + +Hack around this by forcing BUILTINS_LIBRARY onto pipesize.h as a dependency. + +Upstream-Status: Submitted [https://lists.gnu.org/archive/html/bug-bash/2021-01/msg00152.html] +Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> + +Index: bash-5.1/Makefile.in +=================================================================== +--- bash-5.1.orig/Makefile.in ++++ bash-5.1/Makefile.in +@@ -746,7 +746,7 @@ ${DEFDIR}/bashgetopt.o: $(BUILTIN_SRCDIR + ${DEFDIR}/builtext.h: $(BUILTIN_DEFS) + @(cd $(DEFDIR) && $(MAKE) $(MFLAGS) builtext.h ) || exit 1 + +-${DEFDIR}/pipesize.h: ++${DEFDIR}/pipesize.h: $(BUILTINS_LIBRARY) + @(cd $(DEFDIR) && $(MAKE) $(MFLAGS) pipesize.h ) || exit 1 + + $(SDIR)/man2html$(EXEEXT): ${SUPPORT_SRC}/man2html.c diff --git a/meta/recipes-extended/bash/bash/makerace2.patch b/meta/recipes-extended/bash/bash/makerace2.patch new file mode 100644 index 0000000000..43cdd04157 --- /dev/null +++ b/meta/recipes-extended/bash/bash/makerace2.patch @@ -0,0 +1,98 @@ +The main makefile can call mkbuiltins from multiple different codepaths in parallel. +When called, it moves the existing files out the way and creates new ones, then +compares which will break the build if timing is unlucky. + +The root of the problem is mkbuiltins.c creating a file but also referencing that +file under the same name. By modifing it to allow the final name and the temp name +to be specified, we can avoid the original reason for the moving of files around. +This allows them to be created under a new name and then replaced if changed, +removing any race windows around accessing the files whilst they've been +moved or are being rewritten. + +See [YOCTO #14227] + +Upstream-Status: Pending +Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> + +Index: bash-5.1.8/builtins/Makefile.in +=================================================================== +--- bash-5.1.8.orig/builtins/Makefile.in ++++ bash-5.1.8/builtins/Makefile.in +@@ -185,19 +185,17 @@ gen-helpfiles: tmpbuiltins.o gen-helpfil + $(CC_FOR_BUILD) ${CCFLAGS_FOR_BUILD} $(LDFLAGS_FOR_BUILD) -o $@ gen-helpfiles.o tmpbuiltins.o $(LIBS_FOR_BUILD) + + builtext.h builtins.c: $(MKBUILTINS) $(DEFSRC) +- @-if test -f builtins.c; then mv -f builtins.c old-builtins.c; fi +- @-if test -f builtext.h; then mv -f builtext.h old-builtext.h; fi +- ./$(MKBUILTINS) -externfile builtext.h -structfile builtins.c \ ++ ./$(MKBUILTINS) -externfile builtext-new.h -externfinalfile builtext.h -structfile builtins-new.c \ + -noproduction $(DIRECTDEFINE) $(HELPDIRDEFINE) $(HELPSTRINGS) $(DEFSRC) +- @-if cmp -s old-builtext.h builtext.h 2>/dev/null; then \ +- mv old-builtext.h builtext.h; \ ++ @-if ! cmp -s builtext.h builtext-new.h 2>/dev/null; then \ ++ mv builtext-new.h builtext.h; \ + else \ +- $(RM) old-builtext.h; \ ++ $(RM) builtext-new.h; \ + fi +- @-if cmp -s old-builtins.c builtins.c 2>/dev/null; then \ +- mv old-builtins.c builtins.c; \ ++ @-if ! cmp -s builtins.c builtins-new.c 2>/dev/null; then \ ++ mv builtins-new.c builtins.c; \ + else \ +- $(RM) old-builtins.c; \ ++ $(RM) builtins-new.c; \ + fi + + helpdoc: gen-helpfiles +Index: bash-5.1.8/builtins/mkbuiltins.c +=================================================================== +--- bash-5.1.8.orig/builtins/mkbuiltins.c ++++ bash-5.1.8/builtins/mkbuiltins.c +@@ -113,6 +113,9 @@ char *struct_filename = (char *)NULL; + /* The name of the external declaration file. */ + char *extern_filename = (char *)NULL; + ++/* The final name of the external declaration file. */ ++char *extern_final_filename = (char *)NULL; ++ + /* Here is a structure for manipulating arrays of data. */ + typedef struct { + int size; /* Number of slots allocated to array. */ +@@ -230,6 +233,8 @@ main (argc, argv) + + if (strcmp (arg, "-externfile") == 0) + extern_filename = argv[arg_index++]; ++ else if (strcmp (arg, "-externfinalfile") == 0) ++ extern_final_filename = argv[arg_index++]; + else if (strcmp (arg, "-structfile") == 0) + struct_filename = argv[arg_index++]; + else if (strcmp (arg, "-noproduction") == 0) +@@ -273,6 +278,9 @@ main (argc, argv) + } + } + ++ if (!extern_final_filename) ++ extern_final_filename = extern_filename; ++ + /* If there are no files to process, just quit now. */ + if (arg_index == argc) + exit (0); +@@ -1174,7 +1182,7 @@ write_file_headers (structfile, externfi + fprintf (structfile, "%s\n", structfile_header[i]); + + fprintf (structfile, "#include \"%s\"\n", +- extern_filename ? extern_filename : "builtext.h"); ++ extern_final_filename ? extern_final_filename : "builtext.h"); + + fprintf (structfile, "#include \"bashintl.h\"\n"); + +@@ -1184,7 +1192,7 @@ write_file_headers (structfile, externfi + if (externfile) + fprintf (externfile, + "/* %s - The list of builtins found in libbuiltins.a. */\n", +- extern_filename ? extern_filename : "builtext.h"); ++ extern_final_filename ? extern_final_filename : "builtext.h"); + } + + /* Write out any necessary closing information for diff --git a/meta/recipes-extended/bash/bash/run-bash-ptests b/meta/recipes-extended/bash/bash/run-bash-ptests new file mode 100644 index 0000000000..d73a27224d --- /dev/null +++ b/meta/recipes-extended/bash/bash/run-bash-ptests @@ -0,0 +1,4 @@ +#!/bin/sh +cd "$(dirname "$0")" +make -k THIS_SH=/bin/bash BUILD_DIR=`pwd` srcdir=`pwd` runtest + diff --git a/meta/recipes-extended/bash/bash/run-ptest b/meta/recipes-extended/bash/bash/run-ptest index e3f813381b..738ad3c42c 100644 --- a/meta/recipes-extended/bash/bash/run-ptest +++ b/meta/recipes-extended/bash/bash/run-ptest @@ -1,2 +1,26 @@ #!/bin/sh -make -k THIS_SH=/bin/bash BUILD_DIR=. srcdir=. runtest + +en_US=`locale -a | grep en_US*` +fr_FR=`locale -a | grep fr_FR*` +de_DE=`locale -a | grep de_DE*` + +if [ -z "$en_US" ] +then + echo "Warning: The en_US* locales is needed to run the intl.tests, please add it." +fi + +if [ -z "$fr_FR" ] +then + echo "Warning: The fr_FR* locales is needed to run the intl.tests, please add it." +fi + +if [ -z "$de_DE" ] +then + echo "Warning: The de_DE* locales is needed to run the intl.tests, please add it." +fi + +useradd bashtest +chown -R bashtest:bashtest tests +setpriv --reuid bashtest --rgid bashtest --clear-groups --reset-env $(dirname "$0")/run-bash-ptests +chown -R root:root tests +userdel -r bashtest diff --git a/meta/recipes-extended/bash/bash/test-output.patch b/meta/recipes-extended/bash/bash/test-output.patch index 2b09b7d977..0ffcc24587 100644 --- a/meta/recipes-extended/bash/bash/test-output.patch +++ b/meta/recipes-extended/bash/bash/test-output.patch @@ -1,25 +1,42 @@ -Add FAIL/PASS output to test output. +From 28eb06047ebd2deaa8c7cd2bf6655ef6a469dc14 Mon Sep 17 00:00:00 2001 +From: Hongxu Jia <hongxu.jia@windriver.com> +Date: Tue, 15 Aug 2017 10:01:56 +0800 +Subject: [PATCH 1/2] Add FAIL/PASS output to test output. +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit Signed-off-by: Björn Stenberg <bjst@enea.com> Upstream-Status: Pending + +Rebase to 4.4 +Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> --- -diff -uNr a/tests/run-all b/tests/run-all ---- a/tests/run-all 1999-10-08 17:07:46.000000000 +0200 -+++ b/tests/run-all 2012-10-27 21:04:18.663331887 +0200 -@@ -22,7 +22,15 @@ + tests/run-all | 11 ++++++++++- + 1 file changed, 10 insertions(+), 1 deletion(-) + +diff --git a/tests/run-all b/tests/run-all +index 2882fe0..e21d026 100644 +--- a/tests/run-all ++++ b/tests/run-all +@@ -33,7 +33,16 @@ do case $x in $0|run-minimal|run-gprof) ;; *.orig|*~) ;; -- *) echo $x ; sh $x ;; -+ *) echo $x -+ output=`sh $x` -+ if [ -n "$output" ]; then -+ echo "$output" -+ echo "FAIL: $x" -+ else -+ echo "PASS: $x" -+ fi -+ ;; +- *) echo $x ; sh $x ; rm -f ${BASH_TSTOUT} ;; ++ *) echo $x ++ output=`sh $x` ++ if [ -n "$output" ]; then ++ echo "$output" ++ echo "FAIL: $x" ++ else ++ echo "PASS: $x" ++ fi ++ rm -f ${BASH_TSTOUT} ++ ;; esac done +-- +1.8.3.1 + diff --git a/meta/recipes-extended/bash/bash/use_aclocal.patch b/meta/recipes-extended/bash/bash/use_aclocal.patch new file mode 100644 index 0000000000..bebaa08bfe --- /dev/null +++ b/meta/recipes-extended/bash/bash/use_aclocal.patch @@ -0,0 +1,59 @@ +Including m4 files directly like this confuses autotools.bbclass, remove +the references and rely upon aclocal to collect the m4 files together +as needed instead making it work like other autotools based projects. + +Upstream-Status: Inappropriate [OE configuration specific] +RP 2021/1/20 + +Index: bash-5.1/configure.ac +=================================================================== +--- bash-5.1.orig/configure.ac ++++ bash-5.1/configure.ac +@@ -688,47 +688,6 @@ if test x$SIZE = x; then + fi + AC_SUBST(SIZE) + +-m4_include([m4/stat-time.m4]) +-m4_include([m4/timespec.m4]) +- +-dnl include files for gettext +- +-m4_include([m4/codeset.m4]) +-m4_include([m4/extern-inline.m4]) +-m4_include([m4/fcntl-o.m4]) +-m4_include([m4/gettext.m4]) +-m4_include([m4/glibc2.m4]) +-m4_include([m4/glibc21.m4]) +-m4_include([m4/host-cpu-c-abi.m4]) +-m4_include([m4/iconv.m4]) +-m4_include([m4/intdiv0.m4]) +-m4_include([m4/intl.m4]) +-m4_include([m4/intlmacosx.m4]) +-m4_include([m4/intl-thread-locale.m4]) +-m4_include([m4/intmax.m4]) +-m4_include([m4/inttypes-pri.m4]) +-m4_include([m4/inttypes.m4]) +-m4_include([m4/inttypes_h.m4]) +-m4_include([m4/lcmessage.m4]) +-m4_include([m4/lib-ld.m4]) +-m4_include([m4/lib-link.m4]) +-m4_include([m4/lib-prefix.m4]) +-m4_include([m4/lock.m4]) +-m4_include([m4/nls.m4]) +-m4_include([m4/po.m4]) +-m4_include([m4/printf-posix.m4]) +-m4_include([m4/progtest.m4]) +-m4_include([m4/pthread_rwlock_rdlock.m4]) +-m4_include([m4/size_max.m4]) +-m4_include([m4/stdint_h.m4]) +-m4_include([m4/threadlib.m4]) +-m4_include([m4/uintmax_t.m4]) +-m4_include([m4/ulonglong.m4]) +-m4_include([m4/visibility.m4]) +-m4_include([m4/wchar_t.m4]) +-m4_include([m4/wint_t.m4]) +-m4_include([m4/xsize.m4]) +- + dnl Turn on any extensions available in the GNU C library. + AC_DEFINE(_GNU_SOURCE, 1) + |