[bash] Apply all upstream patches since 4.3-18-1 up to this date

Ondrej Oprala ooprala at fedoraproject.org
Thu Jul 24 08:34:56 UTC 2014


commit eb71c89a73a9bd6fb1d7f40adedb7d44d43bd79b
Author: Ondrej Oprala <ooprala at redhat.com>
Date:   Thu Jul 24 10:33:30 2014 +0200

    Apply all upstream patches since 4.3-18-1 up to this date

 bash-4.3-here-doc-ps2-comsub.patch           |   47 ++++++++++++++++++++++++++
 bash-4.3-lastpipe-nested-pipe-segfault.patch |   24 +++++++++++++
 bash-4.3-parse-time-keyword.patch            |   28 +++++++++++++++
 bash-4.3-pathexp-globignore-delim.patch      |   15 ++++++++
 bash-4.3-readline-revert-lines.patch         |   18 ++++++++++
 bash.spec                                    |   16 ++++++++-
 6 files changed, 147 insertions(+), 1 deletions(-)
---
diff --git a/bash-4.3-here-doc-ps2-comsub.patch b/bash-4.3-here-doc-ps2-comsub.patch
new file mode 100644
index 0000000..0ccfd20
--- /dev/null
+++ b/bash-4.3-here-doc-ps2-comsub.patch
@@ -0,0 +1,47 @@
+*** ../bash-4.3-patched/shell.h	2012-12-25 21:11:01.000000000 -0500
+--- shell.h	2014-06-03 09:24:28.000000000 -0400
+***************
+*** 169,173 ****
+    int expand_aliases;
+    int echo_input_at_read;
+!   
+  } sh_parser_state_t;
+  
+--- 169,174 ----
+    int expand_aliases;
+    int echo_input_at_read;
+!   int need_here_doc;
+! 
+  } sh_parser_state_t;
+  
+*** ../bash-4.3-patched/parse.y	2014-05-14 09:16:40.000000000 -0400
+--- parse.y	2014-04-30 09:27:59.000000000 -0400
+***************
+*** 2643,2647 ****
+  
+    r = 0;
+!   while (need_here_doc)
+      {
+        parser_state |= PST_HEREDOC;
+--- 2643,2647 ----
+  
+    r = 0;
+!   while (need_here_doc > 0)
+      {
+        parser_state |= PST_HEREDOC;
+***************
+*** 6076,6079 ****
+--- 6076,6080 ----
+    ps->expand_aliases = expand_aliases;
+    ps->echo_input_at_read = echo_input_at_read;
++   ps->need_here_doc = need_here_doc;
+  
+    ps->token = token;
+***************
+*** 6124,6127 ****
+--- 6125,6129 ----
+    expand_aliases = ps->expand_aliases;
+    echo_input_at_read = ps->echo_input_at_read;
++   need_here_doc = ps->need_here_doc;
+  
+    FREE (token);
diff --git a/bash-4.3-lastpipe-nested-pipe-segfault.patch b/bash-4.3-lastpipe-nested-pipe-segfault.patch
new file mode 100644
index 0000000..200a84f
--- /dev/null
+++ b/bash-4.3-lastpipe-nested-pipe-segfault.patch
@@ -0,0 +1,24 @@
+*** ../bash-4.3-patched/execute_cmd.c	2014-01-31 10:54:52.000000000 -0500
+--- execute_cmd.c	2014-06-19 08:05:49.000000000 -0400
+***************
+*** 2410,2414 ****
+        lstdin = wait_for (lastpid);
+  #if defined (JOB_CONTROL)
+!       exec_result = job_exit_status (lastpipe_jid);
+  #endif
+        unfreeze_jobs_list ();
+--- 2425,2438 ----
+        lstdin = wait_for (lastpid);
+  #if defined (JOB_CONTROL)
+!       /* If wait_for removes the job from the jobs table, use result of last
+! 	 command as pipeline's exit status as usual.  The jobs list can get
+! 	 frozen and unfrozen at inconvenient times if there are multiple pipelines
+! 	 running simultaneously. */
+!       if (INVALID_JOB (lastpipe_jid) == 0)
+! 	exec_result = job_exit_status (lastpipe_jid);
+!       else if (pipefail_opt)
+! 	exec_result = exec_result | lstdin;	/* XXX */
+!       /* otherwise we use exec_result */
+!         
+  #endif
+        unfreeze_jobs_list ();
diff --git a/bash-4.3-parse-time-keyword.patch b/bash-4.3-parse-time-keyword.patch
new file mode 100644
index 0000000..40337f5
--- /dev/null
+++ b/bash-4.3-parse-time-keyword.patch
@@ -0,0 +1,28 @@
+*** ../bash-4.3-patched/parse.y	2014-04-07 11:56:12.000000000 -0400
+--- parse.y	2014-06-11 10:25:53.000000000 -0400
+***************
+*** 2789,2797 ****
+      case OR_OR:
+      case '&':
+      case DO:
+      case THEN:
+      case ELSE:
+      case '{':		/* } */
+!     case '(':		/* ) */
+      case BANG:		/* ! time pipeline */
+      case TIME:		/* time time pipeline */
+--- 2789,2802 ----
+      case OR_OR:
+      case '&':
++     case WHILE:
+      case DO:
++     case UNTIL:
++     case IF:
+      case THEN:
++     case ELIF:
+      case ELSE:
+      case '{':		/* } */
+!     case '(':		/* )( */
+!     case ')':		/* only valid in case statement */
+      case BANG:		/* ! time pipeline */
+      case TIME:		/* time time pipeline */
diff --git a/bash-4.3-pathexp-globignore-delim.patch b/bash-4.3-pathexp-globignore-delim.patch
new file mode 100644
index 0000000..6b019f9
--- /dev/null
+++ b/bash-4.3-pathexp-globignore-delim.patch
@@ -0,0 +1,15 @@
+*** ../bash-4.3-patched/pathexp.c	2014-01-31 09:34:33.000000000 -0500
+--- pathexp.c	2014-06-20 15:33:09.000000000 -0400
+***************
+*** 539,543 ****
+      return 0;
+  
+!   n = skip_to_delim (s, i, ":", SD_NOJMP|SD_EXTGLOB);
+    t = substring (s, i, n);
+  
+--- 539,543 ----
+      return 0;
+  
+!   n = skip_to_delim (s, i, ":", SD_NOJMP|SD_EXTGLOB|SD_GLOB);
+    t = substring (s, i, n);
+  
diff --git a/bash-4.3-readline-revert-lines.patch b/bash-4.3-readline-revert-lines.patch
new file mode 100644
index 0000000..2ce3d87
--- /dev/null
+++ b/bash-4.3-readline-revert-lines.patch
@@ -0,0 +1,18 @@
+*** ../bash-4.3-patched/lib/readline/misc.c	2012-09-01 18:03:11.000000000 -0400
+--- lib/readline/misc.c	2014-06-30 13:41:19.000000000 -0400
+***************
+*** 462,465 ****
+--- 462,466 ----
+  	  /* Set up rl_line_buffer and other variables from history entry */
+  	  rl_replace_from_history (entry, 0);	/* entry->line is now current */
++ 	  entry->data = 0;			/* entry->data is now current undo list */
+  	  /* Undo all changes to this history entry */
+  	  while (rl_undo_list)
+***************
+*** 469,473 ****
+  	  FREE (entry->line);
+  	  entry->line = savestring (rl_line_buffer);
+- 	  entry->data = 0;
+  	}
+        entry = previous_history ();
+--- 470,473 ----
diff --git a/bash.spec b/bash.spec
index 268fbde..4d6dae4 100644
--- a/bash.spec
+++ b/bash.spec
@@ -7,7 +7,7 @@
 Version: %{baseversion}%{patchleveltag}
 Name: bash
 Summary: The GNU Bourne Again shell
-Release: 5%{?dist}
+Release: 6%{?dist}
 Group: System Environment/Shells
 License: GPLv3+
 Url: http://www.gnu.org/software/bash
@@ -89,7 +89,13 @@ Patch127: bash-4.2-trap.patch
 # 1112710 - mention ulimit -c and -f POSIX block size
 Patch128: bash-4.3-man-ulimit.patch
 
+# A series of patches emitted by upstream since 4.3-18
 Patch129: bash-4.3-array-element.patch
+Patch130: bash-4.3-here-doc-ps2-comsub.patch
+Patch131: bash-4.3-parse-time-keyword.patch
+Patch132: bash-4.3-lastpipe-nested-pipe-segfault.patch
+Patch133: bash-4.3-readline-revert-lines.patch
+Patch134: bash-4.3-pathexp-globignore-delim.patch
 
 BuildRequires: texinfo bison
 BuildRequires: ncurses-devel
@@ -163,6 +169,11 @@ This package contains documentation files for %{name}.
 %patch125 -p1 -b .size_type
 %patch128 -p1 -b .ulimit
 %patch129 -p1 -b .element
+%patch130 -p0 -b .comsub
+%patch131 -p0 -b .keyword
+%patch132 -p0 -b .segfault
+%patch133 -p0 -b .lines
+%patch134 -p0 -b .delim
 
 echo %{version} > _distribution
 echo %{release} > _patchlevel
@@ -358,6 +369,9 @@ end
 %doc doc/*.ps doc/*.0 doc/*.html doc/article.txt
 
 %changelog
+* Thu Jul 24 2014 Ondrej Oprala <ooprala at redhat.com> - 4.3.18-6
+- Apply all upstream patches since 4.3-18-1 up to this date
+
 * Thu Jul 24 2014 Ondrej Oprala <ooprala at redhat.com> - 4.3.18-5
 - Array name expansion - apply upstream quickfix
 


More information about the scm-commits mailing list