* Patch for a critical bug in bash.

svn path=/nixpkgs/trunk/; revision=6848
This commit is contained in:
Eelco Dolstra 2006-10-25 12:38:57 +00:00
parent 02254ec3d8
commit 4f03dec496
3 changed files with 59 additions and 2 deletions

View File

@ -0,0 +1,47 @@
BASH PATCH REPORT
=================
Bash-Release: 3.2
Patch-ID: bash32-001
Bug-Reported-by: Greg Schafer <gschafer@zip.com.au>
Bug-Reference-ID: <20061012084940.GA15768@tigers.local>
Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2006-10/msg00046.html
Bug-Description:
When using historical ``-style command substitution, bash incorrectly attempts
to interpret shell comments while scanning for the closing backquote.
Patch:
*** bash-3.2/parse.y Tue Sep 19 16:37:21 2006
--- new-bash/parse.y Thu Oct 12 10:30:57 2006
***************
*** 2736,2740 ****
count = 1;
pass_next_character = backq_backslash = was_dollar = in_comment = 0;
! check_comment = (flags & P_COMMAND) && qc != '\'' && qc != '"' && (flags & P_DQUOTE) == 0;
/* RFLAGS is the set of flags we want to pass to recursive calls. */
--- 2736,2740 ----
count = 1;
pass_next_character = backq_backslash = was_dollar = in_comment = 0;
! check_comment = (flags & P_COMMAND) && qc != '`' && qc != '\'' && qc != '"' && (flags & P_DQUOTE) == 0;
/* RFLAGS is the set of flags we want to pass to recursive calls. */
*** bash-3.2/patchlevel.h Thu Apr 13 08:31:04 2006
--- new-bash/patchlevel.h Mon Oct 16 14:22:54 2006
***************
*** 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_ */

View File

@ -1,4 +1,4 @@
{stdenv, fetchurl}: {stdenv, fetchurl, bison}:
stdenv.mkDerivation { stdenv.mkDerivation {
name = "bash-3.2"; name = "bash-3.2";
@ -8,7 +8,16 @@ stdenv.mkDerivation {
md5 = "00bfa16d58e034e3c2aa27f390390d30"; md5 = "00bfa16d58e034e3c2aa27f390390d30";
}; };
patches = [./winsize.patch]; patches = [
# Fix a nasty bug in bash-3.2.
./bash32-001.patch
# For dietlibc builds.
./winsize.patch
];
# !!! only needed for bash-3.2 (because of bash32-001.patch)
buildInputs = [bison];
meta = { meta = {
description = "GNU Bourne-Again Shell, the de facto standard shell on Linux"; description = "GNU Bourne-Again Shell, the de facto standard shell on Linux";

View File

@ -502,6 +502,7 @@ rec {
bash = useFromStdenv (stdenv ? bash) stdenv.bash bash = useFromStdenv (stdenv ? bash) stdenv.bash
(import ../shells/bash { (import ../shells/bash {
inherit fetchurl stdenv; inherit fetchurl stdenv;
bison = bison23;
}); });
tcsh = import ../shells/tcsh { tcsh = import ../shells/tcsh {