diff --git a/make/target-tools.mk b/make/target-tools.mk
index 55019bfb..3800358f 100644
--- a/make/target-tools.mk
+++ b/make/target-tools.mk
@@ -193,7 +193,7 @@ bash: $(DL_DIR)/$(BASH_SOURCE) | $(TARGET_DIR)
$(REMOVE)/$(PKG_DIR)
$(UNTAR)/$(PKG_SOURCE)
$(CHDIR)/$(PKG_DIR); \
- $(call apply_patches,$(PKG_PATCHES_DIR),0); \
+ $(APPLY_PATCHES); \
$(CONFIGURE); \
$(MAKE); \
$(MAKE) install DESTDIR=$(TARGET_DIR)
diff --git a/package/bash/patches/bash50-001 b/package/bash/patches/0001-bash50-001.patch
similarity index 93%
rename from package/bash/patches/bash50-001
rename to package/bash/patches/0001-bash50-001.patch
index 169317de..90e89ce5 100644
--- a/package/bash/patches/bash50-001
+++ b/package/bash/patches/0001-bash50-001.patch
@@ -1,3 +1,7 @@
+From https://ftp.gnu.org/gnu/bash/bash-5.0-patches/bash50-001
+
+Signed-off-by: Pascal de Bruijn
+
BASH PATCH REPORT
=================
@@ -17,7 +21,7 @@ pattern preceding a slash).
Patch (apply with `patch -p0'):
*** ../bash-5.0/bashline.c 2018-11-27 13:20:16.000000000 -0500
---- bashline.c 2019-01-16 16:06:03.000000000 -0500
+--- b/bashline.c 2019-01-16 16:06:03.000000000 -0500
***************
*** 232,235 ****
--- 232,236 ----
@@ -128,7 +132,7 @@ Patch (apply with `patch -p0'):
rl_explicit_arg = 1; /* XXX - force glob_complete_word to append `*' */
FREE (t);
*** ../bash-5.0/lib/glob/glob_loop.c 2018-12-31 13:35:15.000000000 -0500
---- lib/glob/glob_loop.c 2019-01-09 09:44:36.000000000 -0500
+--- b/lib/glob/glob_loop.c 2019-01-09 09:44:36.000000000 -0500
***************
*** 55,59 ****
@@ -150,7 +154,7 @@ Patch (apply with `patch -p0'):
--- 60,63 ----
*** ../bash-5.0/patchlevel.h 2016-06-22 14:51:03.000000000 -0400
---- patchlevel.h 2016-10-01 11:01:28.000000000 -0400
+--- b/patchlevel.h 2016-10-01 11:01:28.000000000 -0400
***************
*** 26,30 ****
looks for to find the patch level (for the sccs version string). */
diff --git a/package/bash/patches/bash50-002 b/package/bash/patches/0002-bash50-002.patch
similarity index 92%
rename from package/bash/patches/bash50-002
rename to package/bash/patches/0002-bash50-002.patch
index 3fc8272f..60d0a76f 100644
--- a/package/bash/patches/bash50-002
+++ b/package/bash/patches/0002-bash50-002.patch
@@ -1,3 +1,7 @@
+From https://ftp.gnu.org/gnu/bash/bash-5.0-patches/bash50-002
+
+Signed-off-by: Pascal de Bruijn
+
BASH PATCH REPORT
=================
@@ -17,7 +21,7 @@ alias value after expanding it.
Patch (apply with `patch -p0'):
*** ../bash-5.0/parser.h 2018-12-28 19:11:18.000000000 -0500
---- parser.h 2019-01-11 15:13:03.000000000 -0500
+--- b/parser.h 2019-01-11 15:13:03.000000000 -0500
***************
*** 48,51 ****
--- 48,52 ----
@@ -27,7 +31,7 @@ Patch (apply with `patch -p0'):
/* Definition of the delimiter stack. Needed by parse.y and bashhist.c. */
*** ../bash-5.0/parse.y 2019-01-02 13:57:34.000000000 -0500
---- parse.y 2019-01-14 08:23:31.000000000 -0500
+--- b/parse.y 2019-01-14 08:23:31.000000000 -0500
***************
*** 2558,2567 ****
pushed_string_list->flags != PSH_DPAREN &&
@@ -62,7 +66,7 @@ Patch (apply with `patch -p0'):
pop_string ();
uc = shell_input_line[shell_input_line_index];
*** ../bash-5.0/y.tab.c 2019-01-02 13:57:43.000000000 -0500
---- y.tab.c 2019-01-14 08:39:23.000000000 -0500
+--- b/y.tab.c 2019-01-14 08:39:23.000000000 -0500
***************
*** 4874,4883 ****
pushed_string_list->flags != PSH_DPAREN &&
@@ -97,7 +101,7 @@ Patch (apply with `patch -p0'):
pop_string ();
uc = shell_input_line[shell_input_line_index];
*** ../bash-5.0/patchlevel.h 2016-06-22 14:51:03.000000000 -0400
---- patchlevel.h 2016-10-01 11:01:28.000000000 -0400
+--- b/patchlevel.h 2016-10-01 11:01:28.000000000 -0400
***************
*** 26,30 ****
looks for to find the patch level (for the sccs version string). */
diff --git a/package/bash/patches/bash50-003 b/package/bash/patches/0003-bash50-003.patch
similarity index 92%
rename from package/bash/patches/bash50-003
rename to package/bash/patches/0003-bash50-003.patch
index f7e5677e..12edb16a 100644
--- a/package/bash/patches/bash50-003
+++ b/package/bash/patches/0003-bash50-003.patch
@@ -1,3 +1,7 @@
+From https://ftp.gnu.org/gnu/bash/bash-5.0-patches/bash50-003
+
+Signed-off-by: Pascal de Bruijn
+
BASH PATCH REPORT
=================
@@ -17,7 +21,7 @@ directory portion.
Patch (apply with `patch -p0'):
*** ../bash-5.0-patched/lib/glob/glob_loop.c 2019-01-16 16:13:21.000000000 -0500
---- lib/glob/glob_loop.c 2019-02-01 09:45:11.000000000 -0500
+--- b/lib/glob/glob_loop.c 2019-02-01 09:45:11.000000000 -0500
***************
*** 27,34 ****
register const GCHAR *p;
@@ -72,7 +76,7 @@ Patch (apply with `patch -p0'):
}
*** ../bash-5.0-patched/lib/glob/glob.h 2013-10-28 14:46:12.000000000 -0400
---- lib/glob/glob.h 2019-03-07 11:06:47.000000000 -0500
+--- b/lib/glob/glob.h 2019-03-07 11:06:47.000000000 -0500
***************
*** 31,34 ****
--- 31,35 ----
@@ -82,7 +86,7 @@ Patch (apply with `patch -p0'):
extern int glob_pattern_p __P((const char *));
*** ../bash-5.0-patched/lib/glob/glob.c 2018-09-20 10:53:23.000000000 -0400
---- lib/glob/glob.c 2019-03-07 14:23:43.000000000 -0500
+--- b/lib/glob/glob.c 2019-03-07 14:23:43.000000000 -0500
***************
*** 1062,1066 ****
unsigned int directory_len;
@@ -151,7 +155,7 @@ Patch (apply with `patch -p0'):
/* Handle GX_MARKDIRS here. */
result[0] = (char *) malloc (directory_len + 1);
*** ../bash-5.0-patched/pathexp.c 2018-04-29 17:44:48.000000000 -0400
---- pathexp.c 2019-01-31 20:19:41.000000000 -0500
+--- b/pathexp.c 2019-01-31 20:19:41.000000000 -0500
***************
*** 66,74 ****
register int c;
@@ -208,7 +212,7 @@ Patch (apply with `patch -p0'):
}
*** ../bash-5.0-patched/bashline.c 2019-01-16 16:13:21.000000000 -0500
---- bashline.c 2019-02-22 09:29:08.000000000 -0500
+--- b/bashline.c 2019-02-22 09:29:08.000000000 -0500
***************
*** 3753,3757 ****
@@ -223,7 +227,7 @@ Patch (apply with `patch -p0'):
return (0);
}
*** ../bash-5.0/patchlevel.h 2016-06-22 14:51:03.000000000 -0400
---- patchlevel.h 2016-10-01 11:01:28.000000000 -0400
+--- b/patchlevel.h 2016-10-01 11:01:28.000000000 -0400
***************
*** 26,30 ****
looks for to find the patch level (for the sccs version string). */
diff --git a/package/bash/patches/bash50-004 b/package/bash/patches/0004-bash50-004.patch
similarity index 87%
rename from package/bash/patches/bash50-004
rename to package/bash/patches/0004-bash50-004.patch
index fe3c764b..b2735860 100644
--- a/package/bash/patches/bash50-004
+++ b/package/bash/patches/0004-bash50-004.patch
@@ -1,3 +1,7 @@
+From https://ftp.gnu.org/gnu/bash/bash-5.0-patches/bash50-004
+
+Signed-off-by: Pascal de Bruijn
+
BASH PATCH REPORT
=================
@@ -18,7 +22,7 @@ of which might be long-lived.
Patch (apply with `patch -p0'):
*** ../bash-5.0-patched/jobs.c 2018-12-06 11:44:34.000000000 -0500
---- jobs.c 2019-04-12 15:15:10.000000000 -0400
+--- b/jobs.c 2019-04-12 15:15:10.000000000 -0400
***************
*** 2489,2496 ****
wait_procsubs ();
@@ -37,7 +41,7 @@ Patch (apply with `patch -p0'):
if (any_stopped == 0)
{
*** ../bash-5.0/patchlevel.h 2016-06-22 14:51:03.000000000 -0400
---- patchlevel.h 2016-10-01 11:01:28.000000000 -0400
+--- b/patchlevel.h 2016-10-01 11:01:28.000000000 -0400
***************
*** 26,30 ****
looks for to find the patch level (for the sccs version string). */
diff --git a/package/bash/patches/bash50-005 b/package/bash/patches/0005-bash50-005.patch
similarity index 90%
rename from package/bash/patches/bash50-005
rename to package/bash/patches/0005-bash50-005.patch
index 9b1cd75b..df1772f9 100644
--- a/package/bash/patches/bash50-005
+++ b/package/bash/patches/0005-bash50-005.patch
@@ -1,3 +1,7 @@
+From https://ftp.gnu.org/gnu/bash/bash-5.0-patches/bash50-005
+
+Signed-off-by: Pascal de Bruijn
+
BASH PATCH REPORT
=================
@@ -16,7 +20,7 @@ traps from running.
Patch (apply with `patch -p0'):
*** ../bash-5.0-patched/command.h 2018-07-20 21:16:31.000000000 -0400
---- command.h 2019-02-20 11:09:36.000000000 -0500
+--- b/command.h 2019-02-20 11:09:36.000000000 -0500
***************
*** 187,190 ****
--- 188,192 ----
@@ -26,7 +30,7 @@ Patch (apply with `patch -p0'):
/* What a command looks like. */
*** ../bash-5.0-patched/builtins/evalstring.c 2018-12-26 11:19:21.000000000 -0500
---- builtins/evalstring.c 2019-01-29 14:15:19.000000000 -0500
+--- b/builtins/evalstring.c 2019-01-29 14:15:19.000000000 -0500
***************
*** 101,104 ****
--- 101,113 ----
@@ -83,7 +87,7 @@ Patch (apply with `patch -p0'):
#endif /* ONESHOT */
*** ../bash-5.0-patched/execute_cmd.c 2018-12-05 09:05:14.000000000 -0500
---- execute_cmd.c 2019-01-25 15:59:00.000000000 -0500
+--- b/execute_cmd.c 2019-01-25 15:59:00.000000000 -0500
***************
*** 2768,2771 ****
--- 2768,2773 ----
@@ -94,7 +98,7 @@ Patch (apply with `patch -p0'):
second = command->value.Connection->second;
if (ignore_return && second)
*** ../bash-5.0/patchlevel.h 2016-06-22 14:51:03.000000000 -0400
---- patchlevel.h 2016-10-01 11:01:28.000000000 -0400
+--- b/patchlevel.h 2016-10-01 11:01:28.000000000 -0400
***************
*** 26,30 ****
looks for to find the patch level (for the sccs version string). */
diff --git a/package/bash/patches/bash50-006 b/package/bash/patches/0006-bash50-006.patch
similarity index 83%
rename from package/bash/patches/bash50-006
rename to package/bash/patches/0006-bash50-006.patch
index 2ad1cd20..e447989d 100644
--- a/package/bash/patches/bash50-006
+++ b/package/bash/patches/0006-bash50-006.patch
@@ -1,3 +1,7 @@
+From https://ftp.gnu.org/gnu/bash/bash-5.0-patches/bash50-006
+
+Signed-off-by: Pascal de Bruijn
+
BASH PATCH REPORT
=================
@@ -16,7 +20,7 @@ also defining SYSLOG_SHOPT.
Patch (apply with `patch -p0'):
*** ../bash-5.0-patched/builtins/shopt.def 2018-10-05 14:49:02.000000000 -0400
---- builtins/shopt.def 2019-01-23 09:55:22.000000000 -0500
+--- b/builtins/shopt.def 2019-01-23 09:55:22.000000000 -0500
***************
*** 123,127 ****
#endif
@@ -31,7 +35,7 @@ Patch (apply with `patch -p0'):
extern int syslog_history;
#endif
*** ../bash-5.0/patchlevel.h 2016-06-22 14:51:03.000000000 -0400
---- patchlevel.h 2016-10-01 11:01:28.000000000 -0400
+--- b/patchlevel.h 2016-10-01 11:01:28.000000000 -0400
***************
*** 26,30 ****
looks for to find the patch level (for the sccs version string). */
diff --git a/package/bash/patches/bash50-007 b/package/bash/patches/0007-bash50-007.patch
similarity index 87%
rename from package/bash/patches/bash50-007
rename to package/bash/patches/0007-bash50-007.patch
index b9eb4150..164dfcc9 100644
--- a/package/bash/patches/bash50-007
+++ b/package/bash/patches/0007-bash50-007.patch
@@ -1,3 +1,7 @@
+From https://ftp.gnu.org/gnu/bash/bash-5.0-patches/bash50-007
+
+Signed-off-by: Pascal de Bruijn
+
BASH PATCH REPORT
=================
@@ -17,7 +21,7 @@ the executed process.
Patch (apply with `patch -p0'):
*** ../bash-5.0-patched/jobs.c 2018-12-06 11:44:34.000000000 -0500
---- jobs.c 2019-04-12 15:15:10.000000000 -0400
+--- b/jobs.c 2019-04-12 15:15:10.000000000 -0400
***************
*** 4838,4850 ****
{
@@ -46,7 +50,7 @@ Patch (apply with `patch -p0'):
}
*** ../bash-5.0/patchlevel.h 2016-06-22 14:51:03.000000000 -0400
---- patchlevel.h 2016-10-01 11:01:28.000000000 -0400
+--- b/patchlevel.h 2016-10-01 11:01:28.000000000 -0400
***************
*** 26,30 ****
looks for to find the patch level (for the sccs version string). */
diff --git a/package/bash/patches/bash50-008 b/package/bash/patches/0008-bash50-008.patch
similarity index 91%
rename from package/bash/patches/bash50-008
rename to package/bash/patches/0008-bash50-008.patch
index b09d6b33..b571c923 100644
--- a/package/bash/patches/bash50-008
+++ b/package/bash/patches/0008-bash50-008.patch
@@ -1,3 +1,7 @@
+From https://ftp.gnu.org/gnu/bash/bash-5.0-patches/bash50-008
+
+Signed-off-by: Pascal de Bruijn
+
BASH PATCH REPORT
=================
@@ -17,7 +21,7 @@ memory.
Patch (apply with `patch -p0'):
*** ../bash-5.0-patched/bashhist.c 2018-07-05 22:41:14.000000000 -0400
---- bashhist.c 2019-02-20 16:20:04.000000000 -0500
+--- b/bashhist.c 2019-02-20 16:20:04.000000000 -0500
***************
*** 561,573 ****
if (!history_expansion_inhibited && history_expansion && history_expansion_p (line))
@@ -52,7 +56,7 @@ Patch (apply with `patch -p0'):
if (expanded)
*** ../bash-5.0/patchlevel.h 2016-06-22 14:51:03.000000000 -0400
---- patchlevel.h 2016-10-01 11:01:28.000000000 -0400
+--- b/patchlevel.h 2016-10-01 11:01:28.000000000 -0400
***************
*** 26,30 ****
looks for to find the patch level (for the sccs version string). */
diff --git a/package/bash/patches/bash50-009 b/package/bash/patches/0009-bash50-009.patch
similarity index 80%
rename from package/bash/patches/bash50-009
rename to package/bash/patches/0009-bash50-009.patch
index aef4ce7b..c53f464a 100644
--- a/package/bash/patches/bash50-009
+++ b/package/bash/patches/0009-bash50-009.patch
@@ -1,3 +1,7 @@
+From https://ftp.gnu.org/gnu/bash/bash-5.0-patches/bash50-009
+
+Signed-off-by: Pascal de Bruijn
+
BASH PATCH REPORT
=================
@@ -16,7 +20,7 @@ the history file when it encounters a zero-length file.
Patch (apply with `patch -p0'):
*** ../bash-5.0-patched/lib/readline/histfile.c 2018-06-11 09:14:52.000000000 -0400
---- lib/readline/histfile.c 2019-05-16 15:55:57.000000000 -0400
+--- b/lib/readline/histfile.c 2019-05-16 15:55:57.000000000 -0400
***************
*** 306,309 ****
--- 312,316 ----
@@ -26,7 +30,7 @@ Patch (apply with `patch -p0'):
return 0; /* don't waste time if we don't have to */
}
*** ../bash-5.0/patchlevel.h 2016-06-22 14:51:03.000000000 -0400
---- patchlevel.h 2016-10-01 11:01:28.000000000 -0400
+--- b/patchlevel.h 2016-10-01 11:01:28.000000000 -0400
***************
*** 26,30 ****
looks for to find the patch level (for the sccs version string). */
diff --git a/package/bash/patches/bash50-010 b/package/bash/patches/0010-bash50-010.patch
similarity index 95%
rename from package/bash/patches/bash50-010
rename to package/bash/patches/0010-bash50-010.patch
index bac7aa92..ebc06a66 100644
--- a/package/bash/patches/bash50-010
+++ b/package/bash/patches/0010-bash50-010.patch
@@ -1,3 +1,7 @@
+From https://ftp.gnu.org/gnu/bash/bash-5.0-patches/bash50-010
+
+Signed-off-by: Pascal de Bruijn
+
BASH PATCH REPORT
=================
@@ -46,7 +50,7 @@ local variables. It
Patch (apply with `patch -p0'):
*** ../bash-5.0-patched/variables.c 2018-12-18 11:07:21.000000000 -0500
---- variables.c 2019-08-22 10:53:44.000000000 -0400
+--- b/variables.c 2019-08-22 10:53:44.000000000 -0400
***************
*** 4461,4467 ****
@@ -137,7 +141,7 @@ Patch (apply with `patch -p0'):
tempvar_list[tvlist_ind] = 0;
*** ../bash-5.0-patched/tests/varenv.right 2018-12-17 15:39:48.000000000 -0500
---- tests/varenv.right 2019-08-22 16:05:25.000000000 -0400
+--- b/tests/varenv.right 2019-08-22 16:05:25.000000000 -0400
***************
*** 147,153 ****
outside: declare -- var="one"
@@ -156,7 +160,7 @@ Patch (apply with `patch -p0'):
foo= environment foo=
foo=foo environment foo=foo
*** ../bash-5.0/patchlevel.h 2016-06-22 14:51:03.000000000 -0400
---- patchlevel.h 2016-10-01 11:01:28.000000000 -0400
+--- b/patchlevel.h 2016-10-01 11:01:28.000000000 -0400
***************
*** 26,30 ****
looks for to find the patch level (for the sccs version string). */
diff --git a/package/bash/patches/bash50-011 b/package/bash/patches/0011-bash50-011.patch
similarity index 88%
rename from package/bash/patches/bash50-011
rename to package/bash/patches/0011-bash50-011.patch
index a9ae690e..555d0f8f 100644
--- a/package/bash/patches/bash50-011
+++ b/package/bash/patches/0011-bash50-011.patch
@@ -1,3 +1,7 @@
+From https://ftp.gnu.org/gnu/bash/bash-5.0-patches/bash50-011
+
+Signed-off-by: Pascal de Bruijn
+
BASH PATCH REPORT
=================
@@ -17,7 +21,7 @@ invalid pathnames.
Patch (apply with `patch -p0'):
*** ../bash-5.0-patched/subst.c 2018-12-22 17:43:37.000000000 -0500
---- subst.c 2019-04-14 13:25:41.000000000 -0400
+--- b/subst.c 2019-04-14 13:25:41.000000000 -0400
***************
*** 3626,3630 ****
SPECIAL is 2, this is an rhs argument for the =~ operator, and should
@@ -43,7 +47,7 @@ Patch (apply with `patch -p0'):
dequote_list (l);
r = string_list (l);
*** ../bash-5.0/patchlevel.h 2016-06-22 14:51:03.000000000 -0400
---- patchlevel.h 2016-10-01 11:01:28.000000000 -0400
+--- b/patchlevel.h 2016-10-01 11:01:28.000000000 -0400
***************
*** 26,30 ****
looks for to find the patch level (for the sccs version string). */
diff --git a/package/bash/patches/bash50-012 b/package/bash/patches/0012-bash50-012.patch
similarity index 85%
rename from package/bash/patches/bash50-012
rename to package/bash/patches/0012-bash50-012.patch
index 7470e766..d634932e 100644
--- a/package/bash/patches/bash50-012
+++ b/package/bash/patches/0012-bash50-012.patch
@@ -1,3 +1,7 @@
+From https://ftp.gnu.org/gnu/bash/bash-5.0-patches/bash50-012
+
+Signed-off-by: Fabrice Fontaine
+
BASH PATCH REPORT
=================
@@ -16,7 +20,7 @@ it's possible to move to an incorrect partial line.
Patch (apply with `patch -p0'):
*** ../bash-5.0-patched/lib/readline/misc.c 2017-07-07 17:30:12.000000000 -0400
---- lib/readline/misc.c 2019-05-16 11:43:46.000000000 -0400
+--- b/lib/readline/misc.c 2019-05-16 11:43:46.000000000 -0400
***************
*** 577,580 ****
--- 590,594 ----
@@ -48,7 +52,7 @@ Patch (apply with `patch -p0'):
rl_ding ();
}
*** ../bash-5.0/patchlevel.h 2016-06-22 14:51:03.000000000 -0400
---- patchlevel.h 2016-10-01 11:01:28.000000000 -0400
+--- b/patchlevel.h 2016-10-01 11:01:28.000000000 -0400
***************
*** 26,30 ****
looks for to find the patch level (for the sccs version string). */
diff --git a/package/bash/patches/bash50-013 b/package/bash/patches/0013-bash50-013.patch
similarity index 89%
rename from package/bash/patches/bash50-013
rename to package/bash/patches/0013-bash50-013.patch
index e44fdb50..1c99f5c8 100644
--- a/package/bash/patches/bash50-013
+++ b/package/bash/patches/0013-bash50-013.patch
@@ -1,3 +1,7 @@
+From https://ftp.gnu.org/gnu/bash/bash-5.0-patches/bash50-013
+
+Signed-off-by: Fabrice Fontaine
+
BASH PATCH REPORT
=================
@@ -16,7 +20,7 @@ by linefeeds.
Patch (apply with `patch -p0'):
*** ../bash-5.0-patched/lib/readline/histfile.c 2018-06-11 09:14:52.000000000 -0400
---- lib/readline/histfile.c 2019-05-16 15:55:57.000000000 -0400
+--- b/lib/readline/histfile.c 2019-05-16 15:55:57.000000000 -0400
***************
*** 370,376 ****
@@ -57,7 +61,7 @@ Patch (apply with `patch -p0'):
*** ../bash-5.0/patchlevel.h 2016-06-22 14:51:03.000000000 -0400
---- patchlevel.h 2016-10-01 11:01:28.000000000 -0400
+--- b/patchlevel.h 2016-10-01 11:01:28.000000000 -0400
***************
*** 26,30 ****
looks for to find the patch level (for the sccs version string). */
diff --git a/package/bash/patches/bash50-014 b/package/bash/patches/0014-bash50-014.patch
similarity index 87%
rename from package/bash/patches/bash50-014
rename to package/bash/patches/0014-bash50-014.patch
index 6cb49aae..2aadbda8 100644
--- a/package/bash/patches/bash50-014
+++ b/package/bash/patches/0014-bash50-014.patch
@@ -1,3 +1,7 @@
+From https://ftp.gnu.org/gnu/bash/bash-5.0-patches/bash50-014
+
+Signed-off-by: Fabrice Fontaine
+
BASH PATCH REPORT
=================
@@ -16,7 +20,7 @@ editor will edit the previous command instead of the current (empty) one.
Patch (apply with `patch -p0'):
*** ../bash-5.0-patched/bashline.c 2019-01-16 16:13:21.000000000 -0500
---- bashline.c 2019-02-11 11:18:57.000000000 -0500
+--- b/bashline.c 2019-02-11 11:18:57.000000000 -0500
***************
*** 962,970 ****
finished with the command, so we should not ignore the last command */
@@ -36,7 +40,7 @@ Patch (apply with `patch -p0'):
current_command_line_count = 0; /* for dummy history entry */
bash_add_history ("");
*** ../bash-5.0/patchlevel.h 2016-06-22 14:51:03.000000000 -0400
---- patchlevel.h 2016-10-01 11:01:28.000000000 -0400
+--- b/patchlevel.h 2016-10-01 11:01:28.000000000 -0400
***************
*** 26,30 ****
looks for to find the patch level (for the sccs version string). */
diff --git a/package/bash/patches/bash50-015 b/package/bash/patches/0015-bash50-015.patch
similarity index 90%
rename from package/bash/patches/bash50-015
rename to package/bash/patches/0015-bash50-015.patch
index ff6e5e69..d927f41a 100644
--- a/package/bash/patches/bash50-015
+++ b/package/bash/patches/0015-bash50-015.patch
@@ -1,3 +1,7 @@
+From https://ftp.gnu.org/gnu/bash/bash-5.0-patches/bash50-015
+
+Signed-off-by: Fabrice Fontaine
+
BASH PATCH REPORT
=================
@@ -18,7 +22,7 @@ terminate before the entire command is executed.
Patch (apply with `patch -p0'):
*** ../bash-20190426/builtins/evalstring.c 2019-01-29 14:15:19.000000000 -0500
---- builtins/evalstring.c 2019-05-15 14:19:36.000000000 -0400
+--- b/builtins/evalstring.c 2019-05-15 14:19:36.000000000 -0400
***************
*** 92,95 ****
--- 92,96 ----
@@ -62,7 +66,7 @@ Patch (apply with `patch -p0'):
{
command = (COMMAND *)NULL;
*** ../bash-5.0/patchlevel.h 2016-06-22 14:51:03.000000000 -0400
---- patchlevel.h 2016-10-01 11:01:28.000000000 -0400
+--- b/patchlevel.h 2016-10-01 11:01:28.000000000 -0400
***************
*** 26,30 ****
looks for to find the patch level (for the sccs version string). */
diff --git a/package/bash/patches/bash50-016 b/package/bash/patches/0016-bash50-016.patch
similarity index 85%
rename from package/bash/patches/bash50-016
rename to package/bash/patches/0016-bash50-016.patch
index 87f232d7..8dec1fb3 100644
--- a/package/bash/patches/bash50-016
+++ b/package/bash/patches/0016-bash50-016.patch
@@ -1,3 +1,7 @@
+From https://ftp.gnu.org/gnu/bash/bash-5.0-patches/bash50-016
+
+Signed-off-by: Fabrice Fontaine
+
BASH PATCH REPORT
=================
@@ -16,7 +20,7 @@ with loops and group commands, which can lead to file descriptor exhaustion.
Patch (apply with `patch -p0'):
*** ../bash-5.0-patched/execute_cmd.c 2019-04-19 15:46:36.000000000 -0400
---- execute_cmd.c 2019-07-01 16:45:49.000000000 -0400
+--- b/execute_cmd.c 2019-07-01 16:45:49.000000000 -0400
***************
*** 1104,1107 ****
--- 1085,1104 ----
@@ -42,7 +46,7 @@ Patch (apply with `patch -p0'):
*** ../bash-5.0/patchlevel.h 2016-06-22 14:51:03.000000000 -0400
---- patchlevel.h 2016-10-01 11:01:28.000000000 -0400
+--- b/patchlevel.h 2016-10-01 11:01:28.000000000 -0400
***************
*** 26,30 ****
looks for to find the patch level (for the sccs version string). */
diff --git a/package/bash/patches/bash50-017 b/package/bash/patches/0017-bash50-017.patch
similarity index 86%
rename from package/bash/patches/bash50-017
rename to package/bash/patches/0017-bash50-017.patch
index adfcb6a8..6758b203 100644
--- a/package/bash/patches/bash50-017
+++ b/package/bash/patches/0017-bash50-017.patch
@@ -1,3 +1,7 @@
+From https://ftp.gnu.org/gnu/bash/bash-5.0-patches/bash55-017
+
+Signed-off-by: Peter Korsgaard
+
BASH PATCH REPORT
=================
@@ -16,8 +20,8 @@ bash50-016 attempted to solve.
Patch (apply with `patch -p0'):
-*** ../bash-5.0-patched/subst.c 2019-08-29 11:16:49.000000000 -0400
---- subst.c 2020-04-02 16:24:19.000000000 -0400
+*** bash-5.0-patched/subst.c 2019-08-29 11:16:49.000000000 -0400
+--- b/subst.c 2020-04-02 16:24:19.000000000 -0400
***************
*** 5337,5341 ****
}
@@ -25,7 +29,7 @@ Patch (apply with `patch -p0'):
! char *
copy_fifo_list (sizep)
int *sizep;
---- 5337,5341 ----
+--- b/5337,5341 ----
}
! void *
@@ -38,7 +42,7 @@ Patch (apply with `patch -p0'):
! return (char *)NULL;
}
---- 5343,5347 ----
+--- b/5343,5347 ----
if (sizep)
*sizep = 0;
! return (void *)NULL;
@@ -52,7 +56,7 @@ Patch (apply with `patch -p0'):
! fifo_list[j].proc = fifo_list[i].proc;
j++;
}
---- 5409,5419 ----
+--- b/5409,5419 ----
if (fifo_list[i].file)
{
! if (i != j)
@@ -74,7 +78,7 @@ Patch (apply with `patch -p0'):
int i;
if (list == 0)
---- 5431,5439 ----
+--- b/5431,5439 ----
void
close_new_fifos (list, lsize)
! void *list;
@@ -92,7 +96,7 @@ Patch (apply with `patch -p0'):
! if (list[i] == 0 && i < fifo_list_size && fifo_list[i].proc != -1)
unlink_fifo (i);
---- 5443,5448 ----
+--- b/5443,5448 ----
}
! for (plist = (char *)list, i = 0; i < lsize; i++)
@@ -110,7 +114,7 @@ Patch (apply with `patch -p0'):
! char *ret;
if (nfds == 0 || totfds == 0)
---- 5566,5574 ----
+--- b/5566,5574 ----
}
! void *
@@ -132,7 +136,7 @@ Patch (apply with `patch -p0'):
! ret = (char *)xmalloc (totfds * sizeof (pid_t));
return (memcpy (ret, dev_fd_list, totfds * sizeof (pid_t)));
}
---- 5576,5585 ----
+--- b/5576,5585 ----
if (sizep)
*sizep = 0;
! return (void *)NULL;
@@ -153,7 +157,7 @@ Patch (apply with `patch -p0'):
int i;
if (list == 0)
---- 5654,5662 ----
+--- b/5654,5662 ----
void
close_new_fifos (list, lsize)
! void *list;
@@ -171,15 +175,15 @@ Patch (apply with `patch -p0'):
! if (list[i] == 0 && i < totfds && dev_fd_list[i])
unlink_fifo (i);
---- 5666,5671 ----
+--- b/5666,5671 ----
}
! for (plist = (pid_t *)list, i = 0; i < lsize; i++)
! if (plist[i] == 0 && i < totfds && dev_fd_list[i])
unlink_fifo (i);
-*** ../bash-5.0-patched/subst.h 2018-10-21 18:46:09.000000000 -0400
---- subst.h 2020-04-02 16:29:28.000000000 -0400
+*** bash-5.0-patched/subst.h 2018-10-21 18:46:09.000000000 -0400
+--- b/subst.h 2020-04-02 16:29:28.000000000 -0400
***************
*** 274,280 ****
extern void unlink_fifo __P((int));
@@ -189,15 +193,15 @@ Patch (apply with `patch -p0'):
! extern void close_new_fifos __P((char *, int));
extern void clear_fifo_list __P((void));
---- 274,279 ----
+--- b/274,279 ----
extern void unlink_fifo __P((int));
! extern void *copy_fifo_list __P((int *));
! extern void close_new_fifos __P((void *, int));
extern void clear_fifo_list __P((void));
-*** ../bash-5.0-patched/execute_cmd.c 2020-02-06 20:16:48.000000000 -0500
---- execute_cmd.c 2020-04-02 17:00:10.000000000 -0400
+*** bash-5.0-patched/execute_cmd.c 2020-02-06 20:16:48.000000000 -0500
+--- b/execute_cmd.c 2020-04-02 17:00:10.000000000 -0400
***************
*** 565,569 ****
#if defined (PROCESS_SUBSTITUTION)
@@ -205,7 +209,7 @@ Patch (apply with `patch -p0'):
! volatile char *ofifo_list;
#endif
---- 565,569 ----
+--- b/565,569 ----
#if defined (PROCESS_SUBSTITUTION)
volatile int ofifo, nfifo, osize, saved_fifo;
! volatile void *ofifo_list;
@@ -223,7 +227,7 @@ Patch (apply with `patch -p0'):
! add_unwind_protect (xfree, ofifo_list);
saved_fifo = 1;
}
---- 751,762 ----
+--- b/751,762 ----
# endif
! /* XXX - also if sourcelevel != 0? */
@@ -262,7 +266,7 @@ Patch (apply with `patch -p0'):
- # endif /* HAVE_DEV_FD */
#endif
---- 1102,1109 ----
+--- b/1102,1109 ----
nfifo = num_fifos ();
if (nfifo > ofifo)
! close_new_fifos ((void *)ofifo_list, osize);
@@ -272,8 +276,8 @@ Patch (apply with `patch -p0'):
#endif
-*** ../bash-5.0/patchlevel.h 2016-06-22 14:51:03.000000000 -0400
---- patchlevel.h 2016-10-01 11:01:28.000000000 -0400
+*** bash-5.0/patchlevel.h 2016-06-22 14:51:03.000000000 -0400
+--- b/patchlevel.h 2016-10-01 11:01:28.000000000 -0400
***************
*** 26,30 ****
looks for to find the patch level (for the sccs version string). */
@@ -281,7 +285,7 @@ Patch (apply with `patch -p0'):
! #define PATCHLEVEL 16
#endif /* _PATCHLEVEL_H_ */
---- 26,30 ----
+--- b/26,30 ----
looks for to find the patch level (for the sccs version string). */
! #define PATCHLEVEL 17
diff --git a/package/bash/patches/0018-bash50-018.patch b/package/bash/patches/0018-bash50-018.patch
new file mode 100644
index 00000000..efecb189
--- /dev/null
+++ b/package/bash/patches/0018-bash50-018.patch
@@ -0,0 +1,49 @@
+From https://ftp.gnu.org/gnu/bash/bash-5.0-patches/bash55-018
+
+Signed-off-by: Peter Korsgaard
+
+ BASH PATCH REPORT
+ =================
+
+Bash-Release: 5.0
+Patch-ID: bash50-018
+
+Bug-Reported-by: oguzismailuysal@gmail.com
+Bug-Reference-ID:
+Bug-Reference-URL: https://lists.gnu.org/archive/html/bug-bash/2019-10/msg00098.html
+
+Bug-Description:
+
+In certain cases, bash does not perform quoted null removal on patterns
+that are used as part of word expansions such as ${parameter##pattern}, so
+empty patterns are treated as non-empty.
+
+Patch (apply with `patch -p0'):
+
+*** bash-5.0.17/subst.c 2020-04-02 17:14:58.000000000 -0400
+--- b/subst.c 2020-07-09 15:28:19.000000000 -0400
+***************
+*** 5113,5116 ****
+--- b/5113,5118 ----
+ (int *)NULL, (int *)NULL)
+ : (WORD_LIST *)0;
++ if (l)
++ word_list_remove_quoted_nulls (l);
+ pat = string_list (l);
+ dispose_words (l);
+
+*** bash-5.0/patchlevel.h 2016-06-22 14:51:03.000000000 -0400
+--- b/patchlevel.h 2016-10-01 11:01:28.000000000 -0400
+***************
+*** 26,30 ****
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 17
+
+ #endif /* _PATCHLEVEL_H_ */
+--- b/26,30 ----
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 18
+
+ #endif /* _PATCHLEVEL_H_ */
diff --git a/package/bash/patches/0019-input.h-add-missing-include-on-stdio.h.patch b/package/bash/patches/0019-input.h-add-missing-include-on-stdio.h.patch
new file mode 100644
index 00000000..fd008e94
--- /dev/null
+++ b/package/bash/patches/0019-input.h-add-missing-include-on-stdio.h.patch
@@ -0,0 +1,38 @@
+From 4fa85c85b9a76afd3b19ed75bf17ccd2940f1f55 Mon Sep 17 00:00:00 2001
+From: Fabrice Fontaine
+Date: Sun, 16 Feb 2020 16:18:48 +0100
+Subject: [PATCH] input.h: add missing include on stdio.h
+
+This will fix the following build failure on uclibc:
+
+test -n "/usr/lfs/hdd_v1/rc-buildroot-test/scripts/instance-2/output/host/bin/arm-linux-ranlib" && /usr/lfs/hdd_v1/rc-buildroot-test/scripts/instance-2/output/host/bin/arm-linux-ranlib libsh.a
+In file included from ./exec.def:71:
+../input.h:76:3: error: unknown type name 'FILE'
+ FILE *file;
+ ^~~~
+
+Fixes:
+ - http://autobuild.buildroot.org/results/bfca306868df54c567215c45c8cdac838d02f567
+
+Signed-off-by: Fabrice Fontaine
+[Upstream status: https://savannah.gnu.org/support/?110196]
+---
+ input.h | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/input.h b/input.h
+index 6aef1269..08b0fdea 100644
+--- a/input.h
++++ b/input.h
+@@ -21,6 +21,8 @@
+ #if !defined (_INPUT_H_)
+ #define _INPUT_H_
+
++#include
++
+ #include "stdc.h"
+
+ /* Function pointers can be declared as (Function *)foo. */
+--
+2.24.1
+
diff --git a/package/bash/patches/0020-locale.c-fix-build-without-wchar.patch b/package/bash/patches/0020-locale.c-fix-build-without-wchar.patch
new file mode 100644
index 00000000..15c5f2e4
--- /dev/null
+++ b/package/bash/patches/0020-locale.c-fix-build-without-wchar.patch
@@ -0,0 +1,84 @@
+From 73ca494c60d46103f806325e6ccbe9e400238008 Mon Sep 17 00:00:00 2001
+From: Fabrice Fontaine
+Date: Sun, 23 Feb 2020 11:41:09 +0100
+Subject: [PATCH] locale.c: fix build without wchar
+
+bash unconditionally builds locale.c which depends on mblen since
+version 5.0 and
+https://github.com/bminor/bash/commit/d233b485e83c3a784b803fb894280773f16f2deb
+
+This results in the following build failure if wchar is not available:
+
+/home/buildroot/autobuild/run/instance-0/output-1/host/bin/microblazeel-buildroot-linux-uclibc-gcc -L./builtins -L/home/buildroot/autobuild/run/instance-0/output-1/host/microblazeel-buildroot-linux-uclibc/sysroot/lib -L/home/buildroot/autobuild/run/instance-0/output-1/host/microblazeel-buildroot-linux-uclibc/sysroot/lib -L./lib/glob -L./lib/tilde -L./lib/sh -rdynamic -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -O2 -Wno-parentheses -Wno-format-security -o bash shell.o eval.o y.tab.o general.o make_cmd.o print_cmd.o dispose_cmd.o execute_cmd.o variables.o copy_cmd.o error.o expr.o flags.o jobs.o subst.o hashcmd.o hashlib.o mailcheck.o trap.o input.o unwind_prot.o pathexp.o sig.o test.o version.o alias.o array.o arrayfunc.o assoc.o braces.o bracecomp.o bashhist.o bashline.o list.o stringlib.o locale.o findcmd.o redir.o pcomplete.o pcomplib.o syntax.o xmalloc.o signames.o -lbuiltins -lglob -lsh -lreadline -lhistory -lcurses -ltilde -ldl
+/home/buildroot/autobuild/run/instance-0/output-1/host/lib/gcc/microblazeel-buildroot-linux-uclibc/8.3.0/../../../../microblazeel-buildroot-linux-uclibc/bin/ld: locale.o: in function `set_default_locale':
+(.text+0x260): undefined reference to `mblen'
+
+To fix this issue, don't use mblen if HANDLE_MULTIBYTE is not defined,
+an other possibility would be to use MBLEN wrapper defined in shmbutil.h
+
+Fixes:
+ - http://autobuild.buildroot.org/results/298fb9c785e137bff432dd304eb56986e54ce3ed
+
+Signed-off-by: Fabrice Fontaine
+[Upstream status: https://savannah.gnu.org/support/index.php?110200]
+---
+ locale.c | 10 ++++++++++
+ 1 file changed, 10 insertions(+)
+
+diff --git a/locale.c b/locale.c
+index d62547f6..a64c5b4b 100644
+--- a/locale.c
++++ b/locale.c
+@@ -86,7 +86,9 @@ set_default_locale ()
+
+ locale_mb_cur_max = MB_CUR_MAX;
+ locale_utf8locale = locale_isutf8 (default_locale);
++#if defined (HANDLE_MULTIBYTE)
+ locale_shiftstates = mblen ((char *)NULL, 0);
++#endif
+ }
+
+ /* Set default values for LC_CTYPE, LC_COLLATE, LC_MESSAGES, LC_NUMERIC and
+@@ -107,7 +109,9 @@ set_default_locale_vars ()
+ locale_setblanks ();
+ locale_mb_cur_max = MB_CUR_MAX;
+ locale_utf8locale = locale_isutf8 (lc_all);
++# if defined (HANDLE_MULTIBYTE)
+ locale_shiftstates = mblen ((char *)NULL, 0);
++# endif
+ u32reset ();
+ }
+ # endif
+@@ -211,7 +215,9 @@ set_locale_var (var, value)
+ /* if LC_ALL == "", reset_locale_vars has already called this */
+ if (*lc_all && x)
+ locale_utf8locale = locale_isutf8 (lc_all);
++# if defined (HANDLE_MULTIBYTE)
+ locale_shiftstates = mblen ((char *)NULL, 0);
++# endif
+ u32reset ();
+ return r;
+ #else
+@@ -231,7 +237,9 @@ set_locale_var (var, value)
+ /* if setlocale() returns NULL, the locale is not changed */
+ if (x)
+ locale_utf8locale = locale_isutf8 (x);
++# if defined (HANDLE_MULTIBYTE)
+ locale_shiftstates = mblen ((char *)NULL, 0);
++# endif
+ u32reset ();
+ }
+ # endif
+@@ -368,7 +376,9 @@ reset_locale_vars ()
+ locale_mb_cur_max = MB_CUR_MAX;
+ if (x)
+ locale_utf8locale = locale_isutf8 (x);
++# if defined (HANDLE_MULTIBYTE)
+ locale_shiftstates = mblen ((char *)NULL, 0);
++# endif
+ u32reset ();
+ #endif
+ return 1;
+--
+2.25.0
+