diff --git a/bash.spec b/bash.spec index 55cc850..c42235d 100644 --- a/bash.spec +++ b/bash.spec @@ -1,12 +1,12 @@ #% define beta_tag rc2 -%define patchleveltag .7 +%define patchleveltag .8 %define baseversion 4.2 %bcond_without tests Version: %{baseversion}%{patchleveltag} Name: bash Summary: The GNU Bourne Again shell -Release: 3%{?dist} +Release: 1%{?dist} Group: System Environment/Shells License: GPLv3+ Url: http://www.gnu.org/software/bash @@ -27,6 +27,7 @@ Patch004: ftp://ftp.gnu.org/pub/gnu/bash/bash-4.2-patches/bash42-004 Patch005: ftp://ftp.gnu.org/pub/gnu/bash/bash-4.2-patches/bash42-005 Patch006: ftp://ftp.gnu.org/pub/gnu/bash/bash-4.2-patches/bash42-006 Patch007: ftp://ftp.gnu.org/pub/gnu/bash/bash-4.2-patches/bash42-007 +Patch008: ftp://ftp.gnu.org/pub/gnu/bash/bash-4.2-patches/bash42-008 # Other patches Patch101: bash-2.02-security.patch @@ -99,6 +100,7 @@ This package contains documentation files for %{name}. %patch005 -p0 -b .005 %patch006 -p0 -b .006 %patch007 -p0 -b .007 +%patch008 -p0 -b .008 # Other patches %patch101 -p1 -b .security @@ -310,6 +312,9 @@ end #%doc doc/*.ps doc/*.0 doc/*.html doc/article.txt %changelog +* Tue Mar 15 2011 Roman Rakus - 4.2.8-1 +- Patchlevel 8 + * Tue Mar 15 2011 Roman Rakus - 4.2.7-3 - #684293, fix the infinite loop with invalid wide char diff --git a/bash42-008 b/bash42-008 new file mode 100644 index 0000000..631abbd --- /dev/null +++ b/bash42-008 @@ -0,0 +1,74 @@ + BASH PATCH REPORT + ================= + +Bash-Release: 4.2 +Patch-ID: bash42-008 + +Bug-Reported-by: Doug McMahon +Bug-Reference-ID: <1299441211.2535.11.camel@doug-XPS-M1330> +Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2011-03/msg00050.html + +Bug-Description: + +Bash-4.2 does not attempt to save the shell history on receipt of a +terminating signal that is handled synchronously. Unfortunately, the +`close' button on most X11 terminal emulators sends SIGHUP, which +kills the shell. + +This is a very small patch to save the history in the case that an +interactive shell receives a SIGHUP or SIGTERM while in readline and +reading a command. + +The next version of bash will do this differently. + +Patch (apply with `patch -p0'): + +*** ../bash-4.2-patched/sig.c Tue Nov 23 08:21:22 2010 +--- sig.c Tue Mar 8 21:28:32 2011 +*************** +*** 47,50 **** +--- 47,51 ---- + #if defined (READLINE) + # include "bashline.h" ++ # include + #endif + +*************** +*** 63,66 **** +--- 64,68 ---- + extern int history_lines_this_session; + #endif ++ extern int no_line_editing; + + extern void initialize_siglist (); +*************** +*** 506,510 **** + #if defined (HISTORY) + /* XXX - will inhibit history file being written */ +! history_lines_this_session = 0; + #endif + terminate_immediately = 0; +--- 508,515 ---- + #if defined (HISTORY) + /* XXX - will inhibit history file being written */ +! # if defined (READLINE) +! if (interactive_shell == 0 || interactive == 0 || (sig != SIGHUP && sig != SIGTERM) || no_line_editing || (RL_ISSTATE (RL_STATE_READCMD) == 0)) +! # endif +! history_lines_this_session = 0; + #endif + terminate_immediately = 0; +*** ../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 7 + + #endif /* _PATCHLEVEL_H_ */ +--- 26,30 ---- + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 8 + + #endif /* _PATCHLEVEL_H_ */