packages: bash/bash.spec, bash/bash42-001 (NEW), bash/bash42-002 (NEW), bas...

arekm arekm at pld-linux.org
Sat Jun 25 15:34:52 CEST 2011


Author: arekm                        Date: Sat Jun 25 13:34:52 2011 GMT
Module: packages                      Tag: HEAD
---- Log message:
- up to 4.2.10

---- Files affected:
packages/bash:
   bash.spec (1.213 -> 1.214) , bash42-001 (NONE -> 1.1)  (NEW), bash42-002 (NONE -> 1.1)  (NEW), bash42-003 (NONE -> 1.1)  (NEW), bash42-004 (NONE -> 1.1)  (NEW), bash42-005 (NONE -> 1.1)  (NEW), bash42-006 (NONE -> 1.1)  (NEW), bash42-007 (NONE -> 1.1)  (NEW), bash42-008 (NONE -> 1.1)  (NEW), bash42-009 (NONE -> 1.1)  (NEW), bash42-010 (NONE -> 1.1)  (NEW), bash40-001 (1.1 -> NONE)  (REMOVED), bash40-002 (1.1 -> NONE)  (REMOVED), bash41-001 (1.1 -> NONE)  (REMOVED), bash41-002 (1.1 -> NONE)  (REMOVED), bash41-003 (1.1 -> NONE)  (REMOVED), bash41-004 (1.1 -> NONE)  (REMOVED), bash41-005 (1.1 -> NONE)  (REMOVED), bash41-006 (1.1 -> NONE)  (REMOVED), bash41-007 (1.1 -> NONE)  (REMOVED), bash41-008 (1.1 -> NONE)  (REMOVED), bash41-009 (1.1 -> NONE)  (REMOVED)

---- Diffs:

================================================================
Index: packages/bash/bash.spec
diff -u packages/bash/bash.spec:1.213 packages/bash/bash.spec:1.214
--- packages/bash/bash.spec:1.213	Mon Mar 21 08:45:14 2011
+++ packages/bash/bash.spec	Sat Jun 25 15:34:46 2011
@@ -6,8 +6,8 @@
 %bcond_without	tests	# do not perform "make test"
 #
 %define		ver		4.2
-#%%define		patchlevel	1
-%define		rel		2
+%define		patchlevel	10
+%define		rel		1
 Summary:	GNU Bourne Again Shell (bash)
 Summary(fr.UTF-8):	Le shell Bourne Again de GNU
 Summary(pl.UTF-8):	Powłoka GNU Bourne Again Shell (bash)
@@ -36,7 +36,7 @@
 Patch10:	%{name}-act_like_sh.patch
 Patch11:	%{name}-elinks_cont.patch
 Patch12:	%{name}-pl.po-update.patch
-%{?patchlevel:%patchset_source -f http://ftp.gnu.org/gnu/bash/bash-4.2-patches/bash41-%03g 1 %{patchlevel}}
+%{?patchlevel:%patchset_source -f http://ftp.gnu.org/gnu/bash/bash-4.2-patches/bash42-%03g 1 %{patchlevel}}
 URL:		http://www.gnu.org/software/bash/
 BuildRequires:	autoconf
 BuildRequires:	automake
@@ -314,6 +314,9 @@
 All persons listed below can be reached at <cvs_login>@pld-linux.org
 
 $Log$
+Revision 1.214  2011/06/25 13:34:46  arekm
+- up to 4.2.10
+
 Revision 1.213  2011/03/21 07:45:14  arekm
 - release 2
 

================================================================
Index: packages/bash/bash42-001
diff -u /dev/null packages/bash/bash42-001:1.1
--- /dev/null	Sat Jun 25 15:34:52 2011
+++ packages/bash/bash42-001	Sat Jun 25 15:34:47 2011
@@ -0,0 +1,78 @@
+			     BASH PATCH REPORT
+			     =================
+
+Bash-Release:	4.2
+Patch-ID:	bash42-001
+
+Bug-Reported-by:	Juergen Daubert <jue at jue.li>
+Bug-Reference-ID:	<20110214175132.GA19813 at jue.netz>
+Bug-Reference-URL:	http://lists.gnu.org/archive/html/bug-bash/2011-02/msg00125.html
+
+Bug-Description:
+
+When running in Posix mode, bash does not correctly expand the right-hand
+side of a double-quoted word expansion containing single quotes.
+
+Patch (apply with `patch -p0'):
+
+*** ../bash-4.2-patched/subst.c	2011-01-02 16:12:51.000000000 -0500
+--- subst.c	2011-02-19 00:00:00.000000000 -0500
+***************
+*** 1380,1387 ****
+  
+    /* The handling of dolbrace_state needs to agree with the code in parse.y:
+!      parse_matched_pair() */
+!   dolbrace_state = 0;
+!   if (quoted & (Q_HERE_DOCUMENT|Q_DOUBLE_QUOTES))
+!     dolbrace_state = (flags & SX_POSIXEXP) ? DOLBRACE_QUOTE : DOLBRACE_PARAM;
+  
+    i = *sindex;
+--- 1380,1389 ----
+  
+    /* The handling of dolbrace_state needs to agree with the code in parse.y:
+!      parse_matched_pair().  The different initial value is to handle the
+!      case where this function is called to parse the word in
+!      ${param op word} (SX_WORD). */
+!   dolbrace_state = (flags & SX_WORD) ? DOLBRACE_WORD : DOLBRACE_PARAM;
+!   if ((quoted & (Q_HERE_DOCUMENT|Q_DOUBLE_QUOTES)) && (flags & SX_POSIXEXP))
+!     dolbrace_state = DOLBRACE_QUOTE;
+  
+    i = *sindex;
+***************
+*** 7177,7181 ****
+        /* Extract the contents of the ${ ... } expansion
+  	 according to the Posix.2 rules. */
+!       value = extract_dollar_brace_string (string, &sindex, quoted, (c == '%' || c == '#') ? SX_POSIXEXP : 0);
+        if (string[sindex] == RBRACE)
+  	sindex++;
+--- 7181,7185 ----
+        /* Extract the contents of the ${ ... } expansion
+  	 according to the Posix.2 rules. */
+!       value = extract_dollar_brace_string (string, &sindex, quoted, (c == '%' || c == '#' || c =='/' || c == '^' || c == ',' || c ==':') ? SX_POSIXEXP|SX_WORD : SX_WORD);
+        if (string[sindex] == RBRACE)
+  	sindex++;
+*** ../bash-4.2-patched/subst.h	2010-12-02 20:21:29.000000000 -0500
+--- subst.h	2011-02-16 21:12:09.000000000 -0500
+***************
+*** 57,60 ****
+--- 57,61 ----
+  #define SX_ARITHSUB	0x0080	/* extracting $(( ... )) (currently unused) */
+  #define SX_POSIXEXP	0x0100	/* extracting new Posix pattern removal expansions in extract_dollar_brace_string */
++ #define SX_WORD		0x0200	/* extracting word in ${param op word} */
+  
+  /* Remove backslashes which are quoting backquotes from STRING.  Modifies
+*** ../bash-4.2-patched/patchlevel.h	Sat Jun 12 20:14:48 2010
+--- patchlevel.h	Thu Feb 24 21:41:34 2011
+***************
+*** 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_ */

================================================================
Index: packages/bash/bash42-002
diff -u /dev/null packages/bash/bash42-002:1.1
--- /dev/null	Sat Jun 25 15:34:52 2011
+++ packages/bash/bash42-002	Sat Jun 25 15:34:47 2011
@@ -0,0 +1,60 @@
+			     BASH PATCH REPORT
+			     =================
+
+Bash-Release:	4.2
+Patch-ID:	bash42-002
+
+Bug-Reported-by:	Clark J. Wang <dearvoid at gmail.com>
+Bug-Reference-ID:	<AANLkTimGbW7aC4E5infXP6ku5WPci4t=xVc+L1SyHqrD at mail.gmail.com>
+Bug-Reference-URL:	http://lists.gnu.org/archive/html/bug-bash/2011-02/msg00157.html
+
+Bug-Description:
+
+The readline vi-mode `cc', `dd', and `yy' commands failed to modify the
+entire line.
+
+Patch (apply with `patch -p0'):
+
+*** ../bash-4.2-patched/lib/readline/vi_mode.c	2010-11-20 19:51:39.000000000 -0500
+--- lib/readline/vi_mode.c	2011-02-17 20:24:25.000000000 -0500
+***************
+*** 1115,1119 ****
+        _rl_vi_last_motion = c;
+        RL_UNSETSTATE (RL_STATE_VIMOTION);
+!       return (0);
+      }
+  #if defined (READLINE_CALLBACKS)
+--- 1115,1119 ----
+        _rl_vi_last_motion = c;
+        RL_UNSETSTATE (RL_STATE_VIMOTION);
+!       return (vidomove_dispatch (m));
+      }
+  #if defined (READLINE_CALLBACKS)
+*** ../bash-4.2-patched/lib/readline/callback.c	2010-06-06 12:18:58.000000000 -0400
+--- lib/readline/callback.c	2011-02-17 20:43:28.000000000 -0500
+***************
+*** 149,152 ****
+--- 149,155 ----
+  	  /* Should handle everything, including cleanup, numeric arguments,
+  	     and turning off RL_STATE_VIMOTION */
++ 	  if (RL_ISSTATE (RL_STATE_NUMERICARG) == 0)
++ 	    _rl_internal_char_cleanup ();
++ 
+  	  return;
+  	}
+*** ../bash-4.2-patched/patchlevel.h	Sat Jun 12 20:14:48 2010
+--- patchlevel.h	Thu Feb 24 21:41:34 2011
+***************
+*** 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_ */
+

================================================================
Index: packages/bash/bash42-003
diff -u /dev/null packages/bash/bash42-003:1.1
--- /dev/null	Sat Jun 25 15:34:52 2011
+++ packages/bash/bash42-003	Sat Jun 25 15:34:47 2011
@@ -0,0 +1,318 @@
+			     BASH PATCH REPORT
+			     =================
+
+Bash-Release:	4.2
+Patch-ID:	bash42-003
+
+Bug-Reported-by:	Clark J. Wang <dearvoid at gmail.com>
+Bug-Reference-ID:	<AANLkTikZ_rVV-frR8Fh0PzhXnMKnm5XsUR-F3qtPPs5G at mail.gmail.com>
+Bug-Reference-URL:	http://lists.gnu.org/archive/html/bug-bash/2011-02/msg00136.html
+
+Bug-Description:
+
+When using the pattern replacement and pattern removal word expansions, bash
+miscalculates the possible match length in the presence of an unescaped left
+bracket without a closing right bracket, resulting in a failure to match
+the pattern.
+
+Patch (apply with `patch -p0'):
+
+*** ../bash-4.2-patched/lib/glob/gmisc.c	2011-02-05 16:11:17.000000000 -0500
+--- lib/glob/gmisc.c	2011-02-18 23:53:42.000000000 -0500
+***************
+*** 78,83 ****
+       size_t wmax;
+  {
+!   wchar_t wc, *wbrack;
+!   int matlen, t, in_cclass, in_collsym, in_equiv;
+  
+    if (*wpat == 0)
+--- 78,83 ----
+       size_t wmax;
+  {
+!   wchar_t wc;
+!   int matlen, bracklen, t, in_cclass, in_collsym, in_equiv;
+  
+    if (*wpat == 0)
+***************
+*** 119,123 ****
+  	case L'[':
+  	  /* scan for ending `]', skipping over embedded [:...:] */
+! 	  wbrack = wpat;
+  	  wc = *wpat++;
+  	  do
+--- 119,123 ----
+  	case L'[':
+  	  /* scan for ending `]', skipping over embedded [:...:] */
+! 	  bracklen = 1;
+  	  wc = *wpat++;
+  	  do
+***************
+*** 125,140 ****
+  	      if (wc == 0)
+  		{
+! 	          matlen += wpat - wbrack - 1;	/* incremented below */
+! 	          break;
+  	        }
+  	      else if (wc == L'\\')
+  		{
+! 		  wc = *wpat++;
+! 		  if (*wpat == 0)
+! 		    break;
+  		}
+  	      else if (wc == L'[' && *wpat == L':')	/* character class */
+  		{
+  		  wpat++;
+  		  in_cclass = 1;
+  		}
+--- 125,148 ----
+  	      if (wc == 0)
+  		{
+! 		  wpat--;			/* back up to NUL */
+! 	          matlen += bracklen;
+! 	          goto bad_bracket;
+  	        }
+  	      else if (wc == L'\\')
+  		{
+! 		  /* *wpat == backslash-escaped character */
+! 		  bracklen++;
+! 		  /* If the backslash or backslash-escape ends the string,
+! 		     bail.  The ++wpat skips over the backslash escape */
+! 		  if (*wpat == 0 || *++wpat == 0)
+! 		    {
+! 		      matlen += bracklen;
+! 		      goto bad_bracket;
+! 		    }
+  		}
+  	      else if (wc == L'[' && *wpat == L':')	/* character class */
+  		{
+  		  wpat++;
++ 		  bracklen++;
+  		  in_cclass = 1;
+  		}
+***************
+*** 142,145 ****
+--- 150,154 ----
+  		{
+  		  wpat++;
++ 		  bracklen++;
+  		  in_cclass = 0;
+  		}
+***************
+*** 147,152 ****
+  		{
+  		  wpat++;
+  		  if (*wpat == L']')	/* right bracket can appear as collating symbol */
+! 		    wpat++;
+  		  in_collsym = 1;
+  		}
+--- 156,165 ----
+  		{
+  		  wpat++;
++ 		  bracklen++;
+  		  if (*wpat == L']')	/* right bracket can appear as collating symbol */
+! 		    {
+! 		      wpat++;
+! 		      bracklen++;
+! 		    }
+  		  in_collsym = 1;
+  		}
+***************
+*** 154,157 ****
+--- 167,171 ----
+  		{
+  		  wpat++;
++ 		  bracklen++;
+  		  in_collsym = 0;
+  		}
+***************
+*** 159,164 ****
+  		{
+  		  wpat++;
+  		  if (*wpat == L']')	/* right bracket can appear as equivalence class */
+! 		    wpat++;
+  		  in_equiv = 1;
+  		}
+--- 173,182 ----
+  		{
+  		  wpat++;
++ 		  bracklen++;
+  		  if (*wpat == L']')	/* right bracket can appear as equivalence class */
+! 		    {
+! 		      wpat++;
+! 		      bracklen++;
+! 		    }
+  		  in_equiv = 1;
+  		}
+***************
+*** 166,174 ****
+--- 184,196 ----
+  		{
+  		  wpat++;
++ 		  bracklen++;
+  		  in_equiv = 0;
+  		}
++ 	      else
++ 		bracklen++;
+  	    }
+  	  while ((wc = *wpat++) != L']');
+  	  matlen++;		/* bracket expression can only match one char */
++ bad_bracket:
+  	  break;
+  	}
+***************
+*** 214,219 ****
+       size_t max;
+  {
+!   char c, *brack;
+!   int matlen, t, in_cclass, in_collsym, in_equiv;
+  
+    if (*pat == 0)
+--- 236,241 ----
+       size_t max;
+  {
+!   char c;
+!   int matlen, bracklen, t, in_cclass, in_collsym, in_equiv;
+  
+    if (*pat == 0)
+***************
+*** 255,259 ****
+  	case '[':
+  	  /* scan for ending `]', skipping over embedded [:...:] */
+! 	  brack = pat;
+  	  c = *pat++;
+  	  do
+--- 277,281 ----
+  	case '[':
+  	  /* scan for ending `]', skipping over embedded [:...:] */
+! 	  bracklen = 1;
+  	  c = *pat++;
+  	  do
+***************
+*** 261,276 ****
+  	      if (c == 0)
+  		{
+! 	          matlen += pat - brack - 1;	/* incremented below */
+! 	          break;
+  	        }
+  	      else if (c == '\\')
+  		{
+! 		  c = *pat++;
+! 		  if (*pat == 0)
+! 		    break;
+  		}
+  	      else if (c == '[' && *pat == ':')	/* character class */
+  		{
+  		  pat++;
+  		  in_cclass = 1;
+  		}
+--- 283,306 ----
+  	      if (c == 0)
+  		{
+! 		  pat--;			/* back up to NUL */
+! 		  matlen += bracklen;
+! 		  goto bad_bracket;
+  	        }
+  	      else if (c == '\\')
+  		{
+! 		  /* *pat == backslash-escaped character */
+! 		  bracklen++;
+! 		  /* If the backslash or backslash-escape ends the string,
+! 		     bail.  The ++pat skips over the backslash escape */
+! 		  if (*pat == 0 || *++pat == 0)
+! 		    {
+! 		      matlen += bracklen;
+! 		      goto bad_bracket;
+! 		    }
+  		}
+  	      else if (c == '[' && *pat == ':')	/* character class */
+  		{
+  		  pat++;
++ 		  bracklen++;
+  		  in_cclass = 1;
+  		}
+***************
+*** 278,281 ****
+--- 308,312 ----
+  		{
+  		  pat++;
++ 		  bracklen++;
+  		  in_cclass = 0;
+  		}
+***************
+*** 283,288 ****
+  		{
+  		  pat++;
+  		  if (*pat == ']')	/* right bracket can appear as collating symbol */
+! 		    pat++;
+  		  in_collsym = 1;
+  		}
+--- 314,323 ----
+  		{
+  		  pat++;
++ 		  bracklen++;
+  		  if (*pat == ']')	/* right bracket can appear as collating symbol */
+! 		    {
+! 		      pat++;
+! 		      bracklen++;
+! 		    }
+  		  in_collsym = 1;
+  		}
+***************
+*** 290,293 ****
+--- 325,329 ----
+  		{
+  		  pat++;
++ 		  bracklen++;
+  		  in_collsym = 0;
+  		}
+***************
+*** 295,300 ****
+  		{
+  		  pat++;
+  		  if (*pat == ']')	/* right bracket can appear as equivalence class */
+! 		    pat++;
+  		  in_equiv = 1;
+  		}
+--- 331,340 ----
+  		{
+  		  pat++;
++ 		  bracklen++;
+  		  if (*pat == ']')	/* right bracket can appear as equivalence class */
+! 		    {
+! 		      pat++;
+! 		      bracklen++;
+! 		    }
+  		  in_equiv = 1;
+  		}
+***************
+*** 302,310 ****
+--- 342,354 ----
+  		{
+  		  pat++;
++ 		  bracklen++;
+  		  in_equiv = 0;
+  		}
++ 	      else
++ 		bracklen++;
+  	    }
+  	  while ((c = *pat++) != ']');
+  	  matlen++;		/* bracket expression can only match one char */
++ bad_bracket:
+  	  break;
+  	}
+*** ../bash-4.2-patched/patchlevel.h	Sat Jun 12 20:14:48 2010
+--- patchlevel.h	Thu Feb 24 21:41:34 2011
+***************
+*** 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_ */

================================================================
Index: packages/bash/bash42-004
diff -u /dev/null packages/bash/bash42-004:1.1
--- /dev/null	Sat Jun 25 15:34:52 2011
+++ packages/bash/bash42-004	Sat Jun 25 15:34:47 2011
@@ -0,0 +1,53 @@
+			     BASH PATCH REPORT
+			     =================
+
+Bash-Release:	4.2
+Patch-ID:	bash42-004
+
+Bug-Reported-by:	Mike Frysinger <vapier at gentoo.org>
+Bug-Reference-ID:	<201102182106.17834.vapier at gentoo.org>
+Bug-Reference-URL:	http://lists.gnu.org/archive/html/bug-bash/2011-02/msg00222.html
+
+Bug-Description:
+
+When used in contexts where word splitting and quote removal were not
+performed, such as pattern removal or pattern substitution, empty strings
+(either literal or resulting from quoted variables that were unset or
+null) were not matched correctly, resulting in failure.
+
+Patch (apply with `patch -p0'):
+
+*** ../bash-4.2-patched/subst.c	2011-01-02 16:12:51.000000000 -0500
+--- subst.c	2011-02-18 22:30:13.000000000 -0500
+***************
+*** 3373,3379 ****
+    if (string == 0 || *string == '\0')
+      return (WORD_LIST *)NULL;
+  
+!   td.flags = 0;
+    td.word = string;
+    tresult = call_expand_word_internal (&td, quoted, 1, dollar_at_p, has_dollar_at);
+    return (tresult);
+--- 3373,3379 ----
+    if (string == 0 || *string == '\0')
+      return (WORD_LIST *)NULL;
+  
+!   td.flags = W_NOSPLIT2;		/* no splitting, remove "" and '' */
+    td.word = string;
+    tresult = call_expand_word_internal (&td, quoted, 1, dollar_at_p, has_dollar_at);
+    return (tresult);
+*** ../bash-4.2-patched/patchlevel.h	Sat Jun 12 20:14:48 2010
+--- patchlevel.h	Thu Feb 24 21:41:34 2011
+***************
+*** 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_ */

================================================================
Index: packages/bash/bash42-005
diff -u /dev/null packages/bash/bash42-005:1.1
--- /dev/null	Sat Jun 25 15:34:52 2011
+++ packages/bash/bash42-005	Sat Jun 25 15:34:47 2011
@@ -0,0 +1,131 @@
+			     BASH PATCH REPORT
+			     =================
+
+Bash-Release:	4.2
+Patch-ID:	bash42-005
+
+Bug-Reported-by:	Dennis Williamson <dennistwilliamson at gmail.com>
+Bug-Reference-ID:	<AANLkTikDbEV5rnbPc0zOfmZfBcg0xGetzLLzK+KjRiNa at mail.gmail.com>
+Bug-Reference-URL:	http://lists.gnu.org/archive/html/bug-bash/2011-02/msg00147.html
+
+Bug-Description:
+
+Systems that use tzset() to set the local timezone require the TZ variable
+to be in the environment.  Bash must make sure the environment has been
+modified with any updated value for TZ before calling tzset().  This
+affects prompt string expansions and the `%T' printf conversion specification
+on systems that do not allow bash to supply a replacement for getenv(3).
+
+Patch (apply with `patch -p0'):
+
+*** ../bash-4.2-patched/variables.h	2010-12-02 20:22:01.000000000 -0500
+--- variables.h	2011-02-19 19:57:12.000000000 -0500
+***************
<<Diff was trimmed, longer than 597 lines>>

---- CVS-web:
    http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/packages/bash/bash.spec?r1=1.213&r2=1.214&f=u



More information about the pld-cvs-commit mailing list