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

This commit is contained in:
Ondrej Oprala 2014-07-24 10:33:30 +02:00
parent 339c6c8a9b
commit eb71c89a73
6 changed files with 147 additions and 1 deletions

View File

@ -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);

View File

@ -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 ();

View File

@ -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 */

View File

@ -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);

View File

@ -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 ----

View File

@ -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@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@redhat.com> - 4.3.18-5
- Array name expansion - apply upstream quickfix