From 47b4420978894f87e66c0ab7b87a4254a4bafd22 Mon Sep 17 00:00:00 2001 From: Tilman Sauerbeck Date: Wed, 12 Nov 2008 18:35:17 +0100 Subject: [PATCH 1/3] udev: updated to 132. --- udev/.md5sum | 2 +- udev/Pkgfile | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/udev/.md5sum b/udev/.md5sum index ac5b9836..c5249113 100644 --- a/udev/.md5sum +++ b/udev/.md5sum @@ -1,5 +1,5 @@ c0da74341672681c9bd924439ea4e84d cdrom.rules cbb9848e6c3662c966edaed90ce90c3f cdsymlinks f27ca9ef668bcf7561717e7543d06f4c start_udev -8ea93295356b8506f868083e204e9cee udev-131.tar.bz2 +0f51bffb4f5b86cb726b24a16c60a0aa udev-132.tar.bz2 a521a256799fcba14f2f15cacec48a9f udev-config-20080217.tar.bz2 diff --git a/udev/Pkgfile b/udev/Pkgfile index a0c95c12..9133bdb9 100644 --- a/udev/Pkgfile +++ b/udev/Pkgfile @@ -3,7 +3,7 @@ # Maintainer: CRUX System Team, core-ports at crux dot nu name=udev -version=131 +version=132 release=1 source=(ftp://ftp.kernel.org/pub/linux/utils/kernel/hotplug/$name-$version.tar.bz2 \ http://crux.nu/files/distfiles/udev-config-20080217.tar.bz2 \ From b8050203fe9f3aaf829d77fc6edcc88f18a720c0 Mon Sep 17 00:00:00 2001 From: Tilman Sauerbeck Date: Tue, 18 Nov 2008 17:56:24 +0100 Subject: [PATCH 2/3] udev: updated to 133. --- udev/.footprint | 12 ++++++------ udev/.md5sum | 2 +- udev/Pkgfile | 2 +- 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/udev/.footprint b/udev/.footprint index 4393d2c8..2b42b2f2 100644 --- a/udev/.footprint +++ b/udev/.footprint @@ -5,10 +5,10 @@ drwxr-xr-x root/root etc/udev/rules.d/ -rw-r--r-- root/root etc/udev/udev.conf drwxr-xr-x root/root lib/ drwxr-xr-x root/root lib/firmware/ -lrwxrwxrwx root/root lib/libudev.so.0 -> libudev.so.0.0.4 --rwxr-xr-x root/root lib/libudev.so.0.0.4 -lrwxrwxrwx root/root lib/libvolume_id.so.1 -> libvolume_id.so.1.0.4 --rwxr-xr-x root/root lib/libvolume_id.so.1.0.4 +lrwxrwxrwx root/root lib/libudev.so.0 -> libudev.so.0.0.5 +-rwxr-xr-x root/root lib/libudev.so.0.0.5 +lrwxrwxrwx root/root lib/libvolume_id.so.1 -> libvolume_id.so.1.0.5 +-rwxr-xr-x root/root lib/libvolume_id.so.1.0.5 drwxr-xr-x root/root lib/udev/ -rwxr-xr-x root/root lib/udev/ata_id -rwxr-xr-x root/root lib/udev/cdrom_id @@ -63,8 +63,8 @@ drwxr-xr-x root/root usr/include/ -rw-r--r-- root/root usr/include/libudev.h -rw-r--r-- root/root usr/include/libvolume_id.h drwxr-xr-x root/root usr/lib/ -lrwxrwxrwx root/root usr/lib/libudev.so -> ../../lib/libudev.so.0.0.4 -lrwxrwxrwx root/root usr/lib/libvolume_id.so -> ../../lib/libvolume_id.so.1.0.4 +lrwxrwxrwx root/root usr/lib/libudev.so -> ../../lib/libudev.so.0.0.5 +lrwxrwxrwx root/root usr/lib/libvolume_id.so -> ../../lib/libvolume_id.so.1.0.5 drwxr-xr-x root/root usr/lib/pkgconfig/ -rw-r--r-- root/root usr/lib/pkgconfig/libudev.pc -rw-r--r-- root/root usr/lib/pkgconfig/libvolume_id.pc diff --git a/udev/.md5sum b/udev/.md5sum index c5249113..35bb1c34 100644 --- a/udev/.md5sum +++ b/udev/.md5sum @@ -1,5 +1,5 @@ c0da74341672681c9bd924439ea4e84d cdrom.rules cbb9848e6c3662c966edaed90ce90c3f cdsymlinks f27ca9ef668bcf7561717e7543d06f4c start_udev -0f51bffb4f5b86cb726b24a16c60a0aa udev-132.tar.bz2 +1fe77c4d76162f4b09bdc01becbc4295 udev-133.tar.bz2 a521a256799fcba14f2f15cacec48a9f udev-config-20080217.tar.bz2 diff --git a/udev/Pkgfile b/udev/Pkgfile index 9133bdb9..79484fd9 100644 --- a/udev/Pkgfile +++ b/udev/Pkgfile @@ -3,7 +3,7 @@ # Maintainer: CRUX System Team, core-ports at crux dot nu name=udev -version=132 +version=133 release=1 source=(ftp://ftp.kernel.org/pub/linux/utils/kernel/hotplug/$name-$version.tar.bz2 \ http://crux.nu/files/distfiles/udev-config-20080217.tar.bz2 \ From ad6c39cd08c33a69b83f4921fd9fdc2d0678adc9 Mon Sep 17 00:00:00 2001 From: Juergen Daubert Date: Wed, 19 Nov 2008 10:42:13 +0100 Subject: [PATCH 3/3] bash: update to 3.2.48 --- bash/.md5sum | 2 +- bash/Pkgfile | 8 +- ...2-001-039.patch => bash-3.2-001-048.patch} | 688 ++++++++++++++++++ 3 files changed, 693 insertions(+), 5 deletions(-) rename bash/{bash-3.2-001-039.patch => bash-3.2-001-048.patch} (84%) diff --git a/bash/.md5sum b/bash/.md5sum index 552a46bb..d4653add 100644 --- a/bash/.md5sum +++ b/bash/.md5sum @@ -1,4 +1,4 @@ -0da3f9a64750638c09696bf0c417d4f5 bash-3.2-001-039.patch +322247458d9178048b31834aac872932 bash-3.2-001-048.patch 46d32222ea0ee4b92d9cad3130498e30 bash-3.2-doc.patch 00bfa16d58e034e3c2aa27f390390d30 bash-3.2.tar.gz 3fee206195d50dbd8a3560a8a77f341b profile diff --git a/bash/Pkgfile b/bash/Pkgfile index d263530a..a225decc 100644 --- a/bash/Pkgfile +++ b/bash/Pkgfile @@ -4,18 +4,18 @@ # Depends on: ncurses name=bash -version=3.2.39 +version=3.2.48 release=1 source=(http://ftp.gnu.org/gnu/$name/$name-3.2.tar.gz \ - $name-3.2-001-039.patch \ + $name-3.2-001-048.patch \ $name-3.2-doc.patch \ profile) build() { cd $name-3.2 - patch -p0 < $SRC/$name-3.2-001-039.patch - patch -p1 < $SRC/$name-3.2-doc.patch + patch -p0 -i $SRC/$name-3.2-001-048.patch + patch -p1 -i $SRC/$name-3.2-doc.patch touch configure ./configure --prefix=/usr \ diff --git a/bash/bash-3.2-001-039.patch b/bash/bash-3.2-001-048.patch similarity index 84% rename from bash/bash-3.2-001-039.patch rename to bash/bash-3.2-001-048.patch index 51990629..3aa8dc52 100644 --- a/bash/bash-3.2-001-039.patch +++ b/bash/bash-3.2-001-048.patch @@ -4045,4 +4045,692 @@ Patch: ! #define PATCHLEVEL 39 + #endif /* _PATCHLEVEL_H_ */ + + BASH PATCH REPORT + ================= + +Bash-Release: 3.2 +Patch-ID: bash32-040 + +Bug-Reported-by: John McCabe-Dansted +Bug-Reference-ID: +Bug-Reference-URL: https://bugs.launchpad.net/ubuntu/+source/bash/+bug/202885 + +Bug-Description: + +When using the `set' builtin to list all shell variables, the shell uses +the wrong variable when computing the length of a variable's value. + +Patch: + +*** ../bash-3.2-patched/array.c 2007-03-24 14:51:03.000000000 -0400 +--- array.c 2008-08-17 13:07:04.000000000 -0400 +*************** +*** 684,688 **** + valstr = element_value (ae) ? sh_double_quote (element_value(ae)) + : (char *)NULL; +! elen = STRLEN (indstr) + 8 + STRLEN (valstr); + RESIZE_MALLOCED_BUFFER (result, rlen, (elen + 1), rsize, rsize); + +--- 809,813 ---- + valstr = element_value (ae) ? sh_double_quote (element_value(ae)) + : (char *)NULL; +! elen = STRLEN (is) + 8 + STRLEN (valstr); + RESIZE_MALLOCED_BUFFER (result, rlen, (elen + 1), rsize, rsize); + +*** ../bash-3.2/patchlevel.h Thu Apr 13 08:31:04 2006 +--- patchlevel.h Mon Oct 16 14:22:54 2006 +*************** +*** 26,30 **** + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 39 + + #endif /* _PATCHLEVEL_H_ */ +--- 26,30 ---- + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 40 + + #endif /* _PATCHLEVEL_H_ */ + + BASH PATCH REPORT + ================= + +Bash-Release: 3.2 +Patch-ID: bash32-041 + +Bug-Reported-by: Dan Jacobson +Bug-Reference-ID: <873arjs11h.fsf@jidanni.org> +Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2008-02/msg00049.html + +Bug-Description: + +Bash saved and restored the value of `set -o history' while sourcing files, +preventing users from turning off history with `set +o history' in .bashrc. + +Patch: + +*** ../bash-3.2-patched/bashhist.c 2005-12-26 13:31:16.000000000 -0500 +--- bashhist.c 2008-08-17 13:07:40.000000000 -0400 +*************** +*** 81,84 **** +--- 81,85 ---- + becomes zero when we read lines from a file, for example. */ + int remember_on_history = 1; ++ int enable_history_list = 1; /* value for `set -o history' */ + + /* The number of lines that Bash has added to this history session. The +*************** +*** 235,239 **** + history_expansion_inhibited = 1; + #endif +! remember_on_history = interact != 0; + history_inhibit_expansion_function = bash_history_inhibit_expansion; + } +--- 236,240 ---- + history_expansion_inhibited = 1; + #endif +! remember_on_history = enable_history_list = interact != 0; + history_inhibit_expansion_function = bash_history_inhibit_expansion; + } +*** ../bash-3.2-patched/builtins/set.def 2006-07-27 09:41:43.000000000 -0400 +--- builtins/set.def 2008-08-14 16:33:41.000000000 -0400 +*************** +*** 190,194 **** + #endif /* BANG_HISTORY */ + #if defined (HISTORY) +! { "history", '\0', &remember_on_history, bash_set_history, (setopt_get_func_t *)NULL }, + #endif + { "ignoreeof", '\0', &ignoreeof, set_ignoreeof, (setopt_get_func_t *)NULL }, +--- 198,202 ---- + #endif /* BANG_HISTORY */ + #if defined (HISTORY) +! { "history", '\0', &enable_history_list, bash_set_history, (setopt_get_func_t *)NULL }, + #endif + { "ignoreeof", '\0', &ignoreeof, set_ignoreeof, (setopt_get_func_t *)NULL }, +*************** +*** 382,385 **** +--- 390,394 ---- + if (on_or_off == FLAG_ON) + { ++ enable_history_list = 1; + bash_history_enable (); + if (history_lines_this_session == 0) +*************** +*** 387,392 **** + } + else +! bash_history_disable (); +! return (1 - remember_on_history); + } + #endif +--- 396,404 ---- + } + else +! { +! enable_history_list = 0; +! bash_history_disable (); +! } +! return (1 - enable_history_list); + } + #endif +*************** +*** 566,570 **** + { + #if defined (HISTORY) +! remember_on_history = 1; + #endif + ignoreeof = 0; +--- 578,582 ---- + { + #if defined (HISTORY) +! remember_on_history = enable_history_list = 1; + #endif + ignoreeof = 0; +*** ../bash-3.2-patched/builtins/evalstring.c 2006-07-28 15:12:16.000000000 -0400 +--- builtins/evalstring.c 2008-11-10 21:17:16.000000000 -0500 +*************** +*** 68,71 **** +--- 68,79 ---- + static int cat_file __P((REDIRECT *)); + ++ #if defined (HISTORY) ++ static void ++ set_history_remembering () ++ { ++ remember_on_history = enable_history_list; ++ } ++ #endif ++ + /* How to force parse_and_execute () to clean up after itself. */ + void +*************** +*** 116,120 **** + + #if defined (HISTORY) +! unwind_protect_int (remember_on_history); /* can be used in scripts */ + # if defined (BANG_HISTORY) + if (interactive_shell) +--- 124,131 ---- + + #if defined (HISTORY) +! if (parse_and_execute_level == 0) +! add_unwind_protect (set_history_remembering, (char *)NULL); +! else +! unwind_protect_int (remember_on_history); /* can be used in scripts */ + # if defined (BANG_HISTORY) + if (interactive_shell) +*** ../bash-3.2-patched/bashhist.h 2005-07-01 15:44:41.000000000 -0400 +--- bashhist.h 2008-08-17 12:51:07.000000000 -0400 +*************** +*** 32,35 **** +--- 32,38 ---- + + extern int remember_on_history; ++ extern int enable_history_list; /* value for `set -o history' */ ++ extern int literal_history; /* controlled by `shopt lithist' */ ++ extern int force_append_history; + extern int history_lines_this_session; + extern int history_lines_in_file; +*** ../bash-3.2/patchlevel.h Thu Apr 13 08:31:04 2006 +--- patchlevel.h Mon Oct 16 14:22:54 2006 +*************** +*** 26,30 **** + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 40 + + #endif /* _PATCHLEVEL_H_ */ +--- 26,30 ---- + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 41 + + #endif /* _PATCHLEVEL_H_ */ + + BASH PATCH REPORT + ================= + +Bash-Release: 3.2 +Patch-ID: bash32-042 + +Bug-Reported-by: Archimerged Ark Submedes +Bug-Reference-ID: <5ba4bef00804182116g65ff71e0qdffcf672f205e708@mail.gmail.com> +Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2008-04/msg00041.html + +Bug-Description: + +An operator precedence error prevented the bash arithmetic evaluator from +parsing conditional commands correctly. + +Patch: + +*** ../bash-3.2-patched/expr.c 2007-12-13 22:30:43.000000000 -0500 +--- expr.c 2008-08-17 13:09:59.000000000 -0400 +*************** +*** 521,525 **** + noeval++; + } +! val2 = explor (); + if (set_noeval) + noeval--; +--- 521,526 ---- + noeval++; + } +! +! val2 = expcond (); + if (set_noeval) + noeval--; +*** ../bash-3.2/patchlevel.h Thu Apr 13 08:31:04 2006 +--- patchlevel.h Mon Oct 16 14:22:54 2006 +*************** +*** 26,30 **** + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 41 + + #endif /* _PATCHLEVEL_H_ */ +--- 26,30 ---- + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 42 + + #endif /* _PATCHLEVEL_H_ */ + + BASH PATCH REPORT + ================= + +Bash-Release: 3.2 +Patch-ID: bash32-043 + +Bug-Reported-by: Morita Sho +Bug-Reference-ID: +Bug-Reference-URL: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=478096 + +Bug-Description: + +Side effects caused by setting function-local versions of variables bash +handles specially persisted after the function returned. + +Patch: + +*** ../bash-3.2-patched/variables.c 2007-08-25 13:47:05.000000000 -0400 +--- variables.c 2008-11-09 17:47:31.000000000 -0500 +*************** +*** 3459,3465 **** + var->attributes &= ~(att_tempvar|att_propagate); + else +! shell_variables->flags |= VC_HASTMPVAR; + v->attributes |= var->attributes; + } + + dispose_variable (var); +--- 3771,3779 ---- + var->attributes &= ~(att_tempvar|att_propagate); + else +! shell_variables->flags |= VC_HASTMPVAR; + v->attributes |= var->attributes; + } ++ else ++ stupidly_hack_special_variables (var->name); /* XXX */ + + dispose_variable (var); +*************** +*** 3548,3551 **** +--- 3862,3867 ---- + v->attributes |= var->attributes; + } ++ else ++ stupidly_hack_special_variables (var->name); /* XXX */ + + dispose_variable (var); +*** ../bash-3.2/patchlevel.h Thu Apr 13 08:31:04 2006 +--- patchlevel.h Mon Oct 16 14:22:54 2006 +*************** +*** 26,30 **** + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 42 + + #endif /* _PATCHLEVEL_H_ */ +--- 26,30 ---- + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 43 + + #endif /* _PATCHLEVEL_H_ */ + + BASH PATCH REPORT + ================= + +Bash-Release: 3.2 +Patch-ID: bash32-044 + +Bug-Reported-by: slinkp +Bug-Reference-ID: +Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2008-05/msg00085.html + +Bug-Description: + +The presence of invisible characters in a prompt longer than the screenwidth +with invisible characters on the first and last prompt lines caused readline +to place the cursor in the wrong physical location. + +Patch: + +*** ../bash-3.2-patched/lib/readline/display.c 2007-12-14 21:12:40.000000000 -0500 +--- lib/readline/display.c 2008-10-23 09:39:46.000000000 -0400 +*************** +*** 911,914 **** +--- 944,951 ---- + OFFSET (which has already been calculated above). */ + ++ #define INVIS_FIRST() (prompt_physical_chars > _rl_screenwidth ? prompt_invis_chars_first_line : wrap_offset) ++ #define WRAP_OFFSET(line, offset) ((line == 0) \ ++ ? (offset ? INVIS_FIRST() : 0) \ ++ : ((line == prompt_last_screen_line) ? wrap_offset-prompt_invis_chars_first_line : 0)) + #define W_OFFSET(line, offset) ((line) == 0 ? offset : 0) + #define VIS_LLEN(l) ((l) > _rl_vis_botlin ? 0 : (vis_lbreaks[l+1] - vis_lbreaks[l])) +*************** +*** 945,949 **** + _rl_last_c_pos > wrap_offset && + o_cpos < prompt_last_invisible) +! _rl_last_c_pos -= wrap_offset; + + /* If this is the line with the prompt, we might need to +--- 982,992 ---- + _rl_last_c_pos > wrap_offset && + o_cpos < prompt_last_invisible) +! _rl_last_c_pos -= prompt_invis_chars_first_line; /* XXX - was wrap_offset */ +! else if (linenum == prompt_last_screen_line && prompt_physical_chars > _rl_screenwidth && +! (MB_CUR_MAX > 1 && rl_byte_oriented == 0) && +! cpos_adjusted == 0 && +! _rl_last_c_pos != o_cpos && +! _rl_last_c_pos > (prompt_last_invisible - _rl_screenwidth - prompt_invis_chars_first_line)) +! _rl_last_c_pos -= (wrap_offset-prompt_invis_chars_first_line); + + /* If this is the line with the prompt, we might need to +*************** +*** 1205,1209 **** + { + register char *ofd, *ols, *oe, *nfd, *nls, *ne; +! int temp, lendiff, wsatend, od, nd, o_cpos; + int current_invis_chars; + int col_lendiff, col_temp; +--- 1264,1268 ---- + { + register char *ofd, *ols, *oe, *nfd, *nls, *ne; +! int temp, lendiff, wsatend, od, nd, twidth, o_cpos; + int current_invis_chars; + int col_lendiff, col_temp; +*************** +*** 1221,1225 **** + temp = _rl_last_c_pos; + else +! temp = _rl_last_c_pos - W_OFFSET(_rl_last_v_pos, visible_wrap_offset); + if (temp == _rl_screenwidth && _rl_term_autowrap && !_rl_horizontal_scroll_mode + && _rl_last_v_pos == current_line - 1) +--- 1280,1284 ---- + temp = _rl_last_c_pos; + else +! temp = _rl_last_c_pos - WRAP_OFFSET (_rl_last_v_pos, visible_wrap_offset); + if (temp == _rl_screenwidth && _rl_term_autowrap && !_rl_horizontal_scroll_mode + && _rl_last_v_pos == current_line - 1) +*************** +*** 1587,1599 **** + { + _rl_output_some_chars (nfd + lendiff, temp - lendiff); +- #if 1 + /* XXX -- this bears closer inspection. Fixes a redisplay bug + reported against bash-3.0-alpha by Andreas Schwab involving + multibyte characters and prompt strings with invisible + characters, but was previously disabled. */ +! _rl_last_c_pos += _rl_col_width (nfd+lendiff, 0, temp-col_lendiff); +! #else +! _rl_last_c_pos += _rl_col_width (nfd+lendiff, 0, temp-lendiff); +! #endif + } + } +--- 1648,1660 ---- + { + _rl_output_some_chars (nfd + lendiff, temp - lendiff); + /* XXX -- this bears closer inspection. Fixes a redisplay bug + reported against bash-3.0-alpha by Andreas Schwab involving + multibyte characters and prompt strings with invisible + characters, but was previously disabled. */ +! if (MB_CUR_MAX > 1 && rl_byte_oriented == 0) +! twidth = _rl_col_width (nfd+lendiff, 0, temp-col_lendiff); +! else +! twidth = temp - lendiff; +! _rl_last_c_pos += twidth; + } + } +*************** +*** 1789,1793 **** + int cpos, dpos; /* current and desired cursor positions */ + +! woff = W_OFFSET (_rl_last_v_pos, wrap_offset); + cpos = _rl_last_c_pos; + #if defined (HANDLE_MULTIBYTE) +--- 1850,1854 ---- + int cpos, dpos; /* current and desired cursor positions */ + +! woff = WRAP_OFFSET (_rl_last_v_pos, wrap_offset); + cpos = _rl_last_c_pos; + #if defined (HANDLE_MULTIBYTE) +*************** +*** 1803,1807 **** + prompt string, since they're both buffer indices and DPOS is a + desired display position. */ +! if (new > prompt_last_invisible) /* XXX - don't use woff here */ + { + dpos -= woff; +--- 1864,1872 ---- + prompt string, since they're both buffer indices and DPOS is a + desired display position. */ +! if ((new > prompt_last_invisible) || /* XXX - don't use woff here */ +! (prompt_physical_chars > _rl_screenwidth && +! _rl_last_v_pos == prompt_last_screen_line && +! wrap_offset != woff && +! new > (prompt_last_invisible-_rl_screenwidth-wrap_offset))) + { + dpos -= woff; +*** ../bash-3.2/patchlevel.h Thu Apr 13 08:31:04 2006 +--- patchlevel.h Mon Oct 16 14:22:54 2006 +*************** +*** 26,30 **** + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 43 + + #endif /* _PATCHLEVEL_H_ */ +--- 26,30 ---- + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 44 + + #endif /* _PATCHLEVEL_H_ */ + + BASH PATCH REPORT + ================= + +Bash-Release: 3.2 +Patch-ID: bash32-045 + +Bug-Reported-by: Roman Rakus +Bug-Reference-ID: <4864B4A0.1060402@redhat.com> +Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2008-06/msg00098.html + +Bug-Description: + +When short-circuiting execution due to the `break' or `continue' builtins, +bash did not preserve the value of $?. + +Patch: + +*** ../bash-3.2-patched/execute_cmd.c 2008-04-28 22:00:24.000000000 -0400 +--- execute_cmd.c 2008-10-18 14:35:03.000000000 -0400 +*************** +*** 502,507 **** +--- 514,526 ---- + volatile int save_line_number; + ++ #if 0 + if (command == 0 || breaking || continuing || read_but_dont_execute) + return (EXECUTION_SUCCESS); ++ #else ++ if (breaking || continuing) ++ return (last_command_exit_value); ++ if (command == 0 || read_but_dont_execute) ++ return (EXECUTION_SUCCESS); ++ #endif + + QUIT; +*** ../bash-3.2/patchlevel.h Thu Apr 13 08:31:04 2006 +--- patchlevel.h Mon Oct 16 14:22:54 2006 +*************** +*** 26,30 **** + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 44 + + #endif /* _PATCHLEVEL_H_ */ +--- 26,30 ---- + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 45 + + #endif /* _PATCHLEVEL_H_ */ + + BASH PATCH REPORT + ================= + +Bash-Release: 3.2 +Patch-ID: bash32-046 + +Bug-Reported-by: Wang Xin +Bug-Reference-ID: <9a73e1570807062042ide16698m10e1b18036c95592@mail.gmail.com> +Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2008-07/msg00014.html + +Bug-Description: + +Bash did not compute the length of multibyte characters correctly when +performing array element length references (e.g., ${#var[subscript]}). + +Patch: + +*** /usr/src/local/bash/bash-3.2-patched/subst.c 2008-04-28 22:00:20.000000000 -0400 +--- subst.c 2008-11-10 22:02:38.000000000 -0500 +*************** +*** 4813,4817 **** + t = (ind == 0) ? value_cell (var) : (char *)NULL; + +! len = STRLEN (t); + return (len); + } +--- 4813,4817 ---- + t = (ind == 0) ? value_cell (var) : (char *)NULL; + +! len = MB_STRLEN (t); + return (len); + } +*** ../bash-3.2/patchlevel.h Thu Apr 13 08:31:04 2006 +--- patchlevel.h Mon Oct 16 14:22:54 2006 +*************** +*** 26,30 **** + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 45 + + #endif /* _PATCHLEVEL_H_ */ +--- 26,30 ---- + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 46 + + #endif /* _PATCHLEVEL_H_ */ + + BASH PATCH REPORT + ================= + +Bash-Release: 3.2 +Patch-ID: bash32-047 + +Bug-Reported-by: Roman Rakus +Bug-Reference-ID: <48A89EBC.906@redhat.com> +Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2008-08/msg00026.html + +Bug-Description: + +When using the `.' (source) builtin, under certain circumstances bash was +too careful in discarding state to preserve internal consistency. One +effect was that assignments to readonly variables would cause entire scripts +to be aborted instead of execution of the offending command. This behavior +was introduced by bash-3.2 patch 20. + +Patch: + +*** /usr/src/local/chet/src/bash/bash-3.2-patched/subst.c 2008-04-29 21:24:55.000000000 -0400 +--- subst.c 2008-11-13 17:44:25.000000000 -0500 +*************** +*** 138,142 **** + extern int last_command_exit_value, last_command_exit_signal; + extern int subshell_environment; +! extern int subshell_level; + extern int eof_encountered; + extern int return_catch_flag, return_catch_value; +--- 138,142 ---- + extern int last_command_exit_value, last_command_exit_signal; + extern int subshell_environment; +! extern int subshell_level, parse_and_execute_level; + extern int eof_encountered; + extern int return_catch_flag, return_catch_value; +*************** +*** 7673,7677 **** + expanding_redir = 0; + +! top_level_cleanup (); /* from sig.c */ + + jump_to_top_level (v); +--- 7673,7679 ---- + expanding_redir = 0; + +! if (parse_and_execute_level == 0) +! top_level_cleanup (); /* from sig.c */ +! + + jump_to_top_level (v); +*** ../bash-3.2/patchlevel.h Thu Apr 13 08:31:04 2006 +--- patchlevel.h Mon Oct 16 14:22:54 2006 +*************** +*** 26,30 **** + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 46 + + #endif /* _PATCHLEVEL_H_ */ +--- 26,30 ---- + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 47 + + #endif /* _PATCHLEVEL_H_ */ + + BASH PATCH REPORT + ================= + +Bash-Release: 3.2 +Patch-ID: bash32-048 + +Bug-Reported-by: Steffen Kiess +Bug-Reference-ID: <1223929957.5383.6.camel@fips> +Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2008-10/msg00047.html + +Bug-Description: + +When invoked as `bash -c', bash did not execute an EXIT trap when the last +command in the executed list was a command run from the file system. + +Patch: + +*** /Users/chet/src/bash/bash-3.2-patched/builtins/evalstring.c 2006-07-28 15:12:16.000000000 -0400 +--- builtins/evalstring.c 2008-11-13 18:38:45.000000000 -0500 +*************** +*** 249,252 **** +--- 249,253 ---- + * we're not running a trap AND + * we have parsed the full command (string == '\0') AND ++ * we're not going to run the exit trap AND + * we have a simple command without redirections AND + * the command is not being timed AND +*************** +*** 259,263 **** + *bash_input.location.string == '\0' && + command->type == cm_simple && +! !command->redirects && !command->value.Simple->redirects && + ((command->flags & CMD_TIME_PIPELINE) == 0) && + ((command->flags & CMD_INVERT_RETURN) == 0)) +--- 260,265 ---- + *bash_input.location.string == '\0' && + command->type == cm_simple && +! signal_is_trapped (EXIT_TRAP) == 0 && +! command->redirects == 0 && command->value.Simple->redirects == 0 && + ((command->flags & CMD_TIME_PIPELINE) == 0) && + ((command->flags & CMD_INVERT_RETURN) == 0)) +*** ../bash-3.2/patchlevel.h Thu Apr 13 08:31:04 2006 +--- patchlevel.h Mon Oct 16 14:22:54 2006 +*************** +*** 26,30 **** + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 47 + + #endif /* _PATCHLEVEL_H_ */ +--- 26,30 ---- + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 48 + #endif /* _PATCHLEVEL_H_ */