commit: 26397171ecf098661502d86f9c6cde45ec70d180 Author: Fabian Groffen <grobian <AT> gentoo <DOT> org> AuthorDate: Fri Apr 12 18:48:17 2019 +0000 Commit: Fabian Groffen <grobian <AT> gentoo <DOT> org> CommitDate: Fri Apr 12 18:48:17 2019 +0000 URL: https://gitweb.gentoo.org/proj/portage-utils.git/commit/?id=26397171
qlist: change behaviour to use colours and no parenthesis - in list mode, show colours by default (can be disabled in the normal way using -C) - in USE-flag mode, don't output ( ) so the output is compatible with e.g. package.use Signed-off-by: Fabian Groffen <grobian <AT> gentoo.org> man/include/qlist.optdesc.yaml | 9 +++------ man/qlist.1 | 11 +++++------ qlist.c | 31 ++++++++++++++++--------------- 3 files changed, 24 insertions(+), 27 deletions(-) diff --git a/man/include/qlist.optdesc.yaml b/man/include/qlist.optdesc.yaml index 2b9299c..5fff904 100644 --- a/man/include/qlist.optdesc.yaml +++ b/man/include/qlist.optdesc.yaml @@ -16,9 +16,6 @@ columns: | space-separated columns. verbose: | When used with \fB\-I\fR, print the package version next to name. - When listing the package contents, a single \fB\-v\fR displays - symlinks with an arrow (\->) to their target. Two or more \fB\-v\fR - adds colour to the entries and prints like \fB\-I\fR before the - listing. Shows disabled USE-flags when used with \fB\-U\fR. -quiet: | - Suppresses the parenthesis around the USE-flags when used with \fB\-U\fR. + When listing the package contents, \fB\-v\fR displays symlinks with + an arrow (\->) to their target. Shows disabled USE-flags when used + with \fB\-U\fR. diff --git a/man/qlist.1 b/man/qlist.1 index 4df7dab..0b16318 100644 --- a/man/qlist.1 +++ b/man/qlist.1 @@ -1,5 +1,5 @@ .\" generated by mkman.py, please do NOT edit! -.TH qlist "1" "Mar 2019" "Gentoo Foundation" "qlist" +.TH qlist "1" "Apr 2019" "Gentoo Foundation" "qlist" .SH NAME qlist \- list files owned by pkgname .SH SYNOPSIS @@ -57,13 +57,12 @@ Set the ROOT env var. .TP \fB\-v\fR, \fB\-\-verbose\fR When used with \fB\-I\fR, print the package version next to name. -When listing the package contents, a single \fB\-v\fR displays -symlinks with an arrow (\->) to their target. Two or more \fB\-v\fR -adds colour to the entries and prints like \fB\-I\fR before the -listing. Shows disabled USE-flags when used with \fB\-U\fR. +When listing the package contents, \fB\-v\fR displays symlinks with +an arrow (\->) to their target. Shows disabled USE-flags when used +with \fB\-U\fR. .TP \fB\-q\fR, \fB\-\-quiet\fR -Suppresses the parenthesis around the USE-flags when used with \fB\-U\fR. +Tighter output; suppress warnings. .TP \fB\-C\fR, \fB\-\-nocolor\fR Don't output color. diff --git a/qlist.c b/qlist.c index d46e0a6..313ff56 100644 --- a/qlist.c +++ b/qlist.c @@ -88,11 +88,11 @@ cmpstringp(const void *p1, const void *p2) * -redis -sasl (-selinux) -sqlite -srs -syslog" 0 KiB * * % qlist -IUv exim - * mail-mta/exim-4.92 (-arc -dane -dcc dkim -dlfunc dmarc dnsdb -doc + * mail-mta/exim-4.92 -arc -dane -dcc dkim -dlfunc dmarc dnsdb -doc * -dovecot-sasl -dsn exiscan-acl -gnutls -idn ipv6 -ldap -libressl lmtp * maildir -mbx -mysql -nis pam -perl -pkcs11 -postgres prdr -proxy * -radius -redis -sasl -selinux spf -sqlite -srs ssl -syslog tcpd tpda - * -X) + * -X */ static char _umapstr_buf[BUFSIZ]; static const char * @@ -134,8 +134,7 @@ umapstr(char display, q_vdb_pkg_ctx *pkg_ctx) #define add_to_buf(fmt, Cb, use, Ce) \ bufp += snprintf(bufp, sizeof(_umapstr_buf) - (bufp - _umapstr_buf), \ - " %s%s" fmt "%s", \ - bufp == _umapstr_buf && !quiet ? "(" : "", Cb, use, Ce); + " %s" fmt "%s", Cb, use, Ce); /* merge join, ensure inputs are sorted (Portage does this, but just * to be sure) */ @@ -163,9 +162,6 @@ umapstr(char display, q_vdb_pkg_ctx *pkg_ctx) } } - bufp += snprintf(bufp, sizeof(_umapstr_buf) - (bufp - _umapstr_buf), - "%s", bufp == _umapstr_buf || quiet ? "" : ")"); - freeargv(iuse_argc, iuse_argv); freeargv(use_argc, use_argv); free(iuse); @@ -352,7 +348,8 @@ qlist_cb(q_vdb_pkg_ctx *pkg_ctx, void *priv) /* see if this cat/pkg is requested */ for (i = optind; i < state->argc; ++i) - if (qlist_match(pkg_ctx, state->argv[i], &state->atoms[i - optind], state->exact)) + if (qlist_match(pkg_ctx, state->argv[i], + &state->atoms[i - optind], state->exact)) break; if ((i == state->argc) && (state->argc != optind)) return 0; @@ -362,7 +359,8 @@ qlist_cb(q_vdb_pkg_ctx *pkg_ctx, void *priv) atom = (verbose ? NULL : atom_explode(pkgname)); if ((state->all + state->just_pkgname) < 2) { if (state->show_slots && !pkg_ctx->slot) { - q_vdb_pkg_eat(pkg_ctx, "SLOT", &pkg_ctx->slot, &pkg_ctx->slot_len); + q_vdb_pkg_eat(pkg_ctx, "SLOT", + &pkg_ctx->slot, &pkg_ctx->slot_len); /* chop off the subslot if desired */ if (state->show_slots == 1) { char *s = strchr(pkg_ctx->slot, '/'); @@ -396,8 +394,9 @@ qlist_cb(q_vdb_pkg_ctx *pkg_ctx, void *priv) return 1; } - if (verbose > 1) - printf("%s%s/%s%s%s\n%sCONTENTS%s:\n", BOLD, catname, BLUE, pkgname, NORM, DKBLUE, NORM); + if (verbose) + printf("%s%s/%s%s%s %sCONTENTS%s:\n", + BOLD, catname, BLUE, pkgname, NORM, DKBLUE, NORM); fp = q_vdb_pkg_fopenat_ro(pkg_ctx, "CONTENTS"); if (fp == NULL) @@ -420,18 +419,20 @@ qlist_cb(q_vdb_pkg_ctx *pkg_ctx, void *priv) switch (e->type) { case CONTENTS_DIR: if (state->show_dir) - printf("%s%s%s/\n", verbose > 1 ? YELLOW : "" , e->name, verbose > 1 ? NORM : ""); + printf("%s%s%s/\n", YELLOW, e->name, NORM); break; case CONTENTS_OBJ: if (state->show_obj) - printf("%s%s%s\n", verbose > 1 ? WHITE : "" , e->name, verbose > 1 ? NORM : ""); + printf("%s%s%s\n", WHITE, e->name, NORM); break; case CONTENTS_SYM: if (state->show_sym) { if (verbose) - printf("%s%s -> %s%s\n", verbose > 1 ? CYAN : "", e->name, e->sym_target, NORM); + printf("%s%s%s -> %s%s%s\n", + CYAN, e->name, NORM, + CYAN, e->sym_target, NORM); else - printf("%s\n", e->name); + printf("%s%s%s\n", CYAN, e->name, NORM); } break; }