Fix handling pipelines with set -e. Resolves: #483385
This commit is contained in:
parent
0e588980b4
commit
91115222ca
21
bash-4.0-shell_pipelines_handling.patch
Normal file
21
bash-4.0-shell_pipelines_handling.patch
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
diff -up bash-4.0-rc1/execute_cmd.c.shell_pipelines_handling bash-4.0-rc1/execute_cmd.c
|
||||||
|
--- bash-4.0-rc1/execute_cmd.c.shell_pipelines_handling 2009-02-11 12:56:13.000000000 +0100
|
||||||
|
+++ bash-4.0-rc1/execute_cmd.c 2009-02-11 12:57:20.000000000 +0100
|
||||||
|
@@ -756,7 +756,7 @@ execute_command_internal (command, async
|
||||||
|
the presence of a pipeline, and (until Posix changes things), a
|
||||||
|
pipeline failure should not cause the parent shell to exit on an
|
||||||
|
unsuccessful return status, even in the presence of errexit.. */
|
||||||
|
- if (was_error_trap && ignore_return == 0 && invert == 0 && pipe_in == NO_PIPE && pipe_out == NO_PIPE && exec_result != EXECUTION_SUCCESS)
|
||||||
|
+ if (was_error_trap && ignore_return == 0 && invert == 0 && exec_result != EXECUTION_SUCCESS)
|
||||||
|
{
|
||||||
|
last_command_exit_value = exec_result;
|
||||||
|
run_error_trap ();
|
||||||
|
@@ -764,7 +764,7 @@ execute_command_internal (command, async
|
||||||
|
|
||||||
|
if (ignore_return == 0 && invert == 0 &&
|
||||||
|
((posixly_correct && interactive == 0 && special_builtin_failed) ||
|
||||||
|
- (exit_immediately_on_error && pipe_in == NO_PIPE && pipe_out == NO_PIPE && exec_result != EXECUTION_SUCCESS)))
|
||||||
|
+ (exit_immediately_on_error && exec_result != EXECUTION_SUCCESS)))
|
||||||
|
{
|
||||||
|
last_command_exit_value = exec_result;
|
||||||
|
run_pending_traps ();
|
@ -3,7 +3,7 @@
|
|||||||
Version: 4.0
|
Version: 4.0
|
||||||
Name: bash
|
Name: bash
|
||||||
Summary: The GNU Bourne Again shell version %{version}
|
Summary: The GNU Bourne Again shell version %{version}
|
||||||
Release: 0.3.%{?beta_tag}%{?dist}
|
Release: 0.4.%{?beta_tag}%{?dist}
|
||||||
Group: System Environment/Shells
|
Group: System Environment/Shells
|
||||||
License: GPLv2+
|
License: GPLv2+
|
||||||
Url: http://www.gnu.org/software/bash
|
Url: http://www.gnu.org/software/bash
|
||||||
@ -40,6 +40,7 @@ Patch117: bash-setlocale.patch
|
|||||||
Patch118: bash-tty-tests.patch
|
Patch118: bash-tty-tests.patch
|
||||||
Patch119: bash-ulimit-m.patch
|
Patch119: bash-ulimit-m.patch
|
||||||
Patch120: bash-4.0-no_debug_output.patch
|
Patch120: bash-4.0-no_debug_output.patch
|
||||||
|
Patch121: bash-4.0-shell_pipelines_handling.patch
|
||||||
|
|
||||||
Requires(post): ncurses-libs
|
Requires(post): ncurses-libs
|
||||||
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
|
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
|
||||||
@ -83,6 +84,7 @@ compliance over previous versions.
|
|||||||
%patch118 -p1 -b .tty_tests
|
%patch118 -p1 -b .tty_tests
|
||||||
%patch119 -p1 -b .ulimit-m
|
%patch119 -p1 -b .ulimit-m
|
||||||
%patch120 -p1 -b .no_debug_output
|
%patch120 -p1 -b .no_debug_output
|
||||||
|
%patch121 -p1 -b .pipelines_handling
|
||||||
|
|
||||||
echo %{version} > _distribution
|
echo %{version} > _distribution
|
||||||
echo %{release} > _patchlevel
|
echo %{release} > _patchlevel
|
||||||
@ -242,6 +244,10 @@ fi
|
|||||||
#%doc doc/*.ps doc/*.0 doc/*.html doc/article.txt
|
#%doc doc/*.ps doc/*.0 doc/*.html doc/article.txt
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Wed Feb 11 2009 Roman Rakus <rrakus@redhat.com> - 4.0-0.4.rc1
|
||||||
|
- Fix handling pipelines with `set -e'
|
||||||
|
Resolves: #483385
|
||||||
|
|
||||||
* Thu Jan 29 2009 Roman Rakus <rrakus@redhat.com> - 4.0-0.3.rc1
|
* Thu Jan 29 2009 Roman Rakus <rrakus@redhat.com> - 4.0-0.3.rc1
|
||||||
- No more debug output
|
- No more debug output
|
||||||
Resolves: #483002
|
Resolves: #483002
|
||||||
|
Loading…
Reference in New Issue
Block a user