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 <wer...@suse.de> + +- 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 <d...@fifthhorseman.net> +Bug-Reference-ID: <87lg0g8aiw....@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 <bspen...@blackberry.com> +Bug-Reference-ID: <1b993ff2-ce4f-662a-6be4-393457362...@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 <hydrapo...@gmail.com> +Bug-Reference-ID: <cag6mazqumlu2vhnmr1uryauqafw5yo8hfm_seibx9rjqwjk...@mail.gmail.com> +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 <grishale...@gmail.com> +Bug-Reference-ID: <CAMu=BroHapG1AS3xB5SQaCX2XKu=-E2Ob9uW6LNuHvd=yoh...@mail.gmail.com> +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.*")