Acked-by: Peter Müller peter.mueller@ipfire.org
- Update main file from 5.1 to 5.1.8 (includes patches 1 to 8)
- Remove patches 1 to 4
- Changelog - Patches 1 to 4 from the previous IPFire version together with patches 5 to 8 are now included into bash-5.1.8 followed by application of patches 9 to 12 Patch 12 There is a possible race condition that arises when a child process receives a signal trapped by the parent before it can reset the signal dispositions. The child process is not supposed to trap the signal in this circumstance. Patch 11 When reading a compound assignment, and running it through the parser to split it into words, we need to save and restore any alias we're currently expanding. Patch 10 If `wait -n' is interrupted by a trapped signal other than SIGINT, it does not completely clean up state, and that can prevent subsequent calls to `wait -n' from working correctly. Patch 9 The bash malloc implementation of malloc_usable_size() does not follow the specification. This can cause library functions that use it to overwrite memory bounds checking. Patch 8 Process substitution FIFOs opened by child processes as targets of redirections were not removed appropriately, leaving remnants in the file system. Patch 7 The code to check readline versions in an inputrc file had the sense of the comparisons reversed. Patch 6 Make sure child processes forked to run command substitutions are in the proper process group. Patch 5 Fix two memory leaks when assigning arrays using compound assignment syntax.
Signed-off-by: Adolf Belka adolf.belka@ipfire.org
lfs/bash | 6 +- src/patches/bash/bash51-001 | 80 --------------- src/patches/bash/bash51-002 | 57 ----------- src/patches/bash/bash51-003 | 53 ---------- src/patches/bash/bash51-004 | 126 ----------------------- src/patches/bash/bash51-009 | 59 +++++++++++ src/patches/bash/bash51-010 | 59 +++++++++++ src/patches/bash/bash51-011 | 81 +++++++++++++++ src/patches/bash/bash51-012 | 198 ++++++++++++++++++++++++++++++++++++ 9 files changed, 400 insertions(+), 319 deletions(-) delete mode 100644 src/patches/bash/bash51-001 delete mode 100644 src/patches/bash/bash51-002 delete mode 100644 src/patches/bash/bash51-003 delete mode 100644 src/patches/bash/bash51-004 create mode 100644 src/patches/bash/bash51-009 create mode 100644 src/patches/bash/bash51-010 create mode 100644 src/patches/bash/bash51-011 create mode 100644 src/patches/bash/bash51-012
diff --git a/lfs/bash b/lfs/bash index 7b0baccad..1bf3eb2ec 100644 --- a/lfs/bash +++ b/lfs/bash @@ -24,7 +24,7 @@
include Config
-VER = 5.1 +VER = 5.1.8
THISAPP = bash-$(VER) DL_FILE = $(THISAPP).tar.gz @@ -53,7 +53,7 @@ objects = $(DL_FILE)
$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
-$(DL_FILE)_MD5 = bb91a17fd6c9032c26d0b2b78b50aff5 +$(DL_FILE)_MD5 = 23eee6195b47318b9fd878e590ccb38c
install : $(TARGET)
@@ -87,7 +87,7 @@ $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects)) sed -e "s/filename, RTLD_LAZY/filename, RTLD_NOW/" \ -i $(DIR_APP)/builtins/enable.def
- for i in $$(seq 1 4); do \
- for i in $$(seq 9 12); do \ cd $(DIR_APP) && patch -Np0 < $(DIR_SRC)/src/patches/bash/bash51-$$(printf "%03d" "$${i}") || exit 1; \ done
diff --git a/src/patches/bash/bash51-001 b/src/patches/bash/bash51-001 deleted file mode 100644 index 6f29981d2..000000000 --- a/src/patches/bash/bash51-001 +++ /dev/null @@ -1,80 +0,0 @@
BASH PATCH REPORT
=================
-Bash-Release: 5.1 -Patch-ID: bash51-001
-Bug-Reported-by: Fazal Majid fazal@majid.org -Bug-Reference-ID: DEAB7D2C-C626-450C-B2E5-281AFF2D26D4@majid.org -Bug-Reference-URL: https://lists.gnu.org/archive/html/bug-bash/2020-12/msg00000.html
-Bug-Description:
-There is a missing dependency on a constructed file, which can cause highly -parellel builds to fail.
-Patch (apply with `patch -p0'):
-*** ../bash-5.1-patched/Makefile.in 2020-12-04 09:51:19.000000000 -0500 ---- Makefile.in 2020-12-16 11:28:36.000000000 -0500 -*************** -*** 1316,1319 **** ---- 1316,1320 ----
- bashline.o: pcomplete.h ${BASHINCDIR}/chartypes.h input.h
- bashline.o: ${BASHINCDIR}/shmbutil.h ${BASHINCDIR}/shmbchar.h
-+ bashline.o: ${DEFDIR}/builtext.h
- bracecomp.o: config.h bashansi.h ${BASHINCDIR}/ansi_stdlib.h
- bracecomp.o: shell.h syntax.h config.h bashjmp.h ${BASHINCDIR}/posixjmp.h
-*************** -*** 1436,1439 **** ---- 1437,1441 ----
- builtins/evalstring.o: jobs.h builtins.h flags.h input.h execute_cmd.h
- builtins/evalstring.o: bashhist.h $(DEFSRC)/common.h pathnames.h
-+ builtins/evalstring.o: ${DEFDIR}/builtext.h
- builtins/getopt.o: config.h ${BASHINCDIR}/memalloc.h
- builtins/getopt.o: shell.h syntax.h bashjmp.h command.h general.h xmalloc.h error.h
-*** ../bash-5.1-patched/builtins/Makefile.in 2019-07-25 08:03:45.000000000 -0400 ---- builtins/Makefile.in 2020-12-16 11:29:29.000000000 -0500 -*************** -*** 362,366 ****
- evalstring.o: $(topdir)/flags.h $(topdir)/input.h $(topdir)/execute_cmd.h
- evalstring.o: $(topdir)/bashhist.h $(srcdir)/common.h
-! evalstring.o: $(topdir)/trap.h $(topdir)/redir.h ../pathnames.h
- #evalstring.o: $(topdir)/y.tab.h
- getopt.o: ../config.h $(BASHINCDIR)/memalloc.h
---- 362,366 ----
- evalstring.o: $(topdir)/flags.h $(topdir)/input.h $(topdir)/execute_cmd.h
- evalstring.o: $(topdir)/bashhist.h $(srcdir)/common.h
-! evalstring.o: $(topdir)/trap.h $(topdir)/redir.h ../pathnames.h ./builtext.h
- #evalstring.o: $(topdir)/y.tab.h
- getopt.o: ../config.h $(BASHINCDIR)/memalloc.h
-*** ../bash-5.1/patchlevel.h 2020-06-22 14:51:03.000000000 -0400 ---- patchlevel.h 2020-10-01 11:01:28.000000000 -0400 -*************** -*** 1,5 ****
- /* patchlevel.h -- current bash patch level */
-! /* Copyright (C) 2001-2016 Free Software Foundation, Inc.
This file is part of GNU Bash, the Bourne Again SHell.
---- 1,5 ----
- /* patchlevel.h -- current bash patch level */
-! /* Copyright (C) 2001-2020 Free Software Foundation, Inc.
This file is part of GNU Bash, the Bourne Again SHell.
-*************** -*** 26,30 ****
looks for to find the patch level (for the sccs version string). */
-! #define PATCHLEVEL 0
- #endif /* _PATCHLEVEL_H_ */
---- 26,30 ----
looks for to find the patch level (for the sccs version string). */
-! #define PATCHLEVEL 1
- #endif /* _PATCHLEVEL_H_ */
diff --git a/src/patches/bash/bash51-002 b/src/patches/bash/bash51-002 deleted file mode 100644 index 8c991649a..000000000 --- a/src/patches/bash/bash51-002 +++ /dev/null @@ -1,57 +0,0 @@
BASH PATCH REPORT
=================
-Bash-Release: 5.1 -Patch-ID: bash51-002
-Bug-Reported-by: oguzismailuysal@gmail.com -Bug-Reference-ID: CAH7i3LoHFUa4aSF5-AD2r80HG-p-YzD_9ZxomarZkhP8NMq63g@mail.gmail.com -Bug-Reference-URL: https://lists.gnu.org/archive/html/bug-bash/2020-12/msg00037.html
-Bug-Description:
-If there are no jobs, and the `-n' and `-p' options are both supplied to -`wait', bash can assign a value to the variable name specified with `-p' -instead of leaving it unset.
-Patch (apply with `patch -p0'):
-*** ../bash-5.1-patched/builtins/wait.def 2020-04-09 15:13:57.000000000 -0400 ---- builtins/wait.def 2020-12-11 09:46:49.000000000 -0500 -*************** -*** 214,222 ****
status = wait_for_any_job (wflags, &pstat);
-- if (status < 0) -- status = 127;