Hello community, here is the log from the commit of package dejagnu for openSUSE:Factory checked in at 2018-08-15 10:28:57 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/dejagnu (Old) and /work/SRC/openSUSE:Factory/.dejagnu.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "dejagnu" Wed Aug 15 10:28:57 2018 rev:27 rq:626666 version:1.6.1 Changes: -------- --- /work/SRC/openSUSE:Factory/dejagnu/dejagnu.changes 2017-10-25 17:43:36.770421433 +0200 +++ /work/SRC/openSUSE:Factory/.dejagnu.new/dejagnu.changes 2018-08-15 10:29:04.887279145 +0200 @@ -1,0 +2,12 @@ +Tue Jul 31 09:55:04 UTC 2018 - sch...@suse.de + +- Adjust license + +------------------------------------------------------------------- +Tue Jul 17 13:13:19 UTC 2018 - sch...@suse.de + +- close-wait-program.patch: Use separate kill command for each pid + (bsc#1100206) +- Use %license. + +------------------------------------------------------------------- New: ---- close-wait-program.patch ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ dejagnu.spec ++++++ --- /var/tmp/diff_new_pack.yGQ53i/_old 2018-08-15 10:29:05.671280561 +0200 +++ /var/tmp/diff_new_pack.yGQ53i/_new 2018-08-15 10:29:05.671280561 +0200 @@ -1,7 +1,7 @@ # # spec file for package dejagnu # -# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany. +# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -20,13 +20,14 @@ Version: 1.6.1 Release: 0 Summary: Framework for Running Test Suites on Software Tools -License: GPL-2.0+ +License: GPL-3.0-or-later Group: Development/Tools/Building Url: https://www.gnu.org/software/dejagnu/ Source0: https://ftp.gnu.org/gnu/%{name}/%{name}-%{version}.tar.gz Source1: https://ftp.gnu.org/gnu/%{name}/%{name}-%{version}.tar.gz.sig Source2: http://savannah.gnu.org/project/memberlist-gpgkeys.php?group=dejagnu&download=1#/%{name}.keyring Source3: site.exp +Patch0: close-wait-program.patch BuildRequires: expect BuildRequires: fdupes BuildRequires: gcc-c++ @@ -65,6 +66,7 @@ %prep %setup -q +%patch0 -p1 %build %configure @@ -87,7 +89,8 @@ %files %defattr(-, root, root) -%doc ChangeLog COPYING NEWS README AUTHORS TODO +%license COPYING +%doc ChangeLog NEWS README AUTHORS TODO %dir %{_datadir}/dejagnu %dir %{_sysconfdir}/dejagnu %{_bindir}/runtest ++++++ close-wait-program.patch ++++++ 2018-07-06 Richard Biener <rguent...@suse.de> * lib/remote.exp (close_wait_program): Use separate kill command for each pid. Index: dejagnu-1.6.1/lib/remote.exp =================================================================== --- dejagnu-1.6.1.orig/lib/remote.exp +++ dejagnu-1.6.1/lib/remote.exp @@ -70,13 +70,16 @@ proc close_wait_program { program_id pid # Tcl has no kill primitive, so we have to execute an external # command in order to kill the process. verbose "doing kill, pid is $pid" - # Prepend "-" to generate the "process group ID" needed by - # kill. - set pgid "-$pid" # Send SIGINT to give the program a better chance to interrupt # whatever it might be doing and react to stdin closing. # eg, in case of GDB, this should get it back to the prompt. - exec sh -c "exec > /dev/null 2>&1 && (kill -2 $pgid || kill -2 $pid)" + # Do so separately for each PID in the list to avoid differences + # in return value behavior for kill between shells + foreach spid $pid { + # Prepend "-" to generate the "process group ID" needed by + # kill. + exec sh -c "exec > /dev/null 2>&1 && (kill -2 -$spid || kill -2 $spid)" + } # If the program doesn't exit gracefully when stdin closes, # we'll need to kill it. But only do this after 'wait'ing a @@ -86,9 +89,15 @@ proc close_wait_program { program_id pid # PID reuse race. set secs 5 set sh_cmd "exec > /dev/null 2>&1" - append sh_cmd " && sleep $secs && (kill -15 $pgid || kill -15 $pid)" - append sh_cmd " && sleep $secs && (kill -9 $pgid || kill -9 $pid)" - append sh_cmd " && sleep $secs" + append sh_cmd " && sleep $secs && (" + foreach spid $pid { + append sh_cmd "(kill -15 -$spid || kill -15 $spid);" + } + append sh_cmd ") && sleep $secs && (" + foreach spid $pid { + append sh_cmd "(kill -9 -$spid || kill -9 $spid);" + } + append sh_cmd ") && sleep $secs" set exec_pid [exec sh -c "$sh_cmd" &] } verbose "pid is $pid"