Author: arekm Date: Thu Sep 17 21:29:26 2009 GMT Module: packages Tag: HEAD ---- Log message: - up to 4.0.33
---- Files affected: packages/bash: bash.spec (1.200 -> 1.201) , bash40-029 (NONE -> 1.1) (NEW), bash40-030 (NONE -> 1.1) (NEW), bash40-031 (NONE -> 1.1) (NEW), bash40-032 (NONE -> 1.1) (NEW), bash40-033 (NONE -> 1.1) (NEW) ---- Diffs: ================================================================ Index: packages/bash/bash.spec diff -u packages/bash/bash.spec:1.200 packages/bash/bash.spec:1.201 --- packages/bash/bash.spec:1.200 Fri Jul 31 22:48:30 2009 +++ packages/bash/bash.spec Thu Sep 17 23:29:20 2009 @@ -6,7 +6,7 @@ %bcond_without tests # do not perform "make test" # %define ver 4.0 -%define patchlevel 28 +%define patchlevel 33 %define rel 1 Summary: GNU Bourne Again Shell (bash) Summary(fr.UTF-8): Le shell Bourne Again de GNU @@ -316,6 +316,9 @@ All persons listed below can be reached at <cvs_login>@pld-linux.org $Log$ +Revision 1.201 2009/09/17 21:29:20 arekm +- up to 4.0.33 + Revision 1.200 2009/07/31 20:48:30 arekm - up to 4.0.28 ================================================================ Index: packages/bash/bash40-029 diff -u /dev/null packages/bash/bash40-029:1.1 --- /dev/null Thu Sep 17 23:29:26 2009 +++ packages/bash/bash40-029 Thu Sep 17 23:29:20 2009 @@ -0,0 +1,106 @@ + BASH PATCH REPORT + ================= + +Bash-Release: 4.0 +Patch-ID: bash40-029 + +Bug-Reported-by: Christian Krause <[email protected]> +Bug-Reference-ID: Thu, 25 Jun 2009 21:47:59 +0200 +Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2009-06/msg00078.html + +Bug-Description: + +Previous versions of bash accepted strings in the initial environment +that were not valid shell variable assignments, usually because the +names were invalid, but still created shell variables from them and +passed them to child processes in the environment. + +Bash-4.0 ignores those names and does not pass them to child processes. +Some users and automated processes depend on invalid variables being +ignored and passed to child processes. + +This patch makes bash continue to ignore the invalid names, but pass +them to child processes in the export environment. + +Patch: + +*** ../bash-4.0-patched/variables.c 2009-01-04 14:32:46.000000000 -0500 +--- variables.c 2009-06-29 09:17:20.000000000 -0400 +*************** +*** 253,256 **** +--- 255,259 ---- + static int visible_var __P((SHELL_VAR *)); + static int visible_and_exported __P((SHELL_VAR *)); ++ static int export_environment_candidate __P((SHELL_VAR *)); + static int local_and_exported __P((SHELL_VAR *)); + static int variable_in_context __P((SHELL_VAR *)); +*************** +*** 376,383 **** + # endif + #endif + else if (legal_identifier (name)) + { + temp_var = bind_variable (name, string, 0); +! VSETATTR (temp_var, (att_exported | att_imported)); + array_needs_making = 1; + } +--- 379,393 ---- + # endif + #endif ++ #if 0 + else if (legal_identifier (name)) ++ #else ++ else ++ #endif + { + temp_var = bind_variable (name, string, 0); +! if (legal_identifier (name)) +! VSETATTR (temp_var, (att_exported | att_imported)); +! else +! VSETATTR (temp_var, (att_exported | att_imported | att_invisible)); + array_needs_making = 1; + } +*************** +*** 3083,3086 **** +--- 3098,3111 ---- + } + ++ /* Candidate variables for the export environment are either valid variables ++ with the export attribute or invalid variables inherited from the initial ++ environment and simply passed through. */ ++ static int ++ export_environment_candidate (var) ++ SHELL_VAR *var; ++ { ++ return (exported_p (var) && (invisible_p (var) == 0 || imported_p (var))); ++ } ++ + /* Return non-zero if VAR is a local variable in the current context and + is exported. */ +*************** +*** 3439,3443 **** +--- 3464,3472 ---- + SHELL_VAR **vars; + ++ #if 0 + vars = map_over (visible_and_exported, vcxt); ++ #else ++ vars = map_over (export_environment_candidate, vcxt); ++ #endif + + if (vars == 0) +*** ../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 28 + + #endif /* _PATCHLEVEL_H_ */ +--- 26,30 ---- + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 29 + + #endif /* _PATCHLEVEL_H_ */ ================================================================ Index: packages/bash/bash40-030 diff -u /dev/null packages/bash/bash40-030:1.1 --- /dev/null Thu Sep 17 23:29:26 2009 +++ packages/bash/bash40-030 Thu Sep 17 23:29:20 2009 @@ -0,0 +1,64 @@ + BASH PATCH REPORT + ================= + +Bash-Release: 4.0 +Patch-ID: bash40-030 + +Bug-Reported-by: Henning Bekel <[email protected]> +Bug-Reference-ID: <[email protected]> +Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2009-07/msg00054.html + +Bug-Description: + +A shell function invoked with `bind -x' is supposed to be able to move the +cursor by setting READLINE_POINT. The effects of this assignment were +sometimes ignored. + +Patch: + +*** ../bash-4.0-patched/bashline.c 2009-01-08 09:29:24.000000000 -0500 +--- bashline.c 2009-07-16 14:13:41.000000000 -0400 +*************** +*** 3389,3393 **** + register int i; + intmax_t mi; +- int save_point; + sh_parser_state_t ps; + char *cmd, *value, *l; +--- 3389,3392 ---- +*************** +*** 3433,3437 **** + VSETATTR (v, att_exported); + l = value_cell (v); +- save_point = rl_point; + value = inttostr (rl_point, ibuf, sizeof (ibuf)); + v = bind_int_variable ("READLINE_POINT", value); +--- 3432,3435 ---- +*************** +*** 3451,3455 **** + { + i = mi; +! if (i != save_point) + { + rl_point = i; +--- 3449,3453 ---- + { + i = mi; +! if (i != rl_point) + { + rl_point = i; +*** ../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 29 + + #endif /* _PATCHLEVEL_H_ */ +--- 26,30 ---- + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 30 + + #endif /* _PATCHLEVEL_H_ */ ================================================================ Index: packages/bash/bash40-031 diff -u /dev/null packages/bash/bash40-031:1.1 --- /dev/null Thu Sep 17 23:29:26 2009 +++ packages/bash/bash40-031 Thu Sep 17 23:29:20 2009 @@ -0,0 +1,62 @@ + BASH PATCH REPORT + ================= + +Bash-Release: 4.0 +Patch-ID: bash40-031 + +Bug-Reported-by: Roman Rakus <[email protected]> +Bug-Reference-ID: <[email protected]> +Bug-Reference-URL: + +Bug-Description: + +An implicit assignment to index "0" of an existing array variable caused +the shell to crash when the variable was unset. + +Patch: + +*** ../bash-4.0-patched/arrayfunc.c 2009-03-08 21:24:39.000000000 -0400 +--- arrayfunc.c 2009-08-24 09:29:43.000000000 -0400 +*************** +*** 99,103 **** + hash = assoc_create (0); + if (oldval) +! assoc_insert (hash, "0", oldval); + + FREE (value_cell (var)); +--- 99,103 ---- + hash = assoc_create (0); + if (oldval) +! assoc_insert (hash, savestring ("0"), oldval); + + FREE (value_cell (var)); +*** ../bash-4.0-patched/variables.c 2009-01-04 14:32:46.000000000 -0500 +--- variables.c 2009-08-24 09:29:58.000000000 -0400 +*************** +*** 2218,2222 **** + else if (assoc_p (entry)) + { +! assoc_insert (assoc_cell (entry), "0", newval); + free (newval); + } +--- 2218,2222 ---- + else if (assoc_p (entry)) + { +! assoc_insert (assoc_cell (entry), savestring ("0"), newval); + free (newval); + } +*** ../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 30 + + #endif /* _PATCHLEVEL_H_ */ +--- 26,30 ---- + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 31 + + #endif /* _PATCHLEVEL_H_ */ ================================================================ Index: packages/bash/bash40-032 diff -u /dev/null packages/bash/bash40-032:1.1 --- /dev/null Thu Sep 17 23:29:26 2009 +++ packages/bash/bash40-032 Thu Sep 17 23:29:20 2009 @@ -0,0 +1,46 @@ + BASH PATCH REPORT + ================= + +Bash-Release: 4.0 +Patch-ID: bash40-032 + +Bug-Reported-by: [email protected] +Bug-Reference-ID: <[email protected]> +Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2009-08/msg00090.html + +Bug-Description: + +Bash-4.0 has a memory leak when processing ${!pre...@}. + +Patch: + +*** ../bash-4.0-patched/subst.c 2009-07-22 23:18:55.000000000 -0400 +--- subst.c 2009-08-26 23:08:51.000000000 -0400 +*************** +*** 6607,6611 **** + } + free (x); +! free (xlist); + free (temp1); + *indexp = sindex; +--- 6769,6773 ---- + } + free (x); +! dispose_words (xlist); + free (temp1); + *indexp = sindex; +*** ../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 31 + + #endif /* _PATCHLEVEL_H_ */ +--- 26,30 ---- + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 32 + + #endif /* _PATCHLEVEL_H_ */ ================================================================ Index: packages/bash/bash40-033 diff -u /dev/null packages/bash/bash40-033:1.1 --- /dev/null Thu Sep 17 23:29:26 2009 +++ packages/bash/bash40-033 Thu Sep 17 23:29:20 2009 @@ -0,0 +1,50 @@ + BASH PATCH REPORT + ================= + +Bash-Release: 4.0 +Patch-ID: bash40-033 + +Bug-Reported-by: Dr. Werner Fink <[email protected]> +Bug-Reference-ID: <[email protected]> +Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2009-07/msg00000.html + +Bug-Description: + +Bash-4.0 has a memory leak in the `read' builtin when the number of fields +read is not the same as the number of variables passed as arguments. + +Patch: + +*** ../bash-4.0-patched/builtins/read.def 2009-03-08 21:24:45.000000000 -0400 +--- builtins/read.def 2009-07-01 15:32:42.000000000 -0400 +*************** +*** 764,768 **** + tofree = input_string = t; + else +! input_string = strip_trailing_ifs_whitespace (t1, ifs_chars, saw_escape); + } + #endif +--- 764,771 ---- + tofree = input_string = t; + else +! { +! input_string = strip_trailing_ifs_whitespace (t1, ifs_chars, saw_escape); +! tofree = t; +! } + } + #endif +*** ../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 32 + + #endif /* _PATCHLEVEL_H_ */ +--- 26,30 ---- + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 33 + + #endif /* _PATCHLEVEL_H_ */ ================================================================ ---- CVS-web: http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/packages/bash/bash.spec?r1=1.200&r2=1.201&f=u _______________________________________________ pld-cvs-commit mailing list [email protected] http://lists.pld-linux.org/mailman/listinfo/pld-cvs-commit
