commit:     56e50dea636a760fb3f3ad3a53bd72daaa8c987d
Author:     Fabian Groffen <grobian <AT> gentoo <DOT> org>
AuthorDate: Wed Feb 27 21:15:56 2019 +0000
Commit:     Fabian Groffen <grobian <AT> gentoo <DOT> org>
CommitDate: Wed Feb 27 21:15:56 2019 +0000
URL:        https://gitweb.gentoo.org/proj/portage-utils.git/commit/?id=56e50dea

qlop: implement current package order number for --running

Print extracted package order number to indicate some more progress.
Example:

./qlop -r
2019-02-27T22:14:29 >>> dev-util/cmake... (1 of 1) ETA: 532 seconds

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

 qlop.c | 16 ++++++++++++++--
 1 file changed, 14 insertions(+), 2 deletions(-)

diff --git a/qlop.c b/qlop.c
index 26b27b2..12c66a6 100644
--- a/qlop.c
+++ b/qlop.c
@@ -714,17 +714,29 @@ static int do_emerge_log(
                                pkg = NULL;
                        }
 
+                       /* extract (X of Y) from id, bug #442406 */
+                       if ((p = strchr(pkgw->id, '(')) != NULL) {
+                               if ((q = strchr(p, ')')) != NULL) {
+                                       q[1] = '\0';
+                                       p--;
+                               } else {
+                                       p = NULL;
+                               }
+                       }
+
                        if (flags->do_time) {
-                               printf("%s >>> %s%s%s: %s... ETA: %s\n",
+                               printf("%s >>> %s%s%s: %s...%s ETA: %s\n",
                                                fmt_date(flags, pkgw->tbegin, 
0),
                                                YELLOW, fmt_atom(flags, 
pkgw->atom), NORM,
                                                fmt_elapsedtime(flags, elapsed),
+                                               p == NULL ? "" : p,
                                                maxtime == 0 ? "unknown" :
                                                        fmt_elapsedtime(flags, 
maxtime - elapsed));
                        } else {
-                               printf("%s >>> %s%s%s... ETA: %s\n",
+                               printf("%s >>> %s%s%s...%s ETA: %s\n",
                                                fmt_date(flags, pkgw->tbegin, 
0),
                                                YELLOW, fmt_atom(flags, 
pkgw->atom), NORM,
+                                               p == NULL ? "" : p,
                                                maxtime == 0 ? "unknown" :
                                                        fmt_elapsedtime(flags, 
maxtime - elapsed));
                        }

Reply via email to