- bump to bash 3.2. Thanks to Alexander Rigbo
authorBernhard Reutner-Fischer <rep.dot.nop@gmail.com>
Fri, 16 Feb 2007 13:11:04 +0000 (13:11 -0000)
committerBernhard Reutner-Fischer <rep.dot.nop@gmail.com>
Fri, 16 Feb 2007 13:11:04 +0000 (13:11 -0000)
27 files changed:
package/bash/bash.mk
package/bash/bash31-001 [deleted file]
package/bash/bash31-002 [deleted file]
package/bash/bash31-003 [deleted file]
package/bash/bash31-004 [deleted file]
package/bash/bash31-005 [deleted file]
package/bash/bash31-006 [deleted file]
package/bash/bash31-007 [deleted file]
package/bash/bash31-008 [deleted file]
package/bash/bash31-009 [deleted file]
package/bash/bash31-010 [deleted file]
package/bash/bash31-011 [deleted file]
package/bash/bash31-012 [deleted file]
package/bash/bash31-013 [deleted file]
package/bash/bash31-014 [deleted file]
package/bash/bash31-015 [deleted file]
package/bash/bash31-016 [deleted file]
package/bash/bash31-017 [deleted file]
package/bash/bash32-001 [new file with mode: 0644]
package/bash/bash32-002 [new file with mode: 0644]
package/bash/bash32-003 [new file with mode: 0644]
package/bash/bash32-004 [new file with mode: 0644]
package/bash/bash32-005 [new file with mode: 0644]
package/bash/bash32-006 [new file with mode: 0644]
package/bash/bash32-007 [new file with mode: 0644]
package/bash/bash32-008 [new file with mode: 0644]
package/bash/bash32-009 [new file with mode: 0644]

index cd531f69ac58f74c88829df1d3963f05087baee4..d115e8f8745046ed4575f9a4ba50a01070462799 100644 (file)
@@ -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 (file)
index 2d31930..0000000
+++ /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 (file)
index 73ed023..0000000
+++ /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 (file)
index 603c1dc..0000000
+++ /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 (file)
index e378762..0000000
+++ /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 (file)
index 9a45104..0000000
+++ /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 (file)
index bcfa4d0..0000000
+++ /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 (file)
index 2db34bd..0000000
+++ /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 (file)
index 5280a9f..0000000
+++ /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 (file)
index 62f456f..0000000
+++ /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 (file)
index 19277a8..0000000
+++ /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 (file)
index d37fdbc..0000000
+++ /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 (file)
index 27834aa..0000000
+++ /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 (file)
index e4fcea3..0000000
+++ /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 (file)
index 9ca7db5..0000000
+++ /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 (file)
index 3376a4f..0000000
+++ /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 (file)
index 41cdeb0..0000000
+++ /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 (file)
index e003470..0000000
+++ /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 (file)
index 0000000..aa9e16b
--- /dev/null
@@ -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 (file)
index 0000000..e85485c
--- /dev/null
@@ -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 (file)
index 0000000..b30bd13
--- /dev/null
@@ -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 (file)
index 0000000..0b742b7
--- /dev/null
@@ -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 (file)
index 0000000..8972d76
--- /dev/null
@@ -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 (file)
index 0000000..69989c2
--- /dev/null
@@ -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 (file)
index 0000000..9c616c4
--- /dev/null
@@ -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 (file)
index 0000000..7185f41
--- /dev/null
@@ -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 (file)
index 0000000..ce10ac1
--- /dev/null
@@ -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_ */