commit:     e526bb8f26e2065bf990a0783ef3b1a9ad1fdb3d
Author:     Fabian Groffen <grobian <AT> gentoo <DOT> org>
AuthorDate: Sun Oct 20 09:07:31 2019 +0000
Commit:     Fabian Groffen <grobian <AT> gentoo <DOT> org>
CommitDate: Sun Oct 20 09:07:31 2019 +0000
URL:        https://gitweb.gentoo.org/proj/portage-utils.git/commit/?id=e526bb8f

qlop: don't "forget" merges when a parallel merge finishes

Stop seeing finishing emerge processes double, thereby wrongly
calculating the current parallel merges.

Bug: https://bugs.gentoo.org/697068
Signed-off-by: Fabian Groffen <grobian <AT> gentoo.org>

 qlop.c                  |  3 +--
 tests/qlop/dotest       |  4 ++++
 tests/qlop/parallel.log | 53 +++++++++++++++++++++++++++++++++++++++++++++++++
 3 files changed, 58 insertions(+), 2 deletions(-)

diff --git a/qlop.c b/qlop.c
index 4347699..7a93656 100644
--- a/qlop.c
+++ b/qlop.c
@@ -474,8 +474,7 @@ static int do_emerge_log(
                 * finished without knowledge of another instance */
                if (flags->do_running &&
                                (strncmp(p, "  *** emerge ", 13) == 0 ||
-                                strncmp(p, "  *** terminating.", 18) == 0 ||
-                                strncmp(p, "  *** exiting ", 14) == 0))
+                                strncmp(p, "  *** terminating.", 18) == 0))
                {
                        if (p[7] == 'm') {
                                parallel_emerge++;

diff --git a/tests/qlop/dotest b/tests/qlop/dotest
index 51cdb8a..bf5edc0 100755
--- a/tests/qlop/dotest
+++ b/tests/qlop/dotest
@@ -46,6 +46,10 @@ test 08 0 "qlop -mv -f ${as}/sync.log -d 1104898893"
 # deal with aborted merges
 test 09 0 "qlop -Hacv automake -f ${as}/aborts.log"
 
+# https://bugs.gentoo.org/697068: a parallel emerge finishing should
+# wipe the outstanding emerges from other emerges
+test 10 0 "qlop -r -f ${as}/parallel.log"
+
 cleantmpdir
 
 end

diff --git a/tests/qlop/parallel.log b/tests/qlop/parallel.log
new file mode 100644
index 0000000..0841097
--- /dev/null
+++ b/tests/qlop/parallel.log
@@ -0,0 +1,53 @@
+1568976528: Started emerge on: Sep 20, 2019 12:48:48
+1568976528:  *** emerge --autounmask-continue --autounmask-write 
--backtrack=100 --jobs=2 --load-average=8.0 --with-bdeps=y --sync
+1568976528:  === sync
+1568976528: >>> Syncing repository 'gentoo' into '/usr/portage'...
+1568976547: === Sync completed for gentoo
+1568976570:  *** terminating.
+1568976571: Started emerge on: Sep 20, 2019 12:49:31
+1568976571:  *** emerge --newuse --update --ask --autounmask-continue 
--autounmask-write --backtrack=100 --deep --jobs=2 --load-average=8.0 
--with-bdeps=y --verbose @world
+1568982446:  >>> emerge (95 of 129) kde-frameworks/qqc2-desktop-style-5.62.0 
to /
+1568982460:  >>> emerge (96 of 129) dev-qt/qtmultimedia-5.12.5 to /
+1568982460:  === (96 of 129) Cleaning 
(dev-qt/qtmultimedia-5.12.5::/usr/portage/dev-qt/qtmultimedia/qtmultimedia-5.12.5.ebuild)
+1568982460:  === (96 of 129) Compiling/Merging 
(dev-qt/qtmultimedia-5.12.5::/usr/portage/dev-qt/qtmultimedia/qtmultimedia-5.12.5.ebuild)
+1568982446:  === (95 of 129) Cleaning 
(kde-frameworks/qqc2-desktop-style-5.62.0::/usr/portage/kde-frameworks/qqc2-desktop-style/qqc2-desktop-style-5.62.0.ebuild)
+1568982446:  === (95 of 129) Compiling/Merging 
(kde-frameworks/qqc2-desktop-style-5.62.0::/usr/portage/kde-frameworks/qqc2-desktop-style/qqc2-desktop-style-5.62.0.ebuild)
+1568982462:  === (95 of 129) Merging 
(kde-frameworks/qqc2-desktop-style-5.62.0::/usr/portage/kde-frameworks/qqc2-desktop-style/qqc2-desktop-style-5.62.0.ebuild)
+1568982480:  === (95 of 129) Post-Build Cleaning 
(kde-frameworks/qqc2-desktop-style-5.62.0::/usr/portage/kde-frameworks/qqc2-desktop-style/qqc2-desktop-style-5.62.0.ebuild)
+1568982480:  ::: completed emerge (95 of 129) 
kde-frameworks/qqc2-desktop-style-5.62.0 to /
+1568982686:  === (96 of 129) Merging 
(dev-qt/qtmultimedia-5.12.5::/usr/portage/dev-qt/qtmultimedia/qtmultimedia-5.12.5.ebuild)
+1568982695:  >>> AUTOCLEAN: dev-qt/qtmultimedia:5
+1568982695:  === Unmerging... (dev-qt/qtmultimedia-5.12.4)
+1568982700:  >>> unmerge success: dev-qt/qtmultimedia-5.12.4
+1568982708:  === (96 of 129) Post-Build Cleaning 
(dev-qt/qtmultimedia-5.12.5::/usr/portage/dev-qt/qtmultimedia/qtmultimedia-5.12.5.ebuild)
+1568982708:  XXX completed emerge (96 of 129) dev-qt/qtmultimedia-5.12.5 to /
+1568988624: Started emerge on: Sep 20, 2019 16:10:23
+1568988624:  *** emerge --ask --autounmask-continue --autounmask-write 
--backtrack=100 --jobs=2 --load-average=8.0 --with-bdeps=y --verbose ktouch
+1568991194:  >>> emerge (1 of 2) kde-apps/kqtquickcharts-19.08.1 to /
+1568991195:  === (1 of 2) Cleaning 
(kde-apps/kqtquickcharts-19.08.1::/usr/portage/kde-apps/kqtquickcharts/kqtquickcharts-19.08.1.ebuild)
+1568991196:  === (1 of 2) Compiling/Merging 
(kde-apps/kqtquickcharts-19.08.1::/usr/portage/kde-apps/kqtquickcharts/kqtquickcharts-19.08.1.ebuild)
+1568991249:  === (1 of 2) Merging 
(kde-apps/kqtquickcharts-19.08.1::/usr/portage/kde-apps/kqtquickcharts/kqtquickcharts-19.08.1.ebuild)
+1568991259:  >>> AUTOCLEAN: kde-apps/kqtquickcharts:5
+1568991266:  === (1 of 2) Post-Build Cleaning 
(kde-apps/kqtquickcharts-19.08.1::/usr/portage/kde-apps/kqtquickcharts/kqtquickcharts-19.08.1.ebuild)
+1568991266:  ::: completed emerge (1 of 2) kde-apps/kqtquickcharts-19.08.1 to /
+1568991266:  >>> emerge (2 of 2) kde-apps/ktouch-19.08.1 to /
+1568991266:  === (2 of 2) Cleaning 
(kde-apps/ktouch-19.08.1::/usr/portage/kde-apps/ktouch/ktouch-19.08.1.ebuild)
+1568991266:  === (2 of 2) Compiling/Merging 
(kde-apps/ktouch-19.08.1::/usr/portage/kde-apps/ktouch/ktouch-19.08.1.ebuild)
+1568991378:  === (2 of 2) Merging 
(kde-apps/ktouch-19.08.1::/usr/portage/kde-apps/ktouch/ktouch-19.08.1.ebuild)
+1568991391:  >>> AUTOCLEAN: kde-apps/ktouch:5
+1568991400:  === (2 of 2) Updating world file (kde-apps/ktouch-19.08.1)
+1568991400:  === (2 of 2) Post-Build Cleaning 
(kde-apps/ktouch-19.08.1::/usr/portage/kde-apps/ktouch/ktouch-19.08.1.ebuild)
+1568991400:  ::: completed emerge (2 of 2) kde-apps/ktouch-19.08.1 to /
+1568991400:  *** Finished. Cleaning up...
+1568991404:  *** exiting successfully.
+1568991406:  *** terminating.
+1568996270:  >>> emerge (98 of 129) kde-frameworks/kxmlgui-5.62.0 to /
+1568996270:  === (98 of 129) Cleaning 
(kde-frameworks/kxmlgui-5.62.0::/usr/portage/kde-frameworks/kxmlgui/kxmlgui-5.62.0.ebuild)
+1568996271:  === (98 of 129) Compiling/Merging 
(kde-frameworks/kxmlgui-5.62.0::/usr/portage/kde-frameworks/kxmlgui/kxmlgui-5.62.0.ebuild)
+1568996308:  === (98 of 129) Merging 
(kde-frameworks/kxmlgui-5.62.0::/usr/portage/kde-frameworks/kxmlgui/kxmlgui-5.62.0.ebuild)
+1568996308:  >>> emerge (99 of 129) net-analyzer/wireshark-3.0.4 to /
+1568996308:  === (99 of 129) Cleaning 
(net-analyzer/wireshark-3.0.4::/usr/portage/net-analyzer/wireshark/wireshark-3.0.4.ebuild)
+1568996308:  === (99 of 129) Compiling/Merging 
(net-analyzer/wireshark-3.0.4::/usr/portage/net-analyzer/wireshark/wireshark-3.0.4.ebuild)
+1568996311:  >>> AUTOCLEAN: kde-frameworks/kxmlgui:5
+1568996311:  === Unmerging... (kde-frameworks/kxmlgui-5.61.0)
+1568996313:  >>> unmerge success: kde-frameworks/kxmlgui-5.61.0

Reply via email to