bash: update to 5.0.016.
This commit is contained in:
parent
9a72a0ea27
commit
5b1a6d3d3b
64
srcpkgs/bash/files/bash50-012
Normal file
64
srcpkgs/bash/files/bash50-012
Normal file
@ -0,0 +1,64 @@
|
|||||||
|
BASH PATCH REPORT
|
||||||
|
=================
|
||||||
|
|
||||||
|
Bash-Release: 5.0
|
||||||
|
Patch-ID: bash50-012
|
||||||
|
|
||||||
|
Bug-Reported-by: lessbug@qq.com
|
||||||
|
Bug-Reference-ID: <tencent_6AA531D9A5CC4121D86BD5CDA2E0DA98C605@qq.com>
|
||||||
|
Bug-Reference-URL:
|
||||||
|
|
||||||
|
Bug-Description:
|
||||||
|
|
||||||
|
When using previous-history to go back beyond the beginning of the history list,
|
||||||
|
it's possible to move to an incorrect partial line.
|
||||||
|
|
||||||
|
Patch (apply with `patch -p0'):
|
||||||
|
|
||||||
|
*** ../bash-5.0-patched/lib/readline/misc.c 2017-07-07 17:30:12.000000000 -0400
|
||||||
|
--- lib/readline/misc.c 2019-05-16 11:43:46.000000000 -0400
|
||||||
|
***************
|
||||||
|
*** 577,580 ****
|
||||||
|
--- 590,594 ----
|
||||||
|
{
|
||||||
|
HIST_ENTRY *old_temp, *temp;
|
||||||
|
+ int had_saved_line;
|
||||||
|
|
||||||
|
if (count < 0)
|
||||||
|
***************
|
||||||
|
*** 589,592 ****
|
||||||
|
--- 603,607 ----
|
||||||
|
|
||||||
|
/* If we don't have a line saved, then save this one. */
|
||||||
|
+ had_saved_line = _rl_saved_line_for_history != 0;
|
||||||
|
rl_maybe_save_line ();
|
||||||
|
|
||||||
|
***************
|
||||||
|
*** 612,616 ****
|
||||||
|
if (temp == 0)
|
||||||
|
{
|
||||||
|
! rl_maybe_unsave_line ();
|
||||||
|
rl_ding ();
|
||||||
|
}
|
||||||
|
--- 627,632 ----
|
||||||
|
if (temp == 0)
|
||||||
|
{
|
||||||
|
! if (had_saved_line == 0)
|
||||||
|
! _rl_free_saved_history_line ();
|
||||||
|
rl_ding ();
|
||||||
|
}
|
||||||
|
*** ../bash-5.0/patchlevel.h 2016-06-22 14:51:03.000000000 -0400
|
||||||
|
--- patchlevel.h 2016-10-01 11:01:28.000000000 -0400
|
||||||
|
***************
|
||||||
|
*** 26,30 ****
|
||||||
|
looks for to find the patch level (for the sccs version string). */
|
||||||
|
|
||||||
|
! #define PATCHLEVEL 11
|
||||||
|
|
||||||
|
#endif /* _PATCHLEVEL_H_ */
|
||||||
|
--- 26,30 ----
|
||||||
|
looks for to find the patch level (for the sccs version string). */
|
||||||
|
|
||||||
|
! #define PATCHLEVEL 12
|
||||||
|
|
||||||
|
#endif /* _PATCHLEVEL_H_ */
|
73
srcpkgs/bash/files/bash50-013
Normal file
73
srcpkgs/bash/files/bash50-013
Normal file
@ -0,0 +1,73 @@
|
|||||||
|
BASH PATCH REPORT
|
||||||
|
=================
|
||||||
|
|
||||||
|
Bash-Release: 5.0
|
||||||
|
Patch-ID: bash50-013
|
||||||
|
|
||||||
|
Bug-Reported-by: HIROSE Masaaki <hirose31@gmail.com>
|
||||||
|
Bug-Reference-ID: <CAGSOfA-RqiTe=+GsXsDKyZrrMWH4bDbXgMVVegMa6OjqC5xbnQ@mail.gmail.com>
|
||||||
|
Bug-Reference-URL: https://lists.gnu.org/archive/html/bug-bash/2019-05/msg00038.html
|
||||||
|
|
||||||
|
Bug-Description:
|
||||||
|
|
||||||
|
Reading history entries with timestamps can result in history entries joined
|
||||||
|
by linefeeds.
|
||||||
|
|
||||||
|
Patch (apply with `patch -p0'):
|
||||||
|
|
||||||
|
*** ../bash-5.0-patched/lib/readline/histfile.c 2018-06-11 09:14:52.000000000 -0400
|
||||||
|
--- lib/readline/histfile.c 2019-05-16 15:55:57.000000000 -0400
|
||||||
|
***************
|
||||||
|
*** 370,376 ****
|
||||||
|
|
||||||
|
has_timestamps = HIST_TIMESTAMP_START (buffer);
|
||||||
|
! history_multiline_entries += has_timestamps && history_write_timestamps;
|
||||||
|
|
||||||
|
/* Skip lines until we are at FROM. */
|
||||||
|
for (line_start = line_end = buffer; line_end < bufend && current_line < from; line_end++)
|
||||||
|
if (*line_end == '\n')
|
||||||
|
--- 370,378 ----
|
||||||
|
|
||||||
|
has_timestamps = HIST_TIMESTAMP_START (buffer);
|
||||||
|
! history_multiline_entries += has_timestamps && history_write_timestamps;
|
||||||
|
|
||||||
|
/* Skip lines until we are at FROM. */
|
||||||
|
+ if (has_timestamps)
|
||||||
|
+ last_ts = buffer;
|
||||||
|
for (line_start = line_end = buffer; line_end < bufend && current_line < from; line_end++)
|
||||||
|
if (*line_end == '\n')
|
||||||
|
***************
|
||||||
|
*** 381,385 ****
|
||||||
|
--- 383,398 ----
|
||||||
|
if (HIST_TIMESTAMP_START(p) == 0)
|
||||||
|
current_line++;
|
||||||
|
+ else
|
||||||
|
+ last_ts = p;
|
||||||
|
line_start = p;
|
||||||
|
+ /* If we are at the last line (current_line == from) but we have
|
||||||
|
+ timestamps (has_timestamps), then line_start points to the
|
||||||
|
+ text of the last command, and we need to skip to its end. */
|
||||||
|
+ if (current_line >= from && has_timestamps)
|
||||||
|
+ {
|
||||||
|
+ for (line_end = p; line_end < bufend && *line_end != '\n'; line_end++)
|
||||||
|
+ ;
|
||||||
|
+ line_start = (*line_end == '\n') ? line_end + 1 : line_end;
|
||||||
|
+ }
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
*** ../bash-5.0/patchlevel.h 2016-06-22 14:51:03.000000000 -0400
|
||||||
|
--- patchlevel.h 2016-10-01 11:01:28.000000000 -0400
|
||||||
|
***************
|
||||||
|
*** 26,30 ****
|
||||||
|
looks for to find the patch level (for the sccs version string). */
|
||||||
|
|
||||||
|
! #define PATCHLEVEL 12
|
||||||
|
|
||||||
|
#endif /* _PATCHLEVEL_H_ */
|
||||||
|
--- 26,30 ----
|
||||||
|
looks for to find the patch level (for the sccs version string). */
|
||||||
|
|
||||||
|
! #define PATCHLEVEL 13
|
||||||
|
|
||||||
|
#endif /* _PATCHLEVEL_H_ */
|
52
srcpkgs/bash/files/bash50-014
Normal file
52
srcpkgs/bash/files/bash50-014
Normal file
@ -0,0 +1,52 @@
|
|||||||
|
BASH PATCH REPORT
|
||||||
|
=================
|
||||||
|
|
||||||
|
Bash-Release: 5.0
|
||||||
|
Patch-ID: bash50-014
|
||||||
|
|
||||||
|
Bug-Reported-by: Johannes Hielscher <jhielscher@posteo.de>
|
||||||
|
Bug-Reference-ID: <20190208205048.77c25a83@hordevm>
|
||||||
|
Bug-Reference-URL: https://lists.gnu.org/archive/html/bug-bash/2019-02/msg00032.html
|
||||||
|
|
||||||
|
Bug-Description:
|
||||||
|
|
||||||
|
If the current line is empty, using the emacs C-xC-e binding to enter the
|
||||||
|
editor will edit the previous command instead of the current (empty) one.
|
||||||
|
|
||||||
|
Patch (apply with `patch -p0'):
|
||||||
|
|
||||||
|
*** ../bash-5.0-patched/bashline.c 2019-01-16 16:13:21.000000000 -0500
|
||||||
|
--- bashline.c 2019-02-11 11:18:57.000000000 -0500
|
||||||
|
***************
|
||||||
|
*** 962,970 ****
|
||||||
|
finished with the command, so we should not ignore the last command */
|
||||||
|
using_history ();
|
||||||
|
! if (rl_line_buffer[0])
|
||||||
|
! {
|
||||||
|
! current_command_line_count++; /* for rl_newline above */
|
||||||
|
! bash_add_history (rl_line_buffer);
|
||||||
|
! }
|
||||||
|
current_command_line_count = 0; /* for dummy history entry */
|
||||||
|
bash_add_history ("");
|
||||||
|
--- 965,970 ----
|
||||||
|
finished with the command, so we should not ignore the last command */
|
||||||
|
using_history ();
|
||||||
|
! current_command_line_count++; /* for rl_newline above */
|
||||||
|
! bash_add_history (rl_line_buffer);
|
||||||
|
current_command_line_count = 0; /* for dummy history entry */
|
||||||
|
bash_add_history ("");
|
||||||
|
*** ../bash-5.0/patchlevel.h 2016-06-22 14:51:03.000000000 -0400
|
||||||
|
--- patchlevel.h 2016-10-01 11:01:28.000000000 -0400
|
||||||
|
***************
|
||||||
|
*** 26,30 ****
|
||||||
|
looks for to find the patch level (for the sccs version string). */
|
||||||
|
|
||||||
|
! #define PATCHLEVEL 13
|
||||||
|
|
||||||
|
#endif /* _PATCHLEVEL_H_ */
|
||||||
|
--- 26,30 ----
|
||||||
|
looks for to find the patch level (for the sccs version string). */
|
||||||
|
|
||||||
|
! #define PATCHLEVEL 14
|
||||||
|
|
||||||
|
#endif /* _PATCHLEVEL_H_ */
|
78
srcpkgs/bash/files/bash50-015
Normal file
78
srcpkgs/bash/files/bash50-015
Normal file
@ -0,0 +1,78 @@
|
|||||||
|
BASH PATCH REPORT
|
||||||
|
=================
|
||||||
|
|
||||||
|
Bash-Release: 5.0
|
||||||
|
Patch-ID: bash50-015
|
||||||
|
|
||||||
|
Bug-Reported-by: Yu Kou <ckyoog@gmail.com>
|
||||||
|
Bug-Reference-ID: <CAAqoF9Ko3nAShJXGzucafs-ByUagzZ4nbQonwEkwC7s9UqfWKw@mail.gmail.com>
|
||||||
|
Bug-Reference-URL: https://lists.gnu.org/archive/html/bug-bash/2019-05/msg00032.html
|
||||||
|
|
||||||
|
Bug-Description:
|
||||||
|
|
||||||
|
If alias expansion is enabled when processing the command argument to the
|
||||||
|
`-c' option, an alias is defined in that command, and the command ends with
|
||||||
|
the invocation of that alias, the shell's command parser can prematurely
|
||||||
|
terminate before the entire command is executed.
|
||||||
|
|
||||||
|
Patch (apply with `patch -p0'):
|
||||||
|
|
||||||
|
*** ../bash-20190426/builtins/evalstring.c 2019-01-29 14:15:19.000000000 -0500
|
||||||
|
--- builtins/evalstring.c 2019-05-15 14:19:36.000000000 -0400
|
||||||
|
***************
|
||||||
|
*** 92,95 ****
|
||||||
|
--- 92,96 ----
|
||||||
|
running_trap == 0 &&
|
||||||
|
*bash_input.location.string == '\0' &&
|
||||||
|
+ parser_expanding_alias () == 0 &&
|
||||||
|
command->type == cm_simple &&
|
||||||
|
signal_is_trapped (EXIT_TRAP) == 0 &&
|
||||||
|
***************
|
||||||
|
*** 106,109 ****
|
||||||
|
--- 107,111 ----
|
||||||
|
{
|
||||||
|
return (*bash_input.location.string == '\0' &&
|
||||||
|
+ parser_expanding_alias () == 0 &&
|
||||||
|
(command->value.Connection->connector == AND_AND || command->value.Connection->connector == OR_OR || command->value.Connection->connector == ';') &&
|
||||||
|
command->value.Connection->second->type == cm_simple);
|
||||||
|
***************
|
||||||
|
*** 291,295 ****
|
||||||
|
with_input_from_string (string, from_file);
|
||||||
|
clear_shell_input_line ();
|
||||||
|
! while (*(bash_input.location.string))
|
||||||
|
{
|
||||||
|
command = (COMMAND *)NULL;
|
||||||
|
--- 293,297 ----
|
||||||
|
with_input_from_string (string, from_file);
|
||||||
|
clear_shell_input_line ();
|
||||||
|
! while (*(bash_input.location.string) || parser_expanding_alias ())
|
||||||
|
{
|
||||||
|
command = (COMMAND *)NULL;
|
||||||
|
***************
|
||||||
|
*** 546,550 ****
|
||||||
|
|
||||||
|
with_input_from_string (string, from_file);
|
||||||
|
! while (*(bash_input.location.string))
|
||||||
|
{
|
||||||
|
command = (COMMAND *)NULL;
|
||||||
|
--- 548,552 ----
|
||||||
|
|
||||||
|
with_input_from_string (string, from_file);
|
||||||
|
! while (*(bash_input.location.string)) /* XXX - parser_expanding_alias () ? */
|
||||||
|
{
|
||||||
|
command = (COMMAND *)NULL;
|
||||||
|
*** ../bash-5.0/patchlevel.h 2016-06-22 14:51:03.000000000 -0400
|
||||||
|
--- patchlevel.h 2016-10-01 11:01:28.000000000 -0400
|
||||||
|
***************
|
||||||
|
*** 26,30 ****
|
||||||
|
looks for to find the patch level (for the sccs version string). */
|
||||||
|
|
||||||
|
! #define PATCHLEVEL 14
|
||||||
|
|
||||||
|
#endif /* _PATCHLEVEL_H_ */
|
||||||
|
--- 26,30 ----
|
||||||
|
looks for to find the patch level (for the sccs version string). */
|
||||||
|
|
||||||
|
! #define PATCHLEVEL 15
|
||||||
|
|
||||||
|
#endif /* _PATCHLEVEL_H_ */
|
58
srcpkgs/bash/files/bash50-016
Normal file
58
srcpkgs/bash/files/bash50-016
Normal file
@ -0,0 +1,58 @@
|
|||||||
|
BASH PATCH REPORT
|
||||||
|
=================
|
||||||
|
|
||||||
|
Bash-Release: 5.0
|
||||||
|
Patch-ID: bash50-016
|
||||||
|
|
||||||
|
Bug-Reported-by: sunnycemetery@gmail.com
|
||||||
|
Bug-Reference-ID: <20190316041534.GB22884@midnight>
|
||||||
|
Bug-Reference-URL: https://lists.gnu.org/archive/html/bug-bash/2019-03/msg00070.html
|
||||||
|
|
||||||
|
Bug-Description:
|
||||||
|
|
||||||
|
Bash waits too long to reap /dev/fd process substitutions used as redirections
|
||||||
|
with loops and group commands, which can lead to file descriptor exhaustion.
|
||||||
|
|
||||||
|
Patch (apply with `patch -p0'):
|
||||||
|
|
||||||
|
*** ../bash-5.0-patched/execute_cmd.c 2019-04-19 15:46:36.000000000 -0400
|
||||||
|
--- execute_cmd.c 2019-07-01 16:45:49.000000000 -0400
|
||||||
|
***************
|
||||||
|
*** 1104,1107 ****
|
||||||
|
--- 1085,1104 ----
|
||||||
|
discard_unwind_frame ("internal_fifos");
|
||||||
|
}
|
||||||
|
+ # if defined (HAVE_DEV_FD)
|
||||||
|
+ /* Reap process substitutions at the end of loops */
|
||||||
|
+ switch (command->type)
|
||||||
|
+ {
|
||||||
|
+ case cm_while:
|
||||||
|
+ case cm_until:
|
||||||
|
+ case cm_for:
|
||||||
|
+ case cm_group:
|
||||||
|
+ # if defined (ARITH_FOR_COMMAND)
|
||||||
|
+ case cm_arith_for:
|
||||||
|
+ # endif
|
||||||
|
+ reap_procsubs ();
|
||||||
|
+ default:
|
||||||
|
+ break;
|
||||||
|
+ }
|
||||||
|
+ # endif /* HAVE_DEV_FD */
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
*** ../bash-5.0/patchlevel.h 2016-06-22 14:51:03.000000000 -0400
|
||||||
|
--- patchlevel.h 2016-10-01 11:01:28.000000000 -0400
|
||||||
|
***************
|
||||||
|
*** 26,30 ****
|
||||||
|
looks for to find the patch level (for the sccs version string). */
|
||||||
|
|
||||||
|
! #define PATCHLEVEL 15
|
||||||
|
|
||||||
|
#endif /* _PATCHLEVEL_H_ */
|
||||||
|
--- 26,30 ----
|
||||||
|
looks for to find the patch level (for the sccs version string). */
|
||||||
|
|
||||||
|
! #define PATCHLEVEL 16
|
||||||
|
|
||||||
|
#endif /* _PATCHLEVEL_H_ */
|
@ -1,7 +1,7 @@
|
|||||||
# Template file for 'bash'
|
# Template file for 'bash'
|
||||||
pkgname=bash
|
pkgname=bash
|
||||||
_bash_distver=5.0
|
_bash_distver=5.0
|
||||||
_bash_patchlevel=011
|
_bash_patchlevel=016
|
||||||
version="${_bash_distver}.${_bash_patchlevel}"
|
version="${_bash_distver}.${_bash_patchlevel}"
|
||||||
revision=1
|
revision=1
|
||||||
wrksrc="${pkgname}-${_bash_distver}"
|
wrksrc="${pkgname}-${_bash_distver}"
|
||||||
@ -44,7 +44,6 @@ do_check() {
|
|||||||
post_install() {
|
post_install() {
|
||||||
rm -r ${DESTDIR}/usr/share/doc
|
rm -r ${DESTDIR}/usr/share/doc
|
||||||
ln -s bash ${DESTDIR}/usr/bin/rbash
|
ln -s bash ${DESTDIR}/usr/bin/rbash
|
||||||
vmkdir /etc/bash
|
|
||||||
vinstall ${FILESDIR}/bashrc 644 etc/bash
|
vinstall ${FILESDIR}/bashrc 644 etc/bash
|
||||||
vinstall ${FILESDIR}/bash.sh 644 etc/profile.d
|
vinstall ${FILESDIR}/bash.sh 644 etc/profile.d
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user