diff options
| author | Bernhard Reutner-Fischer <rep.dot.nop@gmail.com> | 2007-02-16 13:11:04 +0000 | 
|---|---|---|
| committer | Bernhard Reutner-Fischer <rep.dot.nop@gmail.com> | 2007-02-16 13:11:04 +0000 | 
| commit | f9d7e9f0e7dc3a034c27bb52aea61f5c59c186ab (patch) | |
| tree | 68385550157878df67b15b097fda11ce3672fa3e | |
| parent | 5a3fa49e81799c124167b30229042caef22b46d1 (diff) | |
| download | buildroot-novena-f9d7e9f0e7dc3a034c27bb52aea61f5c59c186ab.tar.gz buildroot-novena-f9d7e9f0e7dc3a034c27bb52aea61f5c59c186ab.zip | |
- bump to bash 3.2. Thanks to Alexander Rigbo
| -rw-r--r-- | package/bash/bash.mk | 9 | ||||
| -rw-r--r-- | package/bash/bash31-001 | 104 | ||||
| -rw-r--r-- | package/bash/bash31-002 | 239 | ||||
| -rw-r--r-- | package/bash/bash31-003 | 47 | ||||
| -rw-r--r-- | package/bash/bash31-004 | 48 | ||||
| -rw-r--r-- | package/bash/bash31-005 | 54 | ||||
| -rw-r--r-- | package/bash/bash31-006 | 58 | ||||
| -rw-r--r-- | package/bash/bash31-007 | 121 | ||||
| -rw-r--r-- | package/bash/bash31-008 | 51 | ||||
| -rw-r--r-- | package/bash/bash31-009 | 66 | ||||
| -rw-r--r-- | package/bash/bash31-010 | 164 | ||||
| -rw-r--r-- | package/bash/bash31-011 | 47 | ||||
| -rw-r--r-- | package/bash/bash31-012 | 47 | ||||
| -rw-r--r-- | package/bash/bash31-013 | 44 | ||||
| -rw-r--r-- | package/bash/bash31-014 | 105 | ||||
| -rw-r--r-- | package/bash/bash31-015 | 106 | ||||
| -rw-r--r-- | package/bash/bash31-016 | 51 | ||||
| -rw-r--r-- | package/bash/bash31-017 | 131 | ||||
| -rw-r--r-- | package/bash/bash32-001 | 47 | ||||
| -rw-r--r-- | package/bash/bash32-002 | 48 | ||||
| -rw-r--r-- | package/bash/bash32-003 | 147 | ||||
| -rw-r--r-- | package/bash/bash32-004 | 96 | ||||
| -rw-r--r-- | package/bash/bash32-005 | 223 | ||||
| -rw-r--r-- | package/bash/bash32-006 | 45 | ||||
| -rw-r--r-- | package/bash/bash32-007 | 55 | ||||
| -rw-r--r-- | package/bash/bash32-008 | 48 | ||||
| -rw-r--r-- | package/bash/bash32-009 | 61 | 
27 files changed, 775 insertions, 1487 deletions
| diff --git a/package/bash/bash.mk b/package/bash/bash.mk index cd531f69a..d115e8f87 100644 --- a/package/bash/bash.mk +++ b/package/bash/bash.mk @@ -3,7 +3,7 @@  # bash  #  ############################################################# -BASH_VER:=3.1 +BASH_VER:=3.2  BASH_SOURCE:=bash-$(BASH_VER).tar.gz  BASH_SITE:=http://ftp.gnu.org/pub/gnu/bash  BASH_CAT:=$(ZCAT) @@ -23,7 +23,8 @@ $(BASH_DIR)/.unpacked: $(DL_DIR)/$(BASH_SOURCE)  	# This is broken when -lintl is added to LIBS  	$(SED) 's,LIBS_FOR_BUILD =.*,LIBS_FOR_BUILD =,g' \  		$(BASH_DIR)/builtins/Makefile.in -	touch $(BASH_DIR)/.unpacked +	$(CONFIG_UPDATE) $(BASH_DIR) +	touch $@  $(BASH_DIR)/.configured: $(BASH_DIR)/.unpacked  	#		bash_cv_have_mbstate_t=yes @@ -52,10 +53,10 @@ $(BASH_DIR)/.configured: $(BASH_DIR)/.unpacked  		--enable-alias \  		--without-bash-malloc \  	); -	touch $(BASH_DIR)/.configured +	touch $@  $(BASH_DIR)/$(BASH_BINARY): $(BASH_DIR)/.configured -	$(MAKE1) CC=$(TARGET_CC) CC_FOR_BUILD="$(HOSTCC)" -C $(BASH_DIR) +	$(MAKE) CC=$(TARGET_CC) CC_FOR_BUILD="$(HOSTCC)" -C $(BASH_DIR)  $(TARGET_DIR)/$(BASH_TARGET_BINARY): $(BASH_DIR)/$(BASH_BINARY)  	$(MAKE1) DESTDIR=$(TARGET_DIR) CC=$(TARGET_CC) -C $(BASH_DIR) install diff --git a/package/bash/bash31-001 b/package/bash/bash31-001 deleted file mode 100644 index 2d31930b0..000000000 --- a/package/bash/bash31-001 +++ /dev/null @@ -1,104 +0,0 @@ -			     BASH PATCH REPORT -			     ================= - -Bash-Release: 3.1 -Patch-ID: bash31-001 - -Bug-Reported-by: Mike Frysinger <vapier@gentoo.org> -Bug-Reference-ID: <20051212015924.GA820@toucan.gentoo.org> <20051214034438.GK1863@toucan.gentoo.org> -Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2005-12/msg00030.html http://lists.gnu.org/archive/html/bug-bash/2005-12/msg00041.html - -Bug-Description: - -There are parsing problems with compound assignments in several contexts, -including as arguments to builtins like `local', `eval', and `let', and -as multiple assignments in a single command. - -Patch: - -*** bash-3.1/parse.y	Fri Nov 11 23:14:18 2005 ---- bash-3.1/parse.y	Fri Dec 16 20:43:07 2005 -*************** -*** 3696,3700 **** -        b = builtin_address_internal (token, 0); -        if (b && (b->flags & ASSIGNMENT_BUILTIN)) -!         parser_state |= PST_ASSIGNOK; -      } -   ---- 3696,3702 ---- -        b = builtin_address_internal (token, 0); -        if (b && (b->flags & ASSIGNMENT_BUILTIN)) -! 	parser_state |= PST_ASSIGNOK; -!       else if (STREQ (token, "eval") || STREQ (token, "let")) -! 	parser_state |= PST_ASSIGNOK; -      } -   -*************** -*** 4687,4691 **** -  { -    WORD_LIST *wl, *rl; -!   int tok, orig_line_number, orig_token_size; -    char *saved_token, *ret; -   ---- 4689,4693 ---- -  { -    WORD_LIST *wl, *rl; -!   int tok, orig_line_number, orig_token_size, orig_last_token, assignok; -    char *saved_token, *ret; -   -*************** -*** 4693,4696 **** ---- 4695,4699 ---- -    orig_token_size = token_buffer_size; -    orig_line_number = line_number; -+   orig_last_token = last_read_token; -   -    last_read_token = WORD;	/* WORD to allow reserved words here */ -*************** -*** 4699,4702 **** ---- 4702,4707 ---- -    token_buffer_size = 0; -   -+   assignok = parser_state&PST_ASSIGNOK;		/* XXX */ -+  -    wl = (WORD_LIST *)NULL;	/* ( */ -    parser_state |= PST_COMPASSIGN; -*************** -*** 4741,4745 **** -      } -   -!   last_read_token = WORD; -    if (wl) -      { ---- 4746,4750 ---- -      } -   -!   last_read_token = orig_last_token;		/* XXX - was WORD? */ -    if (wl) -      { -*************** -*** 4753,4756 **** ---- 4758,4765 ---- -    if (retlenp) -      *retlenp = (ret && *ret) ? strlen (ret) : 0; -+  -+   if (assignok) -+     parser_state |= PST_ASSIGNOK; -+  -    return ret; -  } -*** bash-3.1/patchlevel.h	Wed Jul 20 13:58:20 2005 ---- bash-3.1/patchlevel.h	Wed Dec  7 13:48:42 2005 -*************** -*** 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/package/bash/bash31-002 b/package/bash/bash31-002 deleted file mode 100644 index 73ed023aa..000000000 --- a/package/bash/bash31-002 +++ /dev/null @@ -1,239 +0,0 @@ -			     BASH PATCH REPORT -			     ================= - -Bash-Release: 3.1 -Patch-ID: bash31-002 - -Bug-Reported-by: vapier@gentoo.org -Bug-Reference-ID: <20051210223218.GD3324@toucan.gentoo.org> -Bug-Reference-URL:http://lists.gnu.org/archive/html/bug-bash/2005-12/msg00021.html - -Bug-Description: - -This corrects several omissions in the bash documentation:  It adds the new -options to `ulimit', the exact expansions for `case' patterns, clarification -of the language concerning the return value of `[[', and updated version -information. - -Patch: - -*** bash-3.1/doc/bash.1	Wed Oct 12 11:40:52 2005 ---- bash-3.1/doc/bash.1	Wed Dec 28 19:58:54 2005 -*************** -*** 7,16 **** -  .\"	chet@po.cwru.edu -  .\" -! .\"	Last Change: Sat Aug 27 13:28:44 EDT 2005 -  .\" -  .\" bash_builtins, strip all but Built-Ins section -  .if \n(zZ=1 .ig zZ -  .if \n(zY=1 .ig zY -! .TH BASH 1 "2005 Aug 27" "GNU Bash-3.1-beta1" -  .\" -  .\" There's some problem with having a `@' ---- 7,16 ---- -  .\"	chet@po.cwru.edu -  .\" -! .\"	Last Change: Wed Dec 28 19:58:45 EST 2005 -  .\" -  .\" bash_builtins, strip all but Built-Ins section -  .if \n(zZ=1 .ig zZ -  .if \n(zY=1 .ig zY -! .TH BASH 1 "2005 Dec 28" "GNU Bash-3.1" -  .\" -  .\" There's some problem with having a `@' -*************** -*** 678,683 **** -  is enabled, the match is performed without regard to the case -  of alphabetic characters. -! The return value is 0 if the string matches or does not match -! the pattern, respectively, and 1 otherwise. -  Any part of the pattern may be quoted to force it to be matched as a -  string. ---- 678,683 ---- -  is enabled, the match is performed without regard to the case -  of alphabetic characters. -! The return value is 0 if the string matches (\fB==\fP) or does not match -! (\fB!=\fP) the pattern, and 1 otherwise. -  Any part of the pattern may be quoted to force it to be matched as a -  string. -*************** -*** 808,811 **** ---- 808,817 ---- -  .B Pathname Expansion -  below). -+ The \fIword\fP is expanded using tilde -+ expansion, parameter and variable expansion, arithmetic substituion, -+ command substitution, process substitution and quote removal. -+ Each \fIpattern\fP examined is expanded using tilde -+ expansion, parameter and variable expansion, arithmetic substituion, -+ command substitution, and process substitution. -  If the shell option -  .B nocasematch -*************** -*** 8485,8489 **** -  none are found. -  .TP -! \fBulimit\fP [\fB\-SHacdflmnpstuv\fP [\fIlimit\fP]] -  Provides control over the resources available to the shell and to -  processes started by it, on systems that allow such control. ---- 8485,8489 ---- -  none are found. -  .TP -! \fBulimit\fP [\fB\-SHacdfilmnpqstuvx\fP [\fIlimit\fP]] -  Provides control over the resources available to the shell and to -  processes started by it, on systems that allow such control. -*************** -*** 8524,8527 **** ---- 8524,8530 ---- -  The maximum size of files created by the shell -  .TP -+ .B \-i -+ The maximum number of pending signals -+ .TP -  .B \-l -  The maximum size that may be locked into memory -*************** -*** 8537,8540 **** ---- 8540,8546 ---- -  The pipe size in 512-byte blocks (this may not be set) -  .TP -+ .B \-q -+ The maximum number of bytes in POSIX message queues -+ .TP -  .B \-s -  The maximum stack size -*************** -*** 8548,8551 **** ---- 8554,8560 ---- -  .B \-v -  The maximum amount of virtual memory available to the shell -+ .TP -+ .B \-x -+ The maximum number of file locks -  .PD -  .PP -*** bash-3.1/doc/bashref.texi	Mon Oct  3 15:07:21 2005 ---- bash-3.1/doc/bashref.texi	Fri Dec 30 10:50:39 2005 -*************** -*** 962,967 **** -  is enabled, the match is performed without regard to the case -  of alphabetic characters. -! The return value is 0 if the string matches or does not match -! the pattern, respectively, and 1 otherwise. -  Any part of the pattern may be quoted to force it to be matched as a -  string. ---- 962,967 ---- -  is enabled, the match is performed without regard to the case -  of alphabetic characters. -! The return value is 0 if the string matches (@samp{==}) or does not -! match (@samp{!=})the pattern, and 1 otherwise. -  Any part of the pattern may be quoted to force it to be matched as a -  string. -*************** -*** 2599,2603 **** -  or inconvenient to obtain with separate utilities. -   -! This section briefly the builtins which Bash inherits from -  the Bourne Shell, as well as the builtin commands which are unique -  to or have been extended in Bash. ---- 2597,2601 ---- -  or inconvenient to obtain with separate utilities. -   -! This section briefly describes the builtins which Bash inherits from -  the Bourne Shell, as well as the builtin commands which are unique -  to or have been extended in Bash. -*************** -*** 3834,3838 **** -  @btindex ulimit -  @example -! ulimit [-acdflmnpstuvSH] [@var{limit}] -  @end example -  @code{ulimit} provides control over the resources available to processes ---- 3834,3838 ---- -  @btindex ulimit -  @example -! ulimit [-acdfilmnpqstuvxSH] [@var{limit}] -  @end example -  @code{ulimit} provides control over the resources available to processes -*************** -*** 3858,3861 **** ---- 3858,3864 ---- -  The maximum size of files created by the shell. -   -+ @item -i -+ The maximum number of pending signals. -+  -  @item -l -  The maximum size that may be locked into memory. -*************** -*** 3870,3873 **** ---- 3873,3879 ---- -  The pipe buffer size. -   -+ @item -q -+ The maximum number of bytes in POSIX message queues. -+  -  @item -s -  The maximum stack size. -*************** -*** 3882,3885 **** ---- 3888,3894 ---- -  The maximum amount of virtual memory available to the process. -   -+ @item -x -+ The maximum number of file locks. -+  -  @end table -   -*************** -*** 4090,4095 **** -   -  @item -x -! Print a trace of simple commands, \fBfor\fP commands, \fBcase\fP -! commands, \fBselect\fP commands, and arithmetic \fBfor\fP commands -  and their arguments or associated word lists after they are -  expanded and before they are executed.  The value of the @env{PS4} ---- 4103,4108 ---- -   -  @item -x -! Print a trace of simple commands, @code{for} commands, @code{case} -! commands, @code{select} commands, and arithmetic @code{for} commands -  and their arguments or associated word lists after they are -  expanded and before they are executed.  The value of the @env{PS4} -*** bash-3.1/doc/version.texi	Tue Sep 20 14:52:56 2005 ---- bash-3.1/doc/version.texi	Fri Dec 30 10:50:58 2005 -*************** -*** 3,10 **** -  @end ignore -   -! @set LASTCHANGE Mon Sep  5 11:47:04 EDT 2005 -   -! @set EDITION 3.1-beta1 -! @set VERSION 3.1-beta1 -! @set UPDATED 5 September 2005 -! @set UPDATED-MONTH September 2005 ---- 3,10 ---- -  @end ignore -   -! @set LASTCHANGE Fri Dec 30 10:50:51 EST 2005 -   -! @set EDITION 3.1 -! @set VERSION 3.1 -! @set UPDATED 30 December 2005 -! @set UPDATED-MONTH December 2005 -*** bash-3.1/patchlevel.h	Wed Jul 20 13:58:20 2005 ---- bash-3.1/patchlevel.h	Wed Dec  7 13:48:42 2005 -*************** -*** 26,30 **** -     looks for to find the patch level (for the sccs version string). */ -   -! #define PATCHLEVEL 1 -   -  #endif /* _PATCHLEVEL_H_ */ ---- 26,30 ---- -     looks for to find the patch level (for the sccs version string). */ -   -! #define PATCHLEVEL 2 -   -  #endif /* _PATCHLEVEL_H_ */ diff --git a/package/bash/bash31-003 b/package/bash/bash31-003 deleted file mode 100644 index 603c1dce2..000000000 --- a/package/bash/bash31-003 +++ /dev/null @@ -1,47 +0,0 @@ -			     BASH PATCH REPORT -			     ================= - -Bash-Release: 3.1 -Patch-ID: bash31-003 - -Bug-Reported-by: Adam Buraczewski <adamb@nor.pl> -Bug-Reference-ID: <200512210950.jBL9o4C2008608@localhost.localdomain> -Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2005-12/msg00055.html - -Bug-Description: - -A missing #define guard causes bash to not compile when readline is not -configured in, either as the result of explicit disabling or when the -`--enable-minimal-config' option is given to configure. - -Patch: - -*** bash-3.1/variables.c	Sat Nov 12 21:22:37 2005 ---- bash-3.1/variables.c	Mon Dec 26 13:34:03 2005 -*************** -*** 861,867 **** ---- 863,871 ---- -    char val[INT_STRLEN_BOUND(int) + 1], *v; -   -+ #if defined (READLINE) -    /* If we are currently assigning to LINES or COLUMNS, don't do anything. */ -    if (winsize_assignment) -      return; -+ #endif -   -    v = inttostr (lines, val, sizeof (val)); -*** bash-3.1/patchlevel.h	Wed Jul 20 13:58:20 2005 ---- bash-3.1/patchlevel.h	Wed Dec  7 13:48:42 2005 -*************** -*** 26,30 **** -     looks for to find the patch level (for the sccs version string). */ -   -! #define PATCHLEVEL 2 -   -  #endif /* _PATCHLEVEL_H_ */ ---- 26,30 ---- -     looks for to find the patch level (for the sccs version string). */ -   -! #define PATCHLEVEL 3 -   -  #endif /* _PATCHLEVEL_H_ */ diff --git a/package/bash/bash31-004 b/package/bash/bash31-004 deleted file mode 100644 index e378762a2..000000000 --- a/package/bash/bash31-004 +++ /dev/null @@ -1,48 +0,0 @@ -			     BASH PATCH REPORT -			     ================= - -Bash-Release: 3.1 -Patch-ID: bash31-004 - -Bug-Reported-by: Mike Frysinger <vapier@gentoo.org> -Bug-Reference-ID: <20051223172359.GF14579@toucan.gentoo.org> -Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2005-12/msg00062.html - -Bug-Description: - -A local array variable declared at function scope that shadows a variable -of the same name declared in a previous scope did not create a separate -variable instance, but used the previous one. - -Patch: - -*** bash-3.1/subst.c	Mon Oct 24 09:51:13 2005 ---- bash-3.1/subst.c	Fri Dec 30 12:11:53 2005 -*************** -*** 2188,2192 **** -      { -        v = find_variable (name); -!       if (v == 0 || array_p (v) == 0) -          v = make_local_array_variable (name); -        v = assign_array_var_from_string (v, value, flags); ---- 2188,2192 ---- -      { -        v = find_variable (name); -!       if (v == 0 || array_p (v) == 0 || v->context != variable_context) -          v = make_local_array_variable (name); -        v = assign_array_var_from_string (v, value, flags); -*** bash-3.1/patchlevel.h	Wed Jul 20 13:58:20 2005 ---- bash-3.1/patchlevel.h	Wed Dec  7 13:48:42 2005 -*************** -*** 26,30 **** -     looks for to find the patch level (for the sccs version string). */ -   -! #define PATCHLEVEL 3 -   -  #endif /* _PATCHLEVEL_H_ */ ---- 26,30 ---- -     looks for to find the patch level (for the sccs version string). */ -   -! #define PATCHLEVEL 4 -   -  #endif /* _PATCHLEVEL_H_ */ diff --git a/package/bash/bash31-005 b/package/bash/bash31-005 deleted file mode 100644 index 9a451045c..000000000 --- a/package/bash/bash31-005 +++ /dev/null @@ -1,54 +0,0 @@ -			     BASH PATCH REPORT -			     ================= - -Bash-Release: 3.1 -Patch-ID: bash31-005 - -Bug-Reported-by: -Bug-Reference-ID: -Bug-Reference-URL: - -Bug-Description: - -When tilde expansion fails, POSIX leaves it unspecified whether or not the -word undergoes the additional word expansions.  Bash-3.1 as distributed -skipped the rest of the expansions; this patch restores the bash-3.0 behavior. - -This means that something like -	USER=ratbert -	echo ~$USER - -will echo `~ratbert' rather than `~$USER'. - -Patch: - -*** bash-3.1/subst.c	Mon Oct 24 09:51:13 2005 ---- bash-3.1/subst.c	Fri Dec 30 12:11:53 2005 -*************** -*** 6796,6799 **** ---- 6823,6832 ---- -  	    { -  	      temp1 = bash_tilde_expand (temp, tflag); -+ 	      if  (temp1 && *temp1 == '~' && STREQ (temp, temp1)) -+ 		{ -+ 		  FREE (temp); -+ 		  FREE (temp1); -+ 		  goto add_character;		/* tilde expansion failed */ -+ 		} -  	      free (temp); -  	      temp = temp1; -*** bash-3.1/patchlevel.h	Wed Jul 20 13:58:20 2005 ---- bash-3.1/patchlevel.h	Wed Dec  7 13:48:42 2005 -*************** -*** 26,30 **** -     looks for to find the patch level (for the sccs version string). */ -   -! #define PATCHLEVEL 4 -   -  #endif /* _PATCHLEVEL_H_ */ ---- 26,30 ---- -     looks for to find the patch level (for the sccs version string). */ -   -! #define PATCHLEVEL 5 -   -  #endif /* _PATCHLEVEL_H_ */ diff --git a/package/bash/bash31-006 b/package/bash/bash31-006 deleted file mode 100644 index bcfa4d062..000000000 --- a/package/bash/bash31-006 +++ /dev/null @@ -1,58 +0,0 @@ -			     BASH PATCH REPORT -			     ================= - -Bash-Release: 3.1 -Patch-ID: bash31-006 - -Bug-Reported-by: Mike Frysinger <vapier@gentoo.org> -Bug-Reference-ID: <200601120613.11907.vapier@gentoo.org> -Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2006-01/msg00045.html - -Bug-Description: - -Under some circumstances, Bash can use an incorrect setting for the flag -that indicates whether or not the terminal can auto-wrap, resulting in line- -wrapping errors. - -Patch: - -*** bash-3.1/lib/readline/terminal.c	Sat Nov 12 20:46:54 2005 ---- bash-3.1/lib/readline/terminal.c	Tue Jan 31 10:57:54 2006 -*************** -*** 123,127 **** -   -  /* Non-zero means the terminal can auto-wrap lines. */ -! int _rl_term_autowrap; -   -  /* Non-zero means that this terminal has a meta key. */ ---- 126,130 ---- -   -  /* Non-zero means the terminal can auto-wrap lines. */ -! int _rl_term_autowrap = -1; -   -  /* Non-zero means that this terminal has a meta key. */ -*************** -*** 275,278 **** ---- 278,284 ---- -       int rows, cols; -  { -+   if (_rl_term_autowrap == -1) -+     _rl_init_terminal_io (rl_terminal_name); -+  -    if (rows > 0) -      _rl_screenheight = rows; -*** bash-3.1/patchlevel.h	Wed Jul 20 13:58:20 2005 ---- bash-3.1/patchlevel.h	Wed Dec  7 13:48:42 2005 -*************** -*** 26,30 **** -     looks for to find the patch level (for the sccs version string). */ -   -! #define PATCHLEVEL 5 -   -  #endif /* _PATCHLEVEL_H_ */ ---- 26,30 ---- -     looks for to find the patch level (for the sccs version string). */ -   -! #define PATCHLEVEL 6 -   -  #endif /* _PATCHLEVEL_H_ */ diff --git a/package/bash/bash31-007 b/package/bash/bash31-007 deleted file mode 100644 index 2db34bd15..000000000 --- a/package/bash/bash31-007 +++ /dev/null @@ -1,121 +0,0 @@ -			     BASH PATCH REPORT -			     ================= - -Bash-Release: 3.1 -Patch-ID: bash31-007 - -Bug-Reported-by: Tim Waugh <twaugh@redhat.com>, Laird Breyer <laird@lbreyer.com> -Bug-Reference-ID: <20060105174434.GY16000@redhat.com> -Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2006-01/msg00009.html -		   http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=347695 - -Bug-Description: - -When the number of saved jobs exceeds the initial size of the jobs array -(4096 slots), the array must be compacted and reallocated.  An error in -the code to do that could cause a segmentation fault. - -Patch: - -*** bash-3.1/jobs.c	Fri Nov 11 23:13:27 2005 ---- bash-3.1/jobs.c	Wed Feb  1 13:55:38 2006 -*************** -*** 845,851 **** -  { -    sigset_t set, oset; -!   int nsize, i, j; -    JOB **nlist; -   -    nsize = ((js.j_njobs + JOB_SLOTS - 1) / JOB_SLOTS); -    nsize *= JOB_SLOTS; ---- 888,895 ---- -  { -    sigset_t set, oset; -!   int nsize, i, j, ncur, nprev; -    JOB **nlist; -   -+   ncur = nprev = NO_JOB; -    nsize = ((js.j_njobs + JOB_SLOTS - 1) / JOB_SLOTS); -    nsize *= JOB_SLOTS; -*************** -*** 855,869 **** -   -    BLOCK_CHILD (set, oset); -!   nlist = (JOB **) xmalloc (nsize * sizeof (JOB *)); -    for (i = j = 0; i < js.j_jobslots; i++) -      if (jobs[i]) -!       nlist[j++] = jobs[i]; -   -    js.j_firstj = 0; -!   js.j_lastj = (j > 0) ? j - 1: 0; -    js.j_jobslots = nsize; -   -!   free (jobs); -!   jobs = nlist; -   -    UNBLOCK_CHILD (oset); ---- 899,947 ---- -   -    BLOCK_CHILD (set, oset); -!   nlist = (js.j_jobslots == nsize) ? jobs : (JOB **) xmalloc (nsize * sizeof (JOB *)); -!  -    for (i = j = 0; i < js.j_jobslots; i++) -      if (jobs[i]) -!       { -! 	if (i == js.j_current) -! 	  ncur = j; -! 	if (i == js.j_previous) -! 	  nprev = j; -! 	nlist[j++] = jobs[i]; -!       } -!  -! #if defined (DEBUG) -!   itrace ("realloc_jobs_list: resize jobs list from %d to %d", js.j_jobslots, nsize); -!   itrace ("realloc_jobs_list: j_lastj changed from %d to %d", js.j_lastj, (j > 0) ? j - 1 : 0); -!   itrace ("realloc_jobs_list: j_njobs changed from %d to %d", js.j_njobs, (j > 0) ? j - 1 : 0); -! #endif -   -    js.j_firstj = 0; -!   js.j_lastj = (j > 0) ? j - 1 : 0; -!   js.j_njobs = j; -    js.j_jobslots = nsize; -   -!   /* Zero out remaining slots in new jobs list */ -!   for ( ; j < nsize; j++) -!     nlist[j] = (JOB *)NULL; -!  -!   if (jobs != nlist) -!     { -!       free (jobs); -!       jobs = nlist; -!     } -!  -!   if (ncur != NO_JOB) -!     js.j_current = ncur; -!   if (nprev != NO_JOB) -!     js.j_previous = nprev; -!  -!   /* Need to reset these */ -!   if (js.j_current == NO_JOB || js.j_previous == NO_JOB || js.j_current > js.j_lastj || js.j_previous > js.j_lastj) -!     reset_current (); -!  -! #ifdef DEBUG -!   itrace ("realloc_jobs_list: reset js.j_current (%d) and js.j_previous (%d)", js.j_current, js.j_previous); -! #endif -   -    UNBLOCK_CHILD (oset); -*** bash-3.1/patchlevel.h	Wed Jul 20 13:58:20 2005 ---- bash-3.1/patchlevel.h	Wed Dec  7 13:48:42 2005 -*************** -*** 26,30 **** -     looks for to find the patch level (for the sccs version string). */ -   -! #define PATCHLEVEL 6 -   -  #endif /* _PATCHLEVEL_H_ */ ---- 26,30 ---- -     looks for to find the patch level (for the sccs version string). */ -   -! #define PATCHLEVEL 7 -   -  #endif /* _PATCHLEVEL_H_ */ diff --git a/package/bash/bash31-008 b/package/bash/bash31-008 deleted file mode 100644 index 5280a9f1e..000000000 --- a/package/bash/bash31-008 +++ /dev/null @@ -1,51 +0,0 @@ -			     BASH PATCH REPORT -			     ================= - -Bash-Release: 3.1 -Patch-ID: bash31-008 - -Bug-Reported-by: Ingemar Nilsson <init@kth.se> -Bug-Reference-ID: <43C38D35.7020404@kth.se> -Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2006-01/msg00044.html - -Bug-Description: - -In some cases, bash inappropriately allows SIGINT from the terminal to -reach background processes. - -Patch: - -*** bash-3.1/jobs.c	Fri Nov 11 23:13:27 2005 ---- bash-3.1/jobs.c	Wed Feb  1 13:55:38 2006 -*************** -*** 2199,2203 **** -    wait_sigint_received = 0; -    if (job_control == 0) -!     old_sigint_handler = set_signal_handler (SIGINT, wait_sigint_handler); -   -    termination_state = last_command_exit_value; ---- 2298,2306 ---- -    wait_sigint_received = 0; -    if (job_control == 0) -!     { -!       old_sigint_handler = set_signal_handler (SIGINT, wait_sigint_handler); -!       if (old_sigint_handler == SIG_IGN) -! 	set_signal_handler (SIGINT, old_sigint_handler); -!     } -   -    termination_state = last_command_exit_value; -*** bash-3.1/patchlevel.h	Wed Jul 20 13:58:20 2005 ---- bash-3.1/patchlevel.h	Wed Dec  7 13:48:42 2005 -*************** -*** 26,30 **** -     looks for to find the patch level (for the sccs version string). */ -   -! #define PATCHLEVEL 7 -   -  #endif /* _PATCHLEVEL_H_ */ ---- 26,30 ---- -     looks for to find the patch level (for the sccs version string). */ -   -! #define PATCHLEVEL 8 -   -  #endif /* _PATCHLEVEL_H_ */ diff --git a/package/bash/bash31-009 b/package/bash/bash31-009 deleted file mode 100644 index 62f456fff..000000000 --- a/package/bash/bash31-009 +++ /dev/null @@ -1,66 +0,0 @@ -			     BASH PATCH REPORT -			     ================= - -Bash-Release: 3.1 -Patch-ID: bash31-009 - -Bug-Reported-by: Joshua Neuheisel <jneuheisel@gmail.com> -Bug-Reference-ID: <25d873330601140820v4ad8efd2t8bf683b073c138b3@mail.gmail.com> -Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2006-01/msg00062.html - -Bug-Description: - -Under some circumstances, background (asynchronous) jobs can set the terminal -process group incorrectly.  This can cause a foreground process (including -the foreground shell) to get read errors and exit. - -Patch: - -*** bash-3.1/jobs.c	Fri Nov 11 23:13:27 2005 ---- bash-3.1/jobs.c	Wed Feb  1 13:55:38 2006 -*************** -*** 620,625 **** -  	   * the parent gives it away. -  	   * -  	   */ -! 	  if (job_control && newjob->pgrp) -  	    give_terminal_to (newjob->pgrp, 0); -  	} ---- 634,642 ---- -  	   * the parent gives it away. -  	   * -+ 	   * Don't give the terminal away if this shell is an asynchronous -+ 	   * subshell. -+ 	   * -  	   */ -! 	  if (job_control && newjob->pgrp && (subshell_environment&SUBSHELL_ASYNC) == 0) -  	    give_terminal_to (newjob->pgrp, 0); -  	} -*************** -*** 1656,1660 **** -  	     shell's process group (we could be in the middle of a -  	     pipeline, for example). */ -! 	  if (async_p == 0 && pipeline_pgrp != shell_pgrp) -  	    give_terminal_to (pipeline_pgrp, 0); -   ---- 1743,1747 ---- -  	     shell's process group (we could be in the middle of a -  	     pipeline, for example). */ -! 	  if (async_p == 0 && pipeline_pgrp != shell_pgrp && ((subshell_environment&SUBSHELL_ASYNC) == 0)) -  	    give_terminal_to (pipeline_pgrp, 0); -   -*** bash-3.1/patchlevel.h	Wed Jul 20 13:58:20 2005 ---- bash-3.1/patchlevel.h	Wed Dec  7 13:48:42 2005 -*************** -*** 26,30 **** -     looks for to find the patch level (for the sccs version string). */ -   -! #define PATCHLEVEL 8 -   -  #endif /* _PATCHLEVEL_H_ */ ---- 26,30 ---- -     looks for to find the patch level (for the sccs version string). */ -   -! #define PATCHLEVEL 9 -   -  #endif /* _PATCHLEVEL_H_ */ diff --git a/package/bash/bash31-010 b/package/bash/bash31-010 deleted file mode 100644 index 19277a88f..000000000 --- a/package/bash/bash31-010 +++ /dev/null @@ -1,164 +0,0 @@ -			     BASH PATCH REPORT -			     ================= - -Bash-Release: 3.1 -Patch-ID: bash31-010 - -Bug-Reported-by: vw@vonwolff.de -Bug-Reference-ID: <20060123135234.1AC2F1D596@wst07.vonwolff.de> -Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2006-01/msg00090.html - -Bug-Description: - -There is a difference in behavior between bash-3.0 and bash-3.1 involving -parsing of single- and double-quoted strings occurring in old-style -command substitution.  The difference has to do with how backslashes are -processed.  This patch restores a measure of backwards compatibility while -the question of POSIX conformance and ultimately correct behavior is discussed. - -THIS IS AN UPDATED PATCH.  USE THIS COMMAND TO REVERSE THE EFFECTS OF -THE ORIGINAL PATCH.  THE CURRENT DIRECTORY MUST BE THE BASH-3.1 SOURCE -DIRECTORY. - -patch -p0 -R < bash31-010.orig - -Then apply this patch as usual. - -Patch: - -*** bash-3.1/parse.y	Fri Nov 11 23:14:18 2005 ---- bash-3.1/parse.y	Thu Feb 23 08:21:12 2006 -*************** -*** 2716,2721 **** ---- 2723,2729 ---- -  #define P_ALLOWESC	0x02 -  #define P_DQUOTE	0x04 -  #define P_COMMAND	0x08	/* parsing a command, so look for comments */ -+ #define P_BACKQUOTE	0x10	/* parsing a backquoted command substitution */ -   -  static char matched_pair_error; -  static char * -*************** -*** 2725,2736 **** -       int *lenp, flags; -  { -    int count, ch, was_dollar, in_comment, check_comment; -!   int pass_next_character, nestlen, ttranslen, start_lineno; -    char *ret, *nestret, *ttrans; -    int retind, retsize, rflags; -   -    count = 1; -!   pass_next_character = 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. */ ---- 2733,2744 ---- -       int *lenp, flags; -  { -    int count, ch, was_dollar, in_comment, check_comment; -!   int pass_next_character, backq_backslash, nestlen, ttranslen, start_lineno; -    char *ret, *nestret, *ttrans; -    int retind, retsize, rflags; -   -    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. */ -*************** -*** 2742,2752 **** -    start_lineno = line_number; -    while (count) -      { -! #if 0 -!       ch = shell_getc ((qc != '\'' || (flags & P_ALLOWESC)) && pass_next_character == 0); -! #else -!       ch = shell_getc (qc != '\'' && pass_next_character == 0); -! #endif -        if (ch == EOF) -  	{ -  	  free (ret); ---- 2750,2757 ---- -    start_lineno = line_number; -    while (count) -      { -!       ch = shell_getc (qc != '\'' && pass_next_character == 0 && backq_backslash == 0); -!  -        if (ch == EOF) -  	{ -  	  free (ret); -*************** -*** 2771,2779 **** -  	  continue; -  	} -        /* Not exactly right yet */ -!       else if (check_comment && in_comment == 0 && ch == '#' && (retind == 0 || ret[retind-1] == '\n' || whitespace (ret[retind -1]))) -  	in_comment = 1; -   -        if (pass_next_character)		/* last char was backslash */ -  	{ -  	  pass_next_character = 0; ---- 2776,2791 ---- -  	  continue; -  	} -        /* Not exactly right yet */ -!       else if MBTEST(check_comment && in_comment == 0 && ch == '#' && (retind == 0 || ret[retind-1] == '\n' || whitespace (ret[retind - 1]))) -  	in_comment = 1; -   -+       /* last char was backslash inside backquoted command substitution */ -+       if (backq_backslash) -+ 	{ -+ 	  backq_backslash = 0; -+ 	  /* Placeholder for adding special characters */ -+ 	} -+  -        if (pass_next_character)		/* last char was backslash */ -  	{ -  	  pass_next_character = 0; -*************** -*** 2814,2819 **** ---- 2824,2831 ---- -  	{ -  	  if MBTEST((flags & P_ALLOWESC) && ch == '\\') -  	    pass_next_character++; -+ 	  else if MBTEST((flags & P_BACKQUOTE) && ch == '\\') -+ 	    backq_backslash++; -  	  continue; -  	} -   -*************** -*** 2898,2904 **** -  	} -        else if MBTEST(qc == '`' && (ch == '"' || ch == '\'') && in_comment == 0) -  	{ -! 	  nestret = parse_matched_pair (0, ch, ch, &nestlen, rflags); -  	  goto add_nestret; -  	} -        else if MBTEST(was_dollar && (ch == '(' || ch == '{' || ch == '['))	/* ) } ] */ ---- 2910,2920 ---- -  	} -        else if MBTEST(qc == '`' && (ch == '"' || ch == '\'') && in_comment == 0) -  	{ -! 	  /* Add P_BACKQUOTE so backslash quotes the next character and -! 	     shell_getc does the right thing with \<newline>.  We do this for -! 	     a measure  of backwards compatibility -- it's not strictly the -! 	     right POSIX thing. */ -! 	  nestret = parse_matched_pair (0, ch, ch, &nestlen, rflags|P_BACKQUOTE); -  	  goto add_nestret; -  	} -        else if MBTEST(was_dollar && (ch == '(' || ch == '{' || ch == '['))	/* ) } ] */ -*** bash-3.1/patchlevel.h	Wed Jul 20 13:58:20 2005 ---- bash-3.1/patchlevel.h	Wed Dec  7 13:48:42 2005 -*************** -*** 26,30 **** -     looks for to find the patch level (for the sccs version string). */ -   -! #define PATCHLEVEL 9 -   -  #endif /* _PATCHLEVEL_H_ */ ---- 26,30 ---- -     looks for to find the patch level (for the sccs version string). */ -   -! #define PATCHLEVEL 10 -   -  #endif /* _PATCHLEVEL_H_ */ diff --git a/package/bash/bash31-011 b/package/bash/bash31-011 deleted file mode 100644 index d37fdbcf1..000000000 --- a/package/bash/bash31-011 +++ /dev/null @@ -1,47 +0,0 @@ -			     BASH PATCH REPORT -			     ================= - -Bash-Release: 3.1 -Patch-ID: bash31-011 - -Bug-Reported-by: Mike Stroyan <mike.stroyan@hp.com> -Bug-Reference-ID: <E1EvwxP-0004LD-GC@localhost.localdomain> -Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2006-01/msg00033.html - -Bug-Description: - -A change in bash-3.1 caused the single quotes to be stripped from ANSI-C -quoting inside double-quoted command substitutions. - -Patch: - -*** bash-3.1/parse.y	Fri Nov 11 23:14:18 2005 ---- bash-3.1/parse.y	Wed Jan 25 14:55:18 2006 -*************** -*** 2908,2912 **** -  	    count--; -  	  if (ch == '(')		/* ) */ -! 	    nestret = parse_matched_pair (0, '(', ')', &nestlen, rflags); -  	  else if (ch == '{')		/* } */ -  	    nestret = parse_matched_pair (0, '{', '}', &nestlen, P_FIRSTCLOSE|rflags); ---- 2914,2918 ---- -  	    count--; -  	  if (ch == '(')		/* ) */ -! 	    nestret = parse_matched_pair (0, '(', ')', &nestlen, rflags & ~P_DQUOTE); -  	  else if (ch == '{')		/* } */ -  	    nestret = parse_matched_pair (0, '{', '}', &nestlen, P_FIRSTCLOSE|rflags); -*** bash-3.1/patchlevel.h	Wed Jul 20 13:58:20 2005 ---- bash-3.1/patchlevel.h	Wed Dec  7 13:48:42 2005 -*************** -*** 26,30 **** -     looks for to find the patch level (for the sccs version string). */ -   -! #define PATCHLEVEL 10 -   -  #endif /* _PATCHLEVEL_H_ */ ---- 26,30 ---- -     looks for to find the patch level (for the sccs version string). */ -   -! #define PATCHLEVEL 11 -   -  #endif /* _PATCHLEVEL_H_ */ diff --git a/package/bash/bash31-012 b/package/bash/bash31-012 deleted file mode 100644 index 27834aab8..000000000 --- a/package/bash/bash31-012 +++ /dev/null @@ -1,47 +0,0 @@ -			     BASH PATCH REPORT -			     ================= - -Bash-Release: 3.1 -Patch-ID: bash31-012 - -Bug-Reported-by: Alexander Kshevetskiy <alex@dgap.mipt.ru> -Bug-Reference-ID: <308374997.20060124175849@dgap.mipt.ru> -Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2006-01/msg00097.html - -Bug-Description: - -There is a parsing problem involving parentheses in assignment statements -that causes words to be terminated prematurely. - -Patch: - -*** bash-3.1/parse.y	Fri Nov 11 23:14:18 2005 ---- bash-3.1/parse.y	Wed Jan 25 14:55:18 2006 -*************** -*** 3579,3583 **** -  	      all_digit_token = 0; -  	      compound_assignment = 1; -! #if 0 -  	      goto next_character; -  #else ---- 3584,3588 ---- -  	      all_digit_token = 0; -  	      compound_assignment = 1; -! #if 1 -  	      goto next_character; -  #else -*** bash-3.1/patchlevel.h	Wed Jul 20 13:58:20 2005 ---- bash-3.1/patchlevel.h	Wed Dec  7 13:48:42 2005 -*************** -*** 26,30 **** -     looks for to find the patch level (for the sccs version string). */ -   -! #define PATCHLEVEL 11 -   -  #endif /* _PATCHLEVEL_H_ */ ---- 26,30 ---- -     looks for to find the patch level (for the sccs version string). */ -   -! #define PATCHLEVEL 12 -   -  #endif /* _PATCHLEVEL_H_ */ diff --git a/package/bash/bash31-013 b/package/bash/bash31-013 deleted file mode 100644 index e4fcea362..000000000 --- a/package/bash/bash31-013 +++ /dev/null @@ -1,44 +0,0 @@ -			     BASH PATCH REPORT -			     ================= - -Bash-Release: 3.1 -Patch-ID: bash31-013 - -Bug-Reported-by: Bob Rossi <bob@brasko.net> -Bug-Reference-ID: <43F60606.80708@case.edu> -Bug-Reference-URL: - -Bug-Description: - -In some cases, readline will reference freed memory when attempting to -display a portion of the prompt. - -Patch: - -*** bash-3.1-patched/lib/readline/readline.c	Mon Jul  4 22:29:35 2005 ---- bash-3.1/lib/readline/readline.c	Fri Feb 17 22:54:22 2006 -*************** -*** 282,287 **** ---- 282,288 ---- -  { -    FREE (rl_prompt); -    rl_prompt = prompt ? savestring (prompt) : (char *)NULL; -+   rl_display_prompt = rl_prompt ? rl_prompt : ""; -   -    rl_visible_prompt_length = rl_expand_prompt (rl_prompt); -    return 0; -*** bash-3.1/patchlevel.h	Wed Jul 20 13:58:20 2005 ---- bash-3.1/patchlevel.h	Wed Dec  7 13:48:42 2005 -*************** -*** 26,30 **** -     looks for to find the patch level (for the sccs version string). */ -   -! #define PATCHLEVEL 12 -   -  #endif /* _PATCHLEVEL_H_ */ ---- 26,30 ---- -     looks for to find the patch level (for the sccs version string). */ -   -! #define PATCHLEVEL 13 -   -  #endif /* _PATCHLEVEL_H_ */ diff --git a/package/bash/bash31-014 b/package/bash/bash31-014 deleted file mode 100644 index 9ca7db5b9..000000000 --- a/package/bash/bash31-014 +++ /dev/null @@ -1,105 +0,0 @@ -			     BASH PATCH REPORT -			     ================= - -Bash-Release: 3.1 -Patch-ID: bash31-014 - -Bug-Reported-by: Mike Stroyan <mike.stroyan@hp.com> -Bug-Reference-ID: <20060203191607.GC27614@localhost> -Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2006-02/msg00004.html - -Bug-Description: - -The displayed search prompt is corrupted when using non-incremental -searches in vi and emacs mode if the prompt contains non-printing -characters or spans multiple lines.  The prompt is expanded more than -once; the second time without the escape sequences that protect non- -printing characters from the length calculations. - -Patch: - -*** bash-3.1-patched/lib/readline/display.c	Wed Nov 30 14:05:02 2005 ---- bash-3.1/lib/readline/display.c	Sat Feb 18 12:14:58 2006 -*************** -*** 1983,1993 **** -       int pchar; -  { -    int len; -!   char *pmt; -   -    rl_save_prompt (); -   -!   if (saved_local_prompt == 0) -      { -        len = (rl_prompt && *rl_prompt) ? strlen (rl_prompt) : 0; -        pmt = (char *)xmalloc (len + 2); ---- 1998,2012 ---- -       int pchar; -  { -    int len; -!   char *pmt, *p; -   -    rl_save_prompt (); -   -!   /* We've saved the prompt, and can do anything with the various prompt -!      strings we need before they're restored.  We want the unexpanded -!      portion of the prompt string after any final newline. */ -!   p = rl_prompt ? strrchr (rl_prompt, '\n') : 0; -!   if (p == 0) -      { -        len = (rl_prompt && *rl_prompt) ? strlen (rl_prompt) : 0; -        pmt = (char *)xmalloc (len + 2); -*************** -*** 1998,2016 **** -      } -    else -      { -!       len = *saved_local_prompt ? strlen (saved_local_prompt) : 0; -        pmt = (char *)xmalloc (len + 2); -        if (len) -! 	strcpy (pmt, saved_local_prompt); -        pmt[len] = pchar; -        pmt[len+1] = '\0'; -!       local_prompt = savestring (pmt); -!       prompt_last_invisible = saved_last_invisible; -!       prompt_visible_length = saved_visible_length + 1; -!     } -   -    prompt_physical_chars = saved_physical_chars + 1; --  -    return pmt; -  } -   ---- 2017,2033 ---- -      } -    else -      { -!       p++; -!       len = strlen (p); -        pmt = (char *)xmalloc (len + 2); -        if (len) -! 	strcpy (pmt, p); -        pmt[len] = pchar; -        pmt[len+1] = '\0'; -!     }   -   -+   /* will be overwritten by expand_prompt, called from rl_message */ -    prompt_physical_chars = saved_physical_chars + 1; -    return pmt; -  } -   -*** bash-3.1/patchlevel.h	Wed Jul 20 13:58:20 2005 ---- bash-3.1/patchlevel.h	Wed Dec  7 13:48:42 2005 -*************** -*** 26,30 **** -     looks for to find the patch level (for the sccs version string). */ -   -! #define PATCHLEVEL 13 -   -  #endif /* _PATCHLEVEL_H_ */ ---- 26,30 ---- -     looks for to find the patch level (for the sccs version string). */ -   -! #define PATCHLEVEL 14 -   -  #endif /* _PATCHLEVEL_H_ */ diff --git a/package/bash/bash31-015 b/package/bash/bash31-015 deleted file mode 100644 index 3376a4fb9..000000000 --- a/package/bash/bash31-015 +++ /dev/null @@ -1,106 +0,0 @@ -			     BASH PATCH REPORT -			     ================= - -Bash-Release: 3.1 -Patch-ID: bash31-015 - -Bug-Reported-by: Benoit Vila -Bug-Reference-ID: <43FCA614.1090108@free.fr> -Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2006-02/msg00058.html - -Bug-Description: - -A problem with the extended globbing code prevented dots from matching -filenames when used in some extended matching patterns. - -Patch: - -*** bash-3.1/lib/glob/sm_loop.c	Sun Oct 16 21:21:04 2005 ---- bash-3.1/lib/glob/sm_loop.c	Mon Feb 27 17:18:43 2006 -*************** -*** 639,643 **** -    CHAR *pnext;			/* pointer to next sub-pattern */ -    CHAR *srest;			/* pointer to rest of string */ -!   int m1, m2; -   -  #if DEBUG_MATCHING ---- 638,642 ---- -    CHAR *pnext;			/* pointer to next sub-pattern */ -    CHAR *srest;			/* pointer to rest of string */ -!   int m1, m2, xflags;		/* xflags = flags passed to recursive matches */ -   -  #if DEBUG_MATCHING -*************** -*** 645,648 **** ---- 644,648 ---- -  fprintf(stderr, "extmatch: s = %s; se = %s\n", s, se); -  fprintf(stderr, "extmatch: p = %s; pe = %s\n", p, pe); -+ fprintf(stderr, "extmatch: flags = %d\n", flags); -  #endif -   -*************** -*** 678,683 **** -  		 multiple matches of the pattern. */ -  	      if (m1) -! 		m2 = (GMATCH (srest, se, prest, pe, flags) == 0) || -! 		      (s != srest && GMATCH (srest, se, p - 1, pe, flags) == 0); -  	      if (m1 && m2) -  		return (0); ---- 678,687 ---- -  		 multiple matches of the pattern. */ -  	      if (m1) -! 		{ -! 		  /* if srest > s, we are not at start of string */ -! 		  xflags = (srest > s) ? (flags & ~FNM_PERIOD) : flags; -! 		  m2 = (GMATCH (srest, se, prest, pe, xflags) == 0) || -! 			(s != srest && GMATCH (srest, se, p - 1, pe, xflags) == 0); -! 		} -  	      if (m1 && m2) -  		return (0); -*************** -*** 705,710 **** -  	  for ( ; srest <= se; srest++) -  	    { -  	      if (GMATCH (s, srest, psub, pnext - 1, flags) == 0 && -! 		  GMATCH (srest, se, prest, pe, flags) == 0) -  		return (0); -  	    } ---- 709,716 ---- -  	  for ( ; srest <= se; srest++) -  	    { -+ 	      /* if srest > s, we are not at start of string */ -+ 	      xflags = (srest > s) ? (flags & ~FNM_PERIOD) : flags; -  	      if (GMATCH (s, srest, psub, pnext - 1, flags) == 0 && -! 		  GMATCH (srest, se, prest, pe, xflags) == 0) -  		return (0); -  	    } -*************** -*** 727,731 **** -  		break; -  	    } -! 	  if (m1 == 0 && GMATCH (srest, se, prest, pe, flags) == 0) -  	    return (0); -  	} ---- 733,739 ---- -  		break; -  	    } -! 	  /* if srest > s, we are not at start of string */ -! 	  xflags = (srest > s) ? (flags & ~FNM_PERIOD) : flags; -! 	  if (m1 == 0 && GMATCH (srest, se, prest, pe, xflags) == 0) -  	    return (0); -  	} -*** bash-3.1/patchlevel.h	Wed Jul 20 13:58:20 2005 ---- bash-3.1/patchlevel.h	Wed Dec  7 13:48:42 2005 -*************** -*** 26,30 **** -     looks for to find the patch level (for the sccs version string). */ -   -! #define PATCHLEVEL 14 -   -  #endif /* _PATCHLEVEL_H_ */ ---- 26,30 ---- -     looks for to find the patch level (for the sccs version string). */ -   -! #define PATCHLEVEL 15 -   -  #endif /* _PATCHLEVEL_H_ */ diff --git a/package/bash/bash31-016 b/package/bash/bash31-016 deleted file mode 100644 index 41cdeb068..000000000 --- a/package/bash/bash31-016 +++ /dev/null @@ -1,51 +0,0 @@ -			     BASH PATCH REPORT -			     ================= - -Bash-Release: 3.1 -Patch-ID: bash31-016 - -Bug-Reported-by: Nikita Danilov <nikita@clusterfs.com> -Bug-Reference-ID: <17397.51015.769854.541057@gargle.gargle.HOWL> -Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2006-02/msg00064.html - -Bug-Description: - -Bash will dump core when attempting to perform globbing in directories with -very large numbers of files. - -Patch: - -*** bash-3.1/lib/glob/glob.c	Thu Mar 24 12:42:27 2005 ---- bash-3.1/lib/glob/glob.c	Fri Mar  3 16:54:12 2006 -*************** -*** 361,364 **** ---- 361,365 ---- -   -    firstmalloc = 0; -+   nalloca = 0; -   -    /* If PAT is empty, skip the loop, but return one (empty) filename. */ -*************** -*** 547,550 **** ---- 551,556 ---- -  	      tmplink = lastlink; -  	    } -+ 	  else -+ 	    tmplink = 0; -  	  free (lastlink->name); -  	  lastlink = lastlink->next; -*** bash-3.1/patchlevel.h	Wed Jul 20 13:58:20 2005 ---- bash-3.1/patchlevel.h	Wed Dec  7 13:48:42 2005 -*************** -*** 26,30 **** -     looks for to find the patch level (for the sccs version string). */ -   -! #define PATCHLEVEL 15 -   -  #endif /* _PATCHLEVEL_H_ */ ---- 26,30 ---- -     looks for to find the patch level (for the sccs version string). */ -   -! #define PATCHLEVEL 16 -   -  #endif /* _PATCHLEVEL_H_ */ diff --git a/package/bash/bash31-017 b/package/bash/bash31-017 deleted file mode 100644 index e00347003..000000000 --- a/package/bash/bash31-017 +++ /dev/null @@ -1,131 +0,0 @@ -			     BASH PATCH REPORT -			     ================= - -Bash-Release: 3.1 -Patch-ID: bash31-017 - -Bug-Reported-by: syphir@syphir.sytes.net -Bug-Reference-ID: <442421F5.3010105@syphir.sytes.net> -Bug-Reference-URL: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=358831 - -Bug-Description: - -Array expansion fails with an arithmetic syntax error when the subscript -appears within double quotes.  For example: ${a["4"]}. - -Patch: - -*** bash-3.1/subst.c	Wed Apr 12 08:47:08 2006 ---- bash-3.1/subst.c	Wed Apr 12 08:49:02 2006 -*************** -*** 2576,2579 **** ---- 2576,2586 ---- -  } -   -+ char * -+ expand_arith_string (string, quoted) -+      char *string; -+ { -+   return (expand_string_if_necessary (string, quoted, expand_string)); -+ } -+  -  #if defined (COND_COMMAND) -  /* Just remove backslashes in STRING.  Returns a new string. */ -*************** -*** 5249,5253 **** -      t = (char *)0; -   -!   temp1 = expand_string_if_necessary (substr, Q_DOUBLE_QUOTES, expand_string); -    *e1p = evalexp (temp1, &expok); -    free (temp1); ---- 5256,5260 ---- -      t = (char *)0; -   -!   temp1 = expand_arith_string (substr, Q_DOUBLE_QUOTES); -    *e1p = evalexp (temp1, &expok); -    free (temp1); -*************** -*** 5294,5298 **** -        t++; -        temp2 = savestring (t); -!       temp1 = expand_string_if_necessary (temp2, Q_DOUBLE_QUOTES, expand_string); -        free (temp2); -        t[-1] = ':'; ---- 5301,5305 ---- -        t++; -        temp2 = savestring (t); -!       temp1 = expand_arith_string (temp2, Q_DOUBLE_QUOTES); -        free (temp2); -        t[-1] = ':'; -*************** -*** 6436,6440 **** -   -  	  /* Expand variables found inside the expression. */ -! 	  temp1 = expand_string_if_necessary (temp2, Q_DOUBLE_QUOTES, expand_string); -  	  free (temp2); -   ---- 6443,6447 ---- -   -  	  /* Expand variables found inside the expression. */ -! 	  temp1 = expand_arith_string (temp2, Q_DOUBLE_QUOTES); -  	  free (temp2); -   -*************** -*** 6478,6482 **** -   -         /* Do initial variable expansion. */ -!       temp1 = expand_string_if_necessary (temp, Q_DOUBLE_QUOTES, expand_string); -   -        goto arithsub; ---- 6485,6489 ---- -   -         /* Do initial variable expansion. */ -!       temp1 = expand_arith_string (temp, Q_DOUBLE_QUOTES); -   -        goto arithsub; -*** bash-3.1/subst.h	Sun Nov  7 15:12:28 2004 ---- bash-3.1/subst.h	Mon Mar 27 09:10:38 2006 -*************** -*** 152,155 **** ---- 152,158 ---- -  extern char *expand_assignment_string_to_string __P((char *, int)); -   -+ /* Expand an arithmetic expression string */ -+ extern char *expand_arith_string __P((char *, int)); -+  -  /* De-quoted quoted characters in STRING. */ -  extern char *dequote_string __P((char *)); -*** bash-3.1/arrayfunc.c	Mon Jul  4 20:25:58 2005 ---- bash-3.1/arrayfunc.c	Mon Mar 27 09:10:47 2006 -*************** -*** 593,601 **** -    strncpy (exp, s, len - 1); -    exp[len - 1] = '\0'; -! #if 0 -!   t = expand_string_to_string (exp, 0); -! #else  -!   t = expand_string_to_string (exp, Q_DOUBLE_QUOTES); -! #endif -    this_command_name = (char *)NULL; -    val = evalexp (t, &expok); ---- 591,595 ---- -    strncpy (exp, s, len - 1); -    exp[len - 1] = '\0'; -!   t = expand_arith_string (exp, 0); -    this_command_name = (char *)NULL; -    val = evalexp (t, &expok); -*** bash-3.1/patchlevel.h	Wed Jul 20 13:58:20 2005 ---- bash-3.1/patchlevel.h	Wed Dec  7 13:48:42 2005 -*************** -*** 26,30 **** -     looks for to find the patch level (for the sccs version string). */ -   -! #define PATCHLEVEL 16 -   -  #endif /* _PATCHLEVEL_H_ */ ---- 26,30 ---- -     looks for to find the patch level (for the sccs version string). */ -   -! #define PATCHLEVEL 17 -   -  #endif /* _PATCHLEVEL_H_ */ diff --git a/package/bash/bash32-001 b/package/bash/bash32-001 new file mode 100644 index 000000000..aa9e16b84 --- /dev/null +++ b/package/bash/bash32-001 @@ -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 +--- bash-3.2/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 +--- bash-3.2/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_ */ diff --git a/package/bash/bash32-002 b/package/bash/bash32-002 new file mode 100644 index 000000000..e85485c6d --- /dev/null +++ b/package/bash/bash32-002 @@ -0,0 +1,48 @@ +			     BASH PATCH REPORT +			     ================= + +Bash-Release: 3.2 +Patch-ID: bash32-002 + +Bug-Reported-by:	Jim Gifford <jim@jg555.com> +Bug-Reference-ID:	<12j2pc3aq35mb04@corp.supernews.com> +Bug-Reference-URL:	http://lists.gnu.org/archive/html/bug-bash/2006-10/msg00082.html + +Bug-Description: + +An incorrect encoding specification in the Content-Type header causes msgfmt +to fail, which causes `make install' to fail. + +Patch: + +*** bash-3.2/po/ru.po        Tue Jan 10 17:51:03 2006 +--- bash-3.2/po/ru.po    Mon Oct 16 15:13:23 2006 +*************** +*** 13,17 **** +  "Language-Team: Russian <ru@li.org>\n" +  "MIME-Version: 1.0\n" +! "Content-Type: text/plain; charset=UTF-8\n" +  "Content-Transfer-Encoding: 8bit\n" +  "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" +--- 13,17 ---- +  "Language-Team: Russian <ru@li.org>\n" +  "MIME-Version: 1.0\n" +! "Content-Type: text/plain; charset=KOI8-R\n" +  "Content-Transfer-Encoding: 8bit\n" +  "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" + +*** bash-3.2/patchlevel.h	Thu Apr 13 08:31:04 2006 +--- bash-3.2/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 1 +   +  #endif /* _PATCHLEVEL_H_ */ +--- 26,30 ---- +     looks for to find the patch level (for the sccs version string). */ +   +! #define PATCHLEVEL 2 +   +  #endif /* _PATCHLEVEL_H_ */ diff --git a/package/bash/bash32-003 b/package/bash/bash32-003 new file mode 100644 index 000000000..b30bd1383 --- /dev/null +++ b/package/bash/bash32-003 @@ -0,0 +1,147 @@ +			     BASH PATCH REPORT +			     ================= + +Bash-Release: 3.2 +Patch-ID: bash32-003 + +Bug-Reported-by:	John Gatewood Ham <zappaman@buraphalinux.org> +Bug-Reference-ID:	<Pine.LNX.4.64.0610121334140.15558@www.buraphalinux.org> +Bug-Reference-URL:	http://lists.gnu.org/archive/html/bug-bash/2006-10/msg00045.html + +Bug-Description: + +When using the conditional command's `=~' operator to match regular +expressions, the parser did not skip over shell metacharacters in the +regular expression, leading to syntax errors. + +Patch: + +*** bash-3.2-patched/parse.y	Tue Oct 17 11:45:20 2006 +--- bash-3.2/parse.y	Sat Oct 14 14:56:16 2006 +*************** +*** 1029,1034 **** +--- 1029,1035 ---- +  #define PST_CMDTOKEN	0x1000		/* command token OK - unused */ +  #define PST_COMPASSIGN	0x2000		/* parsing x=(...) compound assignment */ +  #define PST_ASSIGNOK	0x4000		/* assignment statement ok in this context */ ++ #define PST_REGEXP	0x8000		/* parsing an ERE/BRE as a single word */ +   +  /* Initial size to allocate for tokens, and the +     amount to grow them by. */ +*************** +*** 2591,2596 **** +--- 2592,2600 ---- +        return (character); +      } +   ++   if (parser_state & PST_REGEXP) ++     goto tokword; ++  +    /* Shell meta-characters. */ +    if MBTEST(shellmeta (character) && ((parser_state & PST_DBLPAREN) == 0)) +      { +*************** +*** 2698,2703 **** +--- 2702,2708 ---- +    if MBTEST(character == '-' && (last_read_token == LESS_AND || last_read_token == GREATER_AND)) +      return (character); +   ++ tokword: +    /* Okay, if we got this far, we have to read a word.  Read one, +       and then check it against the known ones. */ +    result = read_token_word (character); +*************** +*** 3202,3209 **** +        if (tok == WORD && test_binop (yylval.word->word)) +  	op = yylval.word; +  #if defined (COND_REGEXP) +!       else if (tok == WORD && STREQ (yylval.word->word,"=~")) +! 	op = yylval.word; +  #endif +        else if (tok == '<' || tok == '>') +  	op = make_word_from_token (tok);  /* ( */ +--- 3207,3217 ---- +        if (tok == WORD && test_binop (yylval.word->word)) +  	op = yylval.word; +  #if defined (COND_REGEXP) +!       else if (tok == WORD && STREQ (yylval.word->word, "=~")) +! 	{ +! 	  op = yylval.word; +! 	  parser_state |= PST_REGEXP; +! 	} +  #endif +        else if (tok == '<' || tok == '>') +  	op = make_word_from_token (tok);  /* ( */ +*************** +*** 3234,3239 **** +--- 3242,3248 ---- +   +        /* rhs */ +        tok = read_token (READ); ++       parser_state &= ~PST_REGEXP; +        if (tok == WORD) +  	{ +  	  tright = make_cond_node (COND_TERM, yylval.word, (COND_COM *)NULL, (COND_COM *)NULL); +*************** +*** 3419,3427 **** +  	  goto next_character; +  	} +   +  #ifdef EXTENDED_GLOB +        /* Parse a ksh-style extended pattern matching specification. */ +!       if (extended_glob && PATTERN_CHAR (character)) +  	{ +  	  peek_char = shell_getc (1); +  	  if MBTEST(peek_char == '(')		/* ) */ +--- 3428,3461 ---- +  	  goto next_character; +  	} +   ++ #ifdef COND_REGEXP ++       /* When parsing a regexp as a single word inside a conditional command, ++ 	 we need to special-case characters special to both the shell and ++ 	 regular expressions.  Right now, that is only '(' and '|'. */ /*)*/ ++       if MBTEST((parser_state & PST_REGEXP) && (character == '(' || character == '|'))		/*)*/ ++         { ++           if (character == '|') ++             goto got_character; ++  ++ 	  push_delimiter (dstack, character); ++ 	  ttok = parse_matched_pair (cd, '(', ')', &ttoklen, 0); ++ 	  pop_delimiter (dstack); ++ 	  if (ttok == &matched_pair_error) ++ 	    return -1;		/* Bail immediately. */ ++ 	  RESIZE_MALLOCED_BUFFER (token, token_index, ttoklen + 2, ++ 				  token_buffer_size, TOKEN_DEFAULT_GROW_SIZE); ++ 	  token[token_index++] = character; ++ 	  strcpy (token + token_index, ttok); ++ 	  token_index += ttoklen; ++ 	  FREE (ttok); ++ 	  dollar_present = all_digit_token = 0; ++ 	  goto next_character; ++         } ++ #endif /* COND_REGEXP */ ++  +  #ifdef EXTENDED_GLOB +        /* Parse a ksh-style extended pattern matching specification. */ +!       if MBTEST(extended_glob && PATTERN_CHAR (character)) +  	{ +  	  peek_char = shell_getc (1); +  	  if MBTEST(peek_char == '(')		/* ) */ + +*** bash-3.2/patchlevel.h	Thu Apr 13 08:31:04 2006 +--- bash-3.2/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 2 +   +  #endif /* _PATCHLEVEL_H_ */ +--- 26,30 ---- +     looks for to find the patch level (for the sccs version string). */ +   +! #define PATCHLEVEL 3 +   +  #endif /* _PATCHLEVEL_H_ */ + diff --git a/package/bash/bash32-004 b/package/bash/bash32-004 new file mode 100644 index 000000000..0b742b76d --- /dev/null +++ b/package/bash/bash32-004 @@ -0,0 +1,96 @@ +			     BASH PATCH REPORT +			     ================= + +Bash-Release: 3.2 +Patch-ID: bash32-004 + +Bug-Reported-by:	Stuart Shelton <srcshelton@gmail.com> +Bug-Reference-ID:	<619141e40610261203y6cda5aa6i23cb24c7aeba996e@mail.gmail.com> +Bug-Reference-URL:	 + +Bug-Description: + +A bug in the parameter pattern substitution implementation treated a pattern +whose first character was `/' (after expansion) as specifying global +replacement. + +Patch: + +*** bash-3.2/subst.c	Tue Sep 19 08:35:09 2006 +--- bash-3.2/subst.c	Thu Oct 26 09:17:50 2006 +*************** +*** 5707,5712 **** +--- 5707,5717 ---- +    vtype &= ~VT_STARSUB; +   +    mflags = 0; ++   if (patsub && *patsub == '/') ++     { ++       mflags |= MATCH_GLOBREP; ++       patsub++; ++     } +   +    /* Malloc this because expand_string_if_necessary or one of the expansion +       functions in its call chain may free it on a substitution error. */ +*************** +*** 5741,5753 **** +      } +   +    /* ksh93 doesn't allow the match specifier to be a part of the expanded +!      pattern.  This is an extension. */ +    p = pat; +!   if (pat && pat[0] == '/') +!     { +!       mflags |= MATCH_GLOBREP|MATCH_ANY; +!       p++; +!     } +    else if (pat && pat[0] == '#') +      { +        mflags |= MATCH_BEG; +--- 5746,5757 ---- +      } +   +    /* ksh93 doesn't allow the match specifier to be a part of the expanded +!      pattern.  This is an extension.  Make sure we don't anchor the pattern +!      at the beginning or end of the string if we're doing global replacement, +!      though. */ +    p = pat; +!   if (mflags & MATCH_GLOBREP) +!     mflags |= MATCH_ANY; +    else if (pat && pat[0] == '#') +      { +        mflags |= MATCH_BEG; +*** bash-3.2/tests/new-exp.right	Thu Aug 10 12:00:00 2006 +--- bash-3.2/tests/new-exp.right	Sun Oct 29 16:03:36 2006 +*************** +*** 430,436 **** +  Case06---1---A B C::--- +  Case07---3---A:B:C--- +  Case08---3---A:B:C--- +! ./new-exp.tests: line 506: /${$(($#-1))}: bad substitution +  argv[1] = <a> +  argv[2] = <b> +  argv[3] = <c> +--- 430,436 ---- +  Case06---1---A B C::--- +  Case07---3---A:B:C--- +  Case08---3---A:B:C--- +! ./new-exp.tests: line 506: ${$(($#-1))}: bad substitution +  argv[1] = <a> +  argv[2] = <b> +  argv[3] = <c> +*** bash-3.2/patchlevel.h	Thu Apr 13 08:31:04 2006 +--- bash-3.2/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 3 +   +  #endif /* _PATCHLEVEL_H_ */ +--- 26,30 ---- +     looks for to find the patch level (for the sccs version string). */ +   +! #define PATCHLEVEL 4 +   +  #endif /* _PATCHLEVEL_H_ */ diff --git a/package/bash/bash32-005 b/package/bash/bash32-005 new file mode 100644 index 000000000..8972d76fb --- /dev/null +++ b/package/bash/bash32-005 @@ -0,0 +1,223 @@ +			     BASH PATCH REPORT +			     ================= + +Bash-Release: 3.2 +Patch-ID: bash32-005 + +Bug-Reported-by:	Stuart Shelton <stuart@openobjects.com> +Bug-Reference-ID:	<453F7CC8.6030907@openobjects.com> +Bug-Reference-URL:	http://lists.gnu.org/archive/html/bug-bash/2006-10/msg00127.html + +Bug-Description: + +A missing extern declaration for `asprintf' caused `double' arguments to be +passed as `0', leading to incorrect results.  Additionally, a bug in the +replacement asprintf/snprintf function caused an infinite loop when passed +0 arguments to the floating point conversions under some circumstances. + +Patch: + +*** bash-3.2/builtins/printf.def	Mon Sep 18 08:48:42 2006 +--- bash-3.2/builtins/printf.def	Tue Oct 31 08:19:44 2006 +*************** +*** 49,54 **** +--- 49,60 ---- +  #  define INT_MIN		(-2147483647-1) +  #endif +   ++ #if defined (PREFER_STDARG) ++ #  include <stdarg.h> ++ #else ++ #  include <varargs.h> ++ #endif ++  +  #include <stdio.h> +  #include <chartypes.h> +   +*************** +*** 151,156 **** +--- 157,166 ---- +  #define SKIP1 "#'-+ 0" +  #define LENMODS "hjlLtz" +   ++ #ifndef HAVE_ASPRINTF ++ extern int asprintf __P((char **, const char *, ...)) __attribute__((__format__ (printf, 2, 3))); ++ #endif ++  +  static void printf_erange __P((char *)); +  static int printstr __P((char *, char *, int, int, int)); +  static int tescape __P((char *, char *, int *)); + + +*** bash-3.2/lib/sh/snprintf.c	Thu Apr  6 09:48:40 2006 +--- bash-3.2/lib/sh/snprintf.c	Sat Oct 28 00:00:13 2006 +*************** +*** 471,476 **** +--- 476,483 ---- +  	  10^x ~= r +   * log_10(200) = 2; +   * log_10(250) = 2; ++  * ++  * NOTE: do not call this with r == 0 -- an infinite loop results. +   */ +  static int +  log_10(r) +*************** +*** 576,583 **** +      {  +        integral_part[0] = '0'; +        integral_part[1] = '\0'; +!       fraction_part[0] = '0'; +!       fraction_part[1] = '\0'; +        if (fract) +  	*fract = fraction_part; +        return integral_part; +--- 583,593 ---- +      {  +        integral_part[0] = '0'; +        integral_part[1] = '\0'; +!       /* The fractional part has to take the precision into account */ +!       for (ch = 0; ch < precision-1; ch++) +!  	fraction_part[ch] = '0'; +!       fraction_part[ch] = '0'; +!       fraction_part[ch+1] = '\0'; +        if (fract) +  	*fract = fraction_part; +        return integral_part; +*************** +*** 805,810 **** +--- 815,821 ---- +        PUT_CHAR(*tmp, p); +        tmp++; +      } ++  +    PAD_LEFT(p); +  } +   +*************** +*** 972,982 **** +    if ((p->flags & PF_THOUSANDS) && grouping && (t = groupnum (tmp))) +      tmp = t; +   +    /* calculate the padding. 1 for the dot */ +    p->width = p->width - +  	    ((d > 0. && p->justify == RIGHT) ? 1:0) - +  	    ((p->flags & PF_SPACE) ? 1:0) - +! 	    strlen(tmp) - p->precision - 1; +    PAD_RIGHT(p);   +    PUT_PLUS(d, p, 0.); +    PUT_SPACE(d, p, 0.); +--- 983,1003 ---- +    if ((p->flags & PF_THOUSANDS) && grouping && (t = groupnum (tmp))) +      tmp = t; +   ++   if ((*p->pf == 'g' || *p->pf == 'G') && (p->flags & PF_ALTFORM) == 0) ++     { ++       /* smash the trailing zeros unless altform */ ++       for (i = strlen(tmp2) - 1; i >= 0 && tmp2[i] == '0'; i--) ++         tmp2[i] = '\0';  ++       if (tmp2[0] == '\0') ++ 	p->precision = 0; ++     } ++  +    /* calculate the padding. 1 for the dot */ +    p->width = p->width - +  	    ((d > 0. && p->justify == RIGHT) ? 1:0) - +  	    ((p->flags & PF_SPACE) ? 1:0) - +! 	    strlen(tmp) - p->precision - +! 	    ((p->precision != 0 || (p->flags & PF_ALTFORM)) ? 1 : 0);	/* radix char */ +    PAD_RIGHT(p);   +    PUT_PLUS(d, p, 0.); +    PUT_SPACE(d, p, 0.); +*************** +*** 991,1001 **** +    if (p->precision != 0 || (p->flags & PF_ALTFORM)) +      PUT_CHAR(decpoint, p);  /* put the '.' */ +   +-   if ((*p->pf == 'g' || *p->pf == 'G') && (p->flags & PF_ALTFORM) == 0) +-     /* smash the trailing zeros unless altform */ +-     for (i = strlen(tmp2) - 1; i >= 0 && tmp2[i] == '0'; i--) +-       tmp2[i] = '\0';  +-  +    for (; *tmp2; tmp2++) +      PUT_CHAR(*tmp2, p); /* the fraction */ +     +--- 1012,1017 ---- +*************** +*** 1011,1024 **** +    char *tmp, *tmp2; +    int j, i; +   +!   if (chkinfnan(p, d, 1) || chkinfnan(p, d, 2)) +      return;	/* already printed nan or inf */ +   +    GETLOCALEDATA(decpoint, thoussep, grouping); +    DEF_PREC(p); +!   j = log_10(d); +!   d = d / pow_10(j);  /* get the Mantissa */ +!   d = ROUND(d, p);		   +    tmp = dtoa(d, p->precision, &tmp2); +   +    /* 1 for unit, 1 for the '.', 1 for 'e|E', +--- 1027,1045 ---- +    char *tmp, *tmp2; +    int j, i; +   +!   if (d != 0 && (chkinfnan(p, d, 1) || chkinfnan(p, d, 2))) +      return;	/* already printed nan or inf */ +   +    GETLOCALEDATA(decpoint, thoussep, grouping); +    DEF_PREC(p); +!   if (d == 0.) +!     j = 0; +!   else +!     { +!       j = log_10(d); +!       d = d / pow_10(j);  /* get the Mantissa */ +!       d = ROUND(d, p);		   +!     } +    tmp = dtoa(d, p->precision, &tmp2); +   +    /* 1 for unit, 1 for the '.', 1 for 'e|E', +*************** +*** 1076,1081 **** +--- 1097,1103 ---- +         PUT_CHAR(*tmp, p); +         tmp++; +       } ++  +     PAD_LEFT(p); +  } +  #endif +*************** +*** 1358,1364 **** +  		STAR_ARGS(data); +  		DEF_PREC(data); +  		d = GETDOUBLE(data); +! 		i = log_10(d); +  		/* +  		 * for '%g|%G' ANSI: use f if exponent +  		 * is in the range or [-4,p] exclusively +--- 1380,1386 ---- +  		STAR_ARGS(data); +  		DEF_PREC(data); +  		d = GETDOUBLE(data); +! 		i = (d != 0.) ? log_10(d) : -1; +  		/* +  		 * for '%g|%G' ANSI: use f if exponent +  		 * is in the range or [-4,p] exclusively +*** bash-3.2/patchlevel.h	Thu Apr 13 08:31:04 2006 +--- bash-3.2/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 4 +   +  #endif /* _PATCHLEVEL_H_ */ +--- 26,30 ---- +     looks for to find the patch level (for the sccs version string). */ +   +! #define PATCHLEVEL 5 +   +  #endif /* _PATCHLEVEL_H_ */ diff --git a/package/bash/bash32-006 b/package/bash/bash32-006 new file mode 100644 index 000000000..69989c294 --- /dev/null +++ b/package/bash/bash32-006 @@ -0,0 +1,45 @@ +			     BASH PATCH REPORT +			     ================= + +Bash-Release: 3.2 +Patch-ID: bash32-006 + +Bug-Reported-by:	ebb9@byu.net +Bug-Reference-ID:	<45540862.9030900@byu.net> +Bug-Reference-URL:	http://lists.gnu.org/archive/html/bug-bash/2006-11/msg00017.html +			http://lists.gnu.org/archive/html/bug-bash/2006-11/msg00016.html + +Bug-Description: + +In some cases, code that is intended to be used in the presence of multibyte +characters is called when no such characters are present, leading to incorrect +display position calculations and incorrect redisplay. + +Patch: + +*** bash-3.2-patched/lib/readline/display.c	Thu Sep 14 14:20:12 2006 +--- bash-3.2/lib/readline/display.c	Mon Nov 13 17:55:57 2006 +*************** +*** 2381,2384 **** +--- 2409,2414 ---- +    if (end <= start) +      return 0; ++   if (MB_CUR_MAX == 1 || rl_byte_oriented) ++     return (end - start); +   +    memset (&ps, 0, sizeof (mbstate_t)); +*** bash-3.2/patchlevel.h	Thu Apr 13 08:31:04 2006 +--- bash-3.2/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 5 +   +  #endif /* _PATCHLEVEL_H_ */ +--- 26,30 ---- +     looks for to find the patch level (for the sccs version string). */ +   +! #define PATCHLEVEL 6 +   +  #endif /* _PATCHLEVEL_H_ */ diff --git a/package/bash/bash32-007 b/package/bash/bash32-007 new file mode 100644 index 000000000..9c616c4fa --- /dev/null +++ b/package/bash/bash32-007 @@ -0,0 +1,55 @@ +			     BASH PATCH REPORT +			     ================= + +Bash-Release: 3.2 +Patch-ID: bash32-007 + +Bug-Reported-by:	jidanni@jidanni.org +Bug-Reference-ID:	<E1Gkg12-00017D-Fm@jidanni.org> +Bug-Reference-URL:	http://lists.gnu.org/archive/html/bug-bash/2006-11/msg00039.html + +Bug-Description: + +When removing the current or previous job from the jobs list, bash incorrectly +resets the current job under some circumstances. + +Patch: + +*** bash-3.2-patched/jobs.c	Sat Jul 29 16:40:48 2006 +--- bash-3.2/jobs.c	Fri Nov 24 14:50:01 2006 +*************** +*** 985,990 **** +    if (temp == 0) +      return; +-   if (job_index == js.j_current || job_index == js.j_previous) +-     reset_current (); +   +    if ((dflags & DEL_NOBGPID) == 0) +--- 985,988 ---- +*************** +*** 1029,1032 **** +--- 1027,1033 ---- +    else if (jobs[js.j_firstj] == 0 || jobs[js.j_lastj] == 0) +      reset_job_indices (); ++  ++   if (job_index == js.j_current || job_index == js.j_previous) ++     reset_current (); +  } + +*** bash-3.2/patchlevel.h	Thu Apr 13 08:31:04 2006 +--- bash-3.2/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 6 +   +  #endif /* _PATCHLEVEL_H_ */ +--- 26,30 ---- +     looks for to find the patch level (for the sccs version string). */ +   +! #define PATCHLEVEL 7 +   +  #endif /* _PATCHLEVEL_H_ */ + +   diff --git a/package/bash/bash32-008 b/package/bash/bash32-008 new file mode 100644 index 000000000..7185f412a --- /dev/null +++ b/package/bash/bash32-008 @@ -0,0 +1,48 @@ +			     BASH PATCH REPORT +			     ================= + +Bash-Release: 3.2 +Patch-ID: bash32-008 + +Bug-Reported-by:	Linda Walsh <bash@tlinx.org> +Bug-Reference-ID:	<456041FD.8000605@tlinx.org> +Bug-Reference-URL:	http://lists.gnu.org/archive/html/bug-bash/2006-11/msg00040.html + +Bug-Description: + +When checking pathnames from the command hash table (e.g., when the `checkhash' +shell option is enabled), a bug causes bash to delete and re-lookup each +command. + +Patch: + +*** bash-3.2-patched/findcmd.c	Wed Aug 17 16:49:54 2005 +--- bash-3.2/findcmd.c	Fri Nov 24 10:48:37 2006 +*************** +*** 309,313 **** +      { +        st = file_status (hashed_file); +!       if ((st ^ (FS_EXISTS | FS_EXECABLE)) != 0) +  	{ +  	  phash_remove (pathname); +--- 309,313 ---- +      { +        st = file_status (hashed_file); +!       if ((st & (FS_EXISTS|FS_EXECABLE)) != (FS_EXISTS|FS_EXECABLE)) +  	{ +  	  phash_remove (pathname); +*** bash-3.2/patchlevel.h	Thu Apr 13 08:31:04 2006 +--- bash-3.2/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 7 +   +  #endif /* _PATCHLEVEL_H_ */ +--- 26,30 ---- +     looks for to find the patch level (for the sccs version string). */ +   +! #define PATCHLEVEL 8 +   +  #endif /* _PATCHLEVEL_H_ */ diff --git a/package/bash/bash32-009 b/package/bash/bash32-009 new file mode 100644 index 000000000..ce10ac14e --- /dev/null +++ b/package/bash/bash32-009 @@ -0,0 +1,61 @@ +			     BASH PATCH REPORT +			     ================= + +Bash-Release: 3.2 +Patch-ID: bash32-009 + +Bug-Reported-by:	James.M.Botte@lowes.com +Bug-Reference-ID:	<BA9FF90F7E5B424998F98EDA9F1F94BE01FA9853@msexchdb01.lowes.com> +Bug-Reference-URL:	http://lists.gnu.org/archive/html/bug-bash/2006-12/msg00000.html + +Bug-Description: + +When using its built-in replacement for snprintf/asprintf, bash does not +treat the %x, %X, and %o format specifiers as unsigned numbers. + +Patch: + +*** bash-3.2-patched/lib/sh/snprintf.c	Mon Nov 13 08:58:52 2006 +--- bash-3.2/lib/sh/snprintf.c	Wed Dec  6 11:15:04 2006 +*************** +*** 669,673 **** +   +    sd = d;	/* signed for ' ' padding in base 10 */ +!   flags = (*p->pf == 'u' || *p->pf == 'U') ? FL_UNSIGNED : 0; +    if (*p->pf == 'X') +      flags |= FL_HEXUPPER; +--- 674,679 ---- +   +    sd = d;	/* signed for ' ' padding in base 10 */ +!   flags = 0; +!   flags = (*p->pf == 'x' || *p->pf == 'X' || *p->pf == 'o' || *p->pf == 'u' || *p->pf == 'U') ? FL_UNSIGNED : 0; +    if (*p->pf == 'X') +      flags |= FL_HEXUPPER; +*************** +*** 739,743 **** +   +    sd = d;	/* signed for ' ' padding in base 10 */ +!   flags = (*p->pf == 'u' || *p->pf == 'U') ? FL_UNSIGNED : 0; +    if (*p->pf == 'X') +      flags |= FL_HEXUPPER; +--- 745,749 ---- +   +    sd = d;	/* signed for ' ' padding in base 10 */ +!   flags = (*p->pf == 'x' || *p->pf == 'X' || *p->pf == 'o' || *p->pf == 'u' || *p->pf == 'U') ? FL_UNSIGNED : 0; +    if (*p->pf == 'X') +      flags |= FL_HEXUPPER; +*** bash-3.2/patchlevel.h	Thu Apr 13 08:31:04 2006 +--- bash-3.2/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 8 +   +  #endif /* _PATCHLEVEL_H_ */ +--- 26,30 ---- +     looks for to find the patch level (for the sccs version string). */ +   +! #define PATCHLEVEL 9 +   +  #endif /* _PATCHLEVEL_H_ */ | 
