Hello community,
here is the log from the commit of package bash for openSUSE:Factory checked in at 2019-04-28 19:56:42
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/bash (Old)
and /work/SRC/openSUSE:Factory/.bash.new.5536 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "bash"
Sun Apr 28 19:56:42 2019 rev:155 rq:697366 version:5.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/bash/bash.changes 2019-04-08 10:29:55.039107810 +0200
+++ /work/SRC/openSUSE:Factory/.bash.new.5536/bash.changes 2019-04-28 19:56:46.087032132 +0200
@@ -1,0 +2,19 @@
+Tue Apr 23 12:58:16 UTC 2019 - Dr. Werner Fink
+
+- Add official patch bash50-004
+ * In bash-5.0, the `wait' builtin without arguments waits for all children of the
+ shell. This includes children it `inherited' at shell invocation time. This
+ patch modifies the behavior to not wait for these inherited children, some
+ of which might be long-lived.
+- Add official patch bash50-005
+ * In certain cases, bash optimizes out a fork() call too early and prevents
+ traps from running.
+- Add official patch bash50-006
+ * Bash-5.0 did not build successfully if SYSLOG_HISTORY was defined without
+ also defining SYSLOG_SHOPT.
+- Add official patch bash50-007
+ * Running `exec' when job control was disabled, even temporarily, but after it
+ had been initialized, could leave the terminal in the wrong process group for
+ the executed process.
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ bash.spec ++++++
--- /var/tmp/diff_new_pack.D7RpYG/_old 2019-04-28 19:56:46.827031685 +0200
+++ /var/tmp/diff_new_pack.D7RpYG/_new 2019-04-28 19:56:46.831031683 +0200
@@ -12,7 +12,7 @@
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
-# Please submit bugfixes or comments via http://bugs.opensuse.org/
+# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
@@ -492,6 +492,7 @@
chmod 600 %{buildroot}%{_sysconfdir}/skel/.bash_history
%find_lang bash
%fdupes -s %{buildroot}%{_datadir}/bash/helpfiles
+ sed -ri '1{ s@/bin/sh@/bin/bash@ }' %{buildroot}%{_bindir}/bashbug
%post -p /bin/bash
%{_sbindir}/update-alternatives --quiet --force \
++++++ bash-5.0-patches.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/bash-5.0-patches/bash50-004 new/bash-5.0-patches/bash50-004
--- old/bash-5.0-patches/bash50-004 1970-01-01 01:00:00.000000000 +0100
+++ new/bash-5.0-patches/bash50-004 2019-04-20 20:30:41.000000000 +0200
@@ -0,0 +1,53 @@
+ BASH PATCH REPORT
+ =================
+
+Bash-Release: 5.0
+Patch-ID: bash50-004
+
+Bug-Reported-by: Daniel Kahn Gillmor
+Bug-Reference-ID: <87lg0g8aiw.fsf@fifthhorseman.net>
+Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2019-04/msg00076.html
+
+Bug-Description:
+
+In bash-5.0, the `wait' builtin without arguments waits for all children of the
+shell. This includes children it `inherited' at shell invocation time. This
+patch modifies the behavior to not wait for these inherited children, some
+of which might be long-lived.
+
+Patch (apply with `patch -p0'):
+
+*** ../bash-5.0-patched/jobs.c 2018-12-06 11:44:34.000000000 -0500
+--- jobs.c 2019-04-12 15:15:10.000000000 -0400
+***************
+*** 2489,2496 ****
+ wait_procsubs ();
+ reap_procsubs ();
+! #if 1
+ /* We don't want to wait indefinitely if we have stopped children. */
+- /* XXX - should add a loop that goes through the list of process
+- substitutions and waits for each proc in turn before this code. */
+ if (any_stopped == 0)
+ {
+--- 2490,2495 ----
+ wait_procsubs ();
+ reap_procsubs ();
+! #if 0
+ /* We don't want to wait indefinitely if we have stopped children. */
+ if (any_stopped == 0)
+ {
+*** ../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 3
+
+ #endif /* _PATCHLEVEL_H_ */
+--- 26,30 ----
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 4
+
+ #endif /* _PATCHLEVEL_H_ */
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/bash-5.0-patches/bash50-005 new/bash-5.0-patches/bash50-005
--- old/bash-5.0-patches/bash50-005 1970-01-01 01:00:00.000000000 +0100
+++ new/bash-5.0-patches/bash50-005 2019-04-20 20:30:53.000000000 +0200
@@ -0,0 +1,110 @@
+ BASH PATCH REPORT
+ =================
+
+Bash-Release: 5.0
+Patch-ID: bash50-005
+
+Bug-Reported-by: Brad Spencer
+Bug-Reference-ID: <1b993ff2-ce4f-662a-6be4-393457362e47@blackberry.com>
+Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2019-01/msg00250.html
+
+Bug-Description:
+
+In certain cases, bash optimizes out a fork() call too early and prevents
+traps from running.
+
+Patch (apply with `patch -p0'):
+
+*** ../bash-5.0-patched/command.h 2018-07-20 21:16:31.000000000 -0400
+--- command.h 2019-02-20 11:09:36.000000000 -0500
+***************
+*** 187,190 ****
+--- 188,192 ----
+ #define CMD_LASTPIPE 0x2000
+ #define CMD_STDPATH 0x4000 /* use standard path for command lookup */
++ #define CMD_TRY_OPTIMIZING 0x8000 /* try to optimize this simple command */
+
+ /* What a command looks like. */
+*** ../bash-5.0-patched/builtins/evalstring.c 2018-12-26 11:19:21.000000000 -0500
+--- builtins/evalstring.c 2019-01-29 14:15:19.000000000 -0500
+***************
+*** 101,104 ****
+--- 101,113 ----
+ }
+
++ int
++ can_optimize_connection (command)
++ COMMAND *command;
++ {
++ return (*bash_input.location.string == '\0' &&
++ (command->value.Connection->connector == AND_AND || command->value.Connection->connector == OR_OR || command->value.Connection->connector == ';') &&
++ command->value.Connection->second->type == cm_simple);
++ }
++
+ void
+ optimize_fork (command)
+***************
+*** 106,110 ****
+ {
+ if (command->type == cm_connection &&
+! (command->value.Connection->connector == AND_AND || command->value.Connection->connector == OR_OR) &&
+ should_suppress_fork (command->value.Connection->second))
+ {
+--- 115,120 ----
+ {
+ if (command->type == cm_connection &&
+! (command->value.Connection->connector == AND_AND || command->value.Connection->connector == OR_OR || command->value.Connection->connector == ';') &&
+! (command->value.Connection->second->flags & CMD_TRY_OPTIMIZING) &&
+ should_suppress_fork (command->value.Connection->second))
+ {
+***************
+*** 413,418 ****
+ command->value.Simple->flags |= CMD_NO_FORK;
+ }
+! else if (command->type == cm_connection)
+! optimize_fork (command);
+ #endif /* ONESHOT */
+
+--- 423,438 ----
+ command->value.Simple->flags |= CMD_NO_FORK;
+ }
+!
+! /* Can't optimize forks out here execept for simple commands.
+! This knows that the parser sets up commands as left-side heavy
+! (&& and || are left-associative) and after the single parse,
+! if we are at the end of the command string, the last in a
+! series of connection commands is
+! command->value.Connection->second. */
+! else if (command->type == cm_connection && can_optimize_connection (command))
+! {
+! command->value.Connection->second->flags |= CMD_TRY_OPTIMIZING;
+! command->value.Connection->second->value.Simple->flags |= CMD_TRY_OPTIMIZING;
+! }
+ #endif /* ONESHOT */
+
+*** ../bash-5.0-patched/execute_cmd.c 2018-12-05 09:05:14.000000000 -0500
+--- execute_cmd.c 2019-01-25 15:59:00.000000000 -0500
+***************
+*** 2768,2771 ****
+--- 2768,2773 ----
+ (exec_result != EXECUTION_SUCCESS)))
+ {
++ optimize_fork (command);
++
+ second = command->value.Connection->second;
+ if (ignore_return && second)
+*** ../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 4
+
+ #endif /* _PATCHLEVEL_H_ */
+--- 26,30 ----
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 5
+
+ #endif /* _PATCHLEVEL_H_ */
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/bash-5.0-patches/bash50-006 new/bash-5.0-patches/bash50-006
--- old/bash-5.0-patches/bash50-006 1970-01-01 01:00:00.000000000 +0100
+++ new/bash-5.0-patches/bash50-006 2019-04-20 20:31:06.000000000 +0200
@@ -0,0 +1,47 @@
+ BASH PATCH REPORT
+ =================
+
+Bash-Release: 5.0
+Patch-ID: bash50-006
+
+Bug-Reported-by: Tomas Mozes
+Bug-Reference-ID:
+Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2019-03/msg00037.html
+
+Bug-Description:
+
+Bash-5.0 did not build successfully if SYSLOG_HISTORY was defined without
+also defining SYSLOG_SHOPT.
+
+Patch (apply with `patch -p0'):
+
+*** ../bash-5.0-patched/builtins/shopt.def 2018-10-05 14:49:02.000000000 -0400
+--- builtins/shopt.def 2019-01-23 09:55:22.000000000 -0500
+***************
+*** 123,127 ****
+ #endif
+
+! #if defined (SYSLOG_HISTORY) && defined (SYSLOG_SHOPT)
+ extern int syslog_history;
+ #endif
+--- 123,127 ----
+ #endif
+
+! #if defined (SYSLOG_HISTORY)
+ extern int syslog_history;
+ #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 5
+
+ #endif /* _PATCHLEVEL_H_ */
+--- 26,30 ----
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 6
+
+ #endif /* _PATCHLEVEL_H_ */
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/bash-5.0-patches/bash50-007 new/bash-5.0-patches/bash50-007
--- old/bash-5.0-patches/bash50-007 1970-01-01 01:00:00.000000000 +0100
+++ new/bash-5.0-patches/bash50-007 2019-04-20 20:31:17.000000000 +0200
@@ -0,0 +1,62 @@
+ BASH PATCH REPORT
+ =================
+
+Bash-Release: 5.0
+Patch-ID: bash50-007
+
+Bug-Reported-by: Grisha Levit
+Bug-Reference-ID:
+Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2019-02/msg00067.html
+
+Bug-Description:
+
+Running `exec' when job control was disabled, even temporarily, but after it
+had been initialized, could leave the terminal in the wrong process group for
+the executed process.
+
+Patch (apply with `patch -p0'):
+
+*** ../bash-5.0-patched/jobs.c 2018-12-06 11:44:34.000000000 -0500
+--- jobs.c 2019-04-12 15:15:10.000000000 -0400
+***************
+*** 4838,4850 ****
+ {
+ if (job_control)
+! {
+! terminate_stopped_jobs ();
+
+! if (original_pgrp >= 0)
+! give_terminal_to (original_pgrp, 1);
+! }
+
+! if (original_pgrp >= 0)
+! setpgid (0, original_pgrp);
+ }
+
+--- 4838,4848 ----
+ {
+ if (job_control)
+! terminate_stopped_jobs ();
+
+! if (original_pgrp >= 0 && terminal_pgrp != original_pgrp)
+! give_terminal_to (original_pgrp, 1);
+
+! if (original_pgrp >= 0 && setpgid (0, original_pgrp) == 0)
+! shell_pgrp = original_pgrp;
+ }
+
+*** ../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 6
+
+ #endif /* _PATCHLEVEL_H_ */
+--- 26,30 ----
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 7
+
+ #endif /* _PATCHLEVEL_H_ */
++++++ bash-5.0.dif ++++++
--- /var/tmp/diff_new_pack.D7RpYG/_old 2019-04-28 19:56:46.963031603 +0200
+++ /var/tmp/diff_new_pack.D7RpYG/_new 2019-04-28 19:56:46.963031603 +0200
@@ -6,14 +6,13 @@
general.h | 3 +++
parse.y | 2 +-
shell.c | 6 +++++-
- support/bashbug.sh | 2 +-
support/man2html.c | 1 +
support/rlvers.sh | 6 +++---
support/shobj-conf | 5 +++--
tests/glob.tests | 4 ++--
tests/run-intl | 2 +-
tests/run-read | 2 +-
- 14 files changed, 38 insertions(+), 22 deletions(-)
+ 13 files changed, 37 insertions(+), 21 deletions(-)
--- Makefile.in
+++ Makefile.in 2018-11-29 08:14:06.638693338 +0000
@@ -168,14 +167,6 @@
if (setuid (current_user.uid) < 0)
{
e = errno;
---- support/bashbug.sh
-+++ support/bashbug.sh 2018-11-29 08:14:06.638693338 +0000
-@@ -1,4 +1,4 @@
--#!/bin/sh -
-+#!/bin/bash -
- #
- # bashbug - create a bug report and mail it to the bug address
- #
--- support/man2html.c
+++ support/man2html.c 2018-11-29 08:14:06.638693338 +0000
@@ -78,6 +78,7 @@
++++++ bash-rpmlintrc ++++++
--- /var/tmp/diff_new_pack.D7RpYG/_old 2019-04-28 19:56:46.999031581 +0200
+++ /var/tmp/diff_new_pack.D7RpYG/_new 2019-04-28 19:56:47.003031579 +0200
@@ -1,2 +1,3 @@
addFilter(".*hidden-file-or-dir.*/etc/skel/\..*")
addFilter(".*zero-length.*/etc/skel/\..*")
+addFilter(".*call-to-mktemp.*/usr/bin/bash.*")