[devel] [PATCH] Verbose QueryTags prints whether tag is an extension

Dmitry V. Levin ldv на altlinux.org
Пн Апр 13 21:04:37 MSK 2020


On Sun, Apr 12, 2020 at 06:02:26AM +0300, Vladimir D. Seleznev wrote:
> Verbose QueryTags prints four field: tagname, tagvalue, tagtype and whether
> it is an extension. To make it possible QueryTags uses new function
> rpmTagIsExtension() that returns 0 if tag is real, 1 if tag is an extension
> or -1 if tag is not found.
> 
> * lib/query.c(rpmDisplayQueryTags): Print whether tag is an extension.
> * lib/rpmtag.h(rpmTagIsExtension): New definition.
> * lib/tagname.c(rpmTagIsExtension): New function.
> ---
>  lib/query.c   |  5 +++++
>  lib/rpmtag.h  |  7 +++++++
>  lib/tagname.c | 14 ++++++++++++++
>  3 files changed, 26 insertions(+)
> 
> diff --git a/lib/query.c b/lib/query.c
> index 60d3a0269..f27b15a7c 100644
> --- a/lib/query.c
> +++ b/lib/query.c
> @@ -253,9 +253,14 @@ void rpmDisplayQueryTags(FILE * fp)
>  	if (rpmIsVerbose()) {
>  	    rpmTagVal tag = rpmTagGetValue(sname);
>  	    rpmTagType type = rpmTagGetTagType(tag);
> +	    int ext = rpmTagIsExtension(tag);
>  	    fprintf(fp, "%-20s %6d", sname, tag);
>  	    if (type > RPM_NULL_TYPE && type <= RPM_MAX_TYPE)
>  		fprintf(fp, " %s", tagTypeNames[type]);
> +	    else if (ext == 1)
> +		fprintf(fp, " -");
> +	    if (ext == 1)
> +		fprintf(fp, " ext");
>  	} else {
>  	    fprintf(fp, "%s", sname);
>  	}

This changes rpmDisplayQueryTags output in an incompatible way.


-- 
ldv


Подробная информация о списке рассылки Devel