commit: 966de456d8af3b5102950e608a771f776efdd014 Author: Fabian Groffen <grobian <AT> gentoo <DOT> org> AuthorDate: Mon May 13 13:37:31 2019 +0000 Commit: Fabian Groffen <grobian <AT> gentoo <DOT> org> CommitDate: Mon May 13 13:37:31 2019 +0000 URL: https://gitweb.gentoo.org/proj/portage-utils.git/commit/?id=966de456
qlop: support -q to omit timestamps Allow -q to suppress timestamps and operation markers (<<<, >>> and ***) such that one can generate a flat list of atoms. A bit awkward, but combining -q *and* -v will result in atoms with PF (iso PN). Signed-off-by: Fabian Groffen <grobian <AT> gentoo.org> TODO.md | 5 ----- man/include/qlop.optdesc.yaml | 4 ++++ man/qlop.1 | 2 +- qlop.c | 24 +++++++++++++++++++++--- 4 files changed, 26 insertions(+), 9 deletions(-) diff --git a/TODO.md b/TODO.md index f410f54..ccff6e0 100644 --- a/TODO.md +++ b/TODO.md @@ -75,11 +75,6 @@ - make it use standard xarray instead of its own buf\_list -# qlop - -- have a mode that doesn't print timestamp (to get just atoms, -v should - work) - # qlist - have -F for use with -I so one can do things like print SLOT for package X diff --git a/man/include/qlop.optdesc.yaml b/man/include/qlop.optdesc.yaml index 677c4d2..19f56db 100644 --- a/man/include/qlop.optdesc.yaml +++ b/man/include/qlop.optdesc.yaml @@ -42,6 +42,10 @@ current: | in order to detect running merges. verbose: | Print package versions and revisions (PF) instead of package (PN). +quiet: + Omit printing of timestamps and operation symbols, can be used to + generate a flat list of atoms, e.g.\ \fB-qml\fR to print the package + names merged in the last emerge operation. running: | Print operations currently in progress. An ETA is calculated based on the average for the operation. If the elapsed exceeds the diff --git a/man/qlop.1 b/man/qlop.1 index ae40fa7..6303eee 100644 --- a/man/qlop.1 +++ b/man/qlop.1 @@ -116,7 +116,7 @@ Set the ROOT env var. Print package versions and revisions (PF) instead of package (PN). .TP \fB\-q\fR, \fB\-\-quiet\fR -Tighter output; suppress warnings. +Omit printing of timestamps and operation symbols, can be used to generate a flat list of atoms, e.g.\ \fB-qml\fR to print the package names merged in the last emerge operation. .TP \fB\-C\fR, \fB\-\-nocolor\fR Don't output color. diff --git a/qlop.c b/qlop.c index 5217638..11bbbc3 100644 --- a/qlop.c +++ b/qlop.c @@ -506,7 +506,13 @@ static int do_emerge_log( sync_start = 0; /* reset */ continue; } - if (flags->do_time) { + if (quiet) { + printf("%s%s%s%s%s\n", + GREEN, p, NORM, + flags->do_time ? ": " : "", + flags->do_time ? + fmt_elapsedtime(flags, elapsed) : ""); + } else if (flags->do_time) { printf("%s *** %s%s%s: %s\n", fmt_date(flags, sync_start, tstart), GREEN, p, NORM, @@ -607,7 +613,13 @@ static int do_emerge_log( } break; } - if (flags->do_time) { + if (quiet && !flags->do_average) { + printf("%s%s%s\n", + atom_format(afmt, pkgw->atom, 0), + flags->do_time ? ": " : "", + flags->do_time ? + fmt_elapsedtime(flags, elapsed) : ""); + } else if (flags->do_time) { printf("%s >>> %s: %s\n", fmt_date(flags, pkgw->tbegin, tstart), atom_format(afmt, pkgw->atom, 0), @@ -706,7 +718,13 @@ static int do_emerge_log( } break; } - if (flags->do_time) { + if (quiet && !flags->do_average) { + printf("%s%s%s\n", + atom_format(afmt, pkgw->atom, 0), + flags->do_time ? ": " : "", + flags->do_time ? + fmt_elapsedtime(flags, elapsed) : ""); + } else if (flags->do_time) { printf("%s <<< %s: %s\n", fmt_date(flags, pkgw->tbegin, tstart), atom_format(afmt, pkgw->atom, 0),