diff --git a/bash.spec b/bash.spec index d0aa248..81f237e 100644 --- a/bash.spec +++ b/bash.spec @@ -1,11 +1,11 @@ #%define beta_tag rc1 -%define patchlevel .33 +%define patchlevel .35 %define baseversion 4.0 Version: %{baseversion}%{patchlevel} Name: bash Summary: The GNU Bourne Again shell -Release: 2%{?dist} +Release: 1%{?dist} Group: System Environment/Shells License: GPLv2+ Url: http://www.gnu.org/software/bash @@ -52,6 +52,8 @@ Patch030: ftp://ftp.gnu.org/pub/gnu/bash/bash-4.0-patches/bash40-030 Patch031: ftp://ftp.gnu.org/pub/gnu/bash/bash-4.0-patches/bash40-031 Patch032: ftp://ftp.gnu.org/pub/gnu/bash/bash-4.0-patches/bash40-032 Patch033: ftp://ftp.gnu.org/pub/gnu/bash/bash-4.0-patches/bash40-033 +Patch034: ftp://ftp.gnu.org/pub/gnu/bash/bash-4.0-patches/bash40-034 +Patch035: ftp://ftp.gnu.org/pub/gnu/bash/bash-4.0-patches/bash40-035 # Other patches Patch101: bash-2.02-security.patch @@ -137,6 +139,8 @@ This package contains documentation files for %{name}. %patch031 -p0 -b .031 %patch032 -p0 -b .032 %patch033 -p0 -b .033 +%patch034 -p0 -b .034 +%patch035 -p0 -b .035 # Other patches %patch101 -p1 -b .security @@ -324,6 +328,9 @@ fi #%doc doc/*.ps doc/*.0 doc/*.html doc/article.txt %changelog +* Thu Oct 29 2009 Roman Rakus - 4.0.35-1 +- Patch level 35 + * Mon Oct 05 2009 Roman Rakus - 4.0.33-2 - Make symlink from bashbug-suffix to bashbug man pages diff --git a/bash40-034 b/bash40-034 new file mode 100644 index 0000000..bacb33c --- /dev/null +++ b/bash40-034 @@ -0,0 +1,59 @@ + BASH PATCH REPORT + ================= + +Bash-Release: 4.0 +Patch-ID: bash40-034 + +Bug-Reported-by: Anders Kaseorg +Bug-Reference-ID: <1252856832.991059.8162.nullmailer@balanced-tree.mit.edu> +Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2009-09/msg00043.html + +Bug-Description: + +When using the globstar option, bash incorrectly interprets wildcarded path +components between a **/ and the last / as matching any path, even if the +constructed path does not match any files. + +Patch: + +*** ../bash-4.0-patched/lib/glob/glob.c 2009-07-22 23:18:50.000000000 -0400 +--- lib/glob/glob.c 2009-09-18 17:53:25.000000000 -0400 +*************** +*** 920,928 **** + char **temp_results; + + /* Scan directory even on a NULL filename. That way, `*h/' + returns only directories ending in `h', instead of all + files ending in `h' with a `/' appended. */ + dname = directories[i]; +! dflags = flags & ~GX_MARKDIRS; + if ((flags & GX_GLOBSTAR) && filename[0] == '*' && filename[1] == '*' && filename[2] == '\0') + dflags |= GX_ALLDIRS|GX_ADDCURDIR; +--- 927,938 ---- + char **temp_results; + ++ /* XXX -- we've recursively scanned any directories resulting from ++ a `**', so turn off the flag. We turn it on again below if ++ filename is `**' */ + /* Scan directory even on a NULL filename. That way, `*h/' + returns only directories ending in `h', instead of all + files ending in `h' with a `/' appended. */ + dname = directories[i]; +! dflags = flags & ~(GX_MARKDIRS|GX_ALLDIRS|GX_ADDCURDIR); + if ((flags & GX_GLOBSTAR) && filename[0] == '*' && filename[1] == '*' && filename[2] == '\0') + dflags |= GX_ALLDIRS|GX_ADDCURDIR; +*** ../bash-4.0/patchlevel.h 2009-01-04 14:32:40.000000000 -0500 +--- patchlevel.h 2009-02-22 16:11:31.000000000 -0500 +*************** +*** 26,30 **** + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 33 + + #endif /* _PATCHLEVEL_H_ */ +--- 26,30 ---- + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 34 + + #endif /* _PATCHLEVEL_H_ */ diff --git a/bash40-035 b/bash40-035 new file mode 100644 index 0000000..3b1af75 --- /dev/null +++ b/bash40-035 @@ -0,0 +1,62 @@ + BASH PATCH REPORT + ================= + +Bash-Release: 4.0 +Patch-ID: bash40-035 + +Bug-Reported-by: Freddy Vulto +Bug-Reference-ID: +Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2009-09/msg00044.html + +Bug-Description: + +Bash-4.0 incorrectly treated single and double quotes as delimiters rather +than introducing quoted strings when splitting the line into words for +programmable completion functions. + +Patch: + +*** ../bash-4.0-patched/pcomplete.c 2009-03-08 21:24:31.000000000 -0400 +--- pcomplete.c 2009-09-26 16:30:16.000000000 -0400 +*************** +*** 1176,1186 **** + WORD_LIST *ret; + char *delims; + +! #if 0 +! delims = "()<>;&| \t\n"; /* shell metacharacters break words */ +! #else +! delims = rl_completer_word_break_characters; +! #endif + ret = split_at_delims (line, llen, delims, sentinel, nwp, cwp); + return (ret); + } +--- 1176,1188 ---- + WORD_LIST *ret; + char *delims; ++ int i, j; + +! delims = xmalloc (strlen (rl_completer_word_break_characters) + 1); +! for (i = j = 0; rl_completer_word_break_characters[i]; i++) +! if (rl_completer_word_break_characters[i] != '\'' && rl_completer_word_break_characters[i] != '"') +! delims[j++] = rl_completer_word_break_characters[i]; +! delims[j] = '\0'; + ret = split_at_delims (line, llen, delims, sentinel, nwp, cwp); ++ free (delims); + return (ret); + } +*** ../bash-4.0/patchlevel.h 2009-01-04 14:32:40.000000000 -0500 +--- patchlevel.h 2009-02-22 16:11:31.000000000 -0500 +*************** +*** 26,30 **** + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 34 + + #endif /* _PATCHLEVEL_H_ */ +--- 26,30 ---- + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 35 + + #endif /* _PATCHLEVEL_H_ */