Page MenuHomeSolus

D8195.id19661.diff
No OneTemporary

D8195.id19661.diff

diff --git a/files/bash50-012 b/files/bash50-012
new file mode 100644
--- /dev/null
+++ b/files/bash50-012
@@ -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_ */
diff --git a/files/bash50-013 b/files/bash50-013
new file mode 100644
--- /dev/null
+++ b/files/bash50-013
@@ -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_ */
diff --git a/files/bash50-014 b/files/bash50-014
new file mode 100644
--- /dev/null
+++ b/files/bash50-014
@@ -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_ */
diff --git a/files/bash50-015 b/files/bash50-015
new file mode 100644
--- /dev/null
+++ b/files/bash50-015
@@ -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_ */
diff --git a/files/bash50-016 b/files/bash50-016
new file mode 100644
--- /dev/null
+++ b/files/bash50-016
@@ -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_ */
diff --git a/files/series b/files/series
--- a/files/series
+++ b/files/series
@@ -9,5 +9,10 @@
bash50-009 -p0
bash50-010 -p0
bash50-011 -p0
+bash50-012 -p0
+bash50-013 -p0
+bash50-014 -p0
+bash50-015 -p0
+bash50-016 -p0
0001-Use-a-stateless-profile-by-default.patch
nodlopen.patch
diff --git a/package.yml b/package.yml
--- a/package.yml
+++ b/package.yml
@@ -1,6 +1,6 @@
name : bash
-version : 5.0.11
-release : 54
+version : 5.0.16
+release : 55
source :
- https://ftp.gnu.org/gnu/bash/bash-5.0.tar.gz : b4a80f2ac66170b2913efbfb9f2594f1f76c7b1afd11f799e22035d63077fb4d
license :
diff --git a/pspec_x86_64.xml b/pspec_x86_64.xml
--- a/pspec_x86_64.xml
+++ b/pspec_x86_64.xml
@@ -2,7 +2,7 @@
<Source>
<Name>bash</Name>
<Packager>
- <Name>Alexander J. Koskovich</Name>
+ <Name>Alexander Koskovich</Name>
<Email>zvnexus@outlook.com</Email>
</Packager>
<License>GPL-3.0</License>
@@ -91,20 +91,19 @@
</Description>
<PartOf>system.boot</PartOf>
<RuntimeDependencies>
- <Dependency releaseFrom="54">bash</Dependency>
+ <Dependency releaseFrom="55">bash</Dependency>
</RuntimeDependencies>
<Files>
<Path fileType="executable">/bin/bash.recovery</Path>
</Files>
</Package>
<History>
- <Update release="54">
- <Date>2019-11-10</Date>
- <Version>5.0.11</Version>
+ <Update release="55">
+ <Date>2020-02-08</Date>
+ <Version>5.0.16</Version>
<Comment>Packaging update</Comment>
- <Name>Alexander J. Koskovich</Name>
+ <Name>Alexander Koskovich</Name>
<Email>zvnexus@outlook.com</Email>
</Update>
</History>
-</PISI>
-
+</PISI>
\ No newline at end of file

File Metadata

Mime Type
text/plain
Expires
Thu, Aug 10, 7:56 PM (1 d, 4 h ago)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
5850478
Default Alt Text
D8195.id19661.diff (12 KB)

Event Timeline