rpm: Add a new option --alldeps to rpmdeps
This will send the output from rpmfcPrint() to stdout. This is an alternative to using the --rpmfcdebug option, which will send the same output to stderr. The two options have totally different use cases though. While --alldeps is used when the output from rpmfcPrint() is what is wanted, --rpmfcdebug can be used together with the other output options, e.g., --requires, without affecting their output. (From OE-Core rev: 7a4794534bb2e67c61262361f907eced18ec69cc) Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
parent
6c9ad26db0
commit
abbd0abe1a
|
@ -0,0 +1,152 @@
|
|||
From 3bf20a6116ae3e1a5a3a6907bee7e881b17efb2f Mon Sep 17 00:00:00 2001
|
||||
From: Peter Kjellerstedt <pkj@axis.com>
|
||||
Date: Mon, 15 May 2017 11:23:26 +0200
|
||||
Subject: [PATCH 13/13] Add a new option --alldeps to rpmdeps
|
||||
|
||||
This will send the output from rpmfcPrint() to stdout. This is an
|
||||
alternative to using the --rpmfcdebug option, which will send the same
|
||||
output to stderr. The two options have totally different use cases
|
||||
though. While --alldeps is used when the output from rpmfcPrint() is
|
||||
what is wanted, --rpmfcdebug can be used together with the other
|
||||
output options, e.g., --requires, without affecting their output.
|
||||
|
||||
Upstream-Status: Submitted [https://github.com/rpm-software-management/rpm/pull/220]
|
||||
Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com>
|
||||
---
|
||||
build/rpmfc.c | 27 ++++++++++++++-------------
|
||||
build/rpmfc.h | 1 -
|
||||
tools/rpmdeps.c | 44 +++++++++++++++++++++++++-------------------
|
||||
3 files changed, 39 insertions(+), 33 deletions(-)
|
||||
|
||||
diff --git a/build/rpmfc.c b/build/rpmfc.c
|
||||
index c8e2f876a..44f1cdc9a 100644
|
||||
--- a/build/rpmfc.c
|
||||
+++ b/build/rpmfc.c
|
||||
@@ -732,7 +732,6 @@ static rpm_color_t rpmfcColor(const char * fmstr)
|
||||
|
||||
void rpmfcPrint(const char * msg, rpmfc fc, FILE * fp)
|
||||
{
|
||||
- rpm_color_t fcolor;
|
||||
int ndx;
|
||||
int dx;
|
||||
int fx;
|
||||
@@ -744,21 +743,23 @@ void rpmfcPrint(const char * msg, rpmfc fc, FILE * fp)
|
||||
|
||||
if (fc)
|
||||
for (fx = 0; fx < fc->nfiles; fx++) {
|
||||
- rpmsid cx = fc->fcdictx[fx] + 1; /* id's are one off */
|
||||
- fcolor = fc->fcolor[fx];
|
||||
- ARGV_t fattrs = fc->fattrs[fx];
|
||||
-
|
||||
fprintf(fp, "%3d %s", fx, fc->fn[fx]);
|
||||
- if (fcolor != RPMFC_BLACK)
|
||||
+ if (_rpmfc_debug) {
|
||||
+ rpmsid cx = fc->fcdictx[fx] + 1; /* id's are one off */
|
||||
+ rpm_color_t fcolor = fc->fcolor[fx];
|
||||
+ ARGV_t fattrs = fc->fattrs[fx];
|
||||
+
|
||||
+ if (fcolor != RPMFC_BLACK)
|
||||
fprintf(fp, "\t0x%x", fc->fcolor[fx]);
|
||||
- else
|
||||
+ else
|
||||
fprintf(fp, "\t%s", rpmstrPoolStr(fc->cdict, cx));
|
||||
- if (fattrs) {
|
||||
- char *attrs = argvJoin(fattrs, ",");
|
||||
- fprintf(fp, " [%s]", attrs);
|
||||
- free(attrs);
|
||||
- } else {
|
||||
- fprintf(fp, " [none]");
|
||||
+ if (fattrs) {
|
||||
+ char *attrs = argvJoin(fattrs, ",");
|
||||
+ fprintf(fp, " [%s]", attrs);
|
||||
+ free(attrs);
|
||||
+ } else {
|
||||
+ fprintf(fp, " [none]");
|
||||
+ }
|
||||
}
|
||||
fprintf(fp, "\n");
|
||||
|
||||
diff --git a/build/rpmfc.h b/build/rpmfc.h
|
||||
index dae8ea5b1..3d87b31cf 100644
|
||||
--- a/build/rpmfc.h
|
||||
+++ b/build/rpmfc.h
|
||||
@@ -45,7 +45,6 @@ typedef const struct rpmfcTokens_s * rpmfcToken;
|
||||
|
||||
/** \ingroup rpmfc
|
||||
* Print results of file classification.
|
||||
- * @todo Remove debugging routine.
|
||||
* @param msg message prefix (NULL for none)
|
||||
* @param fc file classifier
|
||||
* @param fp output file handle (NULL for stderr)
|
||||
diff --git a/tools/rpmdeps.c b/tools/rpmdeps.c
|
||||
index a414b6343..f260a38c4 100644
|
||||
--- a/tools/rpmdeps.c
|
||||
+++ b/tools/rpmdeps.c
|
||||
@@ -23,6 +23,8 @@ static int print_conflicts;
|
||||
|
||||
static int print_obsoletes;
|
||||
|
||||
+static int print_alldeps;
|
||||
+
|
||||
static void rpmdsPrint(const char * msg, rpmds ds, FILE * fp)
|
||||
{
|
||||
if (fp == NULL) fp = stderr;
|
||||
@@ -57,6 +59,8 @@ static struct poptOption optionsTable[] = {
|
||||
NULL, NULL },
|
||||
{ "obsoletes", '\0', POPT_ARG_VAL, &print_obsoletes, -1,
|
||||
NULL, NULL },
|
||||
+ { "alldeps", '\0', POPT_ARG_VAL, &print_alldeps, -1,
|
||||
+ NULL, NULL },
|
||||
|
||||
POPT_AUTOALIAS
|
||||
POPT_AUTOHELP
|
||||
@@ -100,25 +104,27 @@ main(int argc, char *argv[])
|
||||
if (rpmfcClassify(fc, av, NULL) || rpmfcApply(fc))
|
||||
goto exit;
|
||||
|
||||
- if (_rpmfc_debug)
|
||||
- rpmfcPrint(buf, fc, NULL);
|
||||
-
|
||||
- if (print_provides)
|
||||
- rpmdsPrint(NULL, rpmfcProvides(fc), stdout);
|
||||
- if (print_requires)
|
||||
- rpmdsPrint(NULL, rpmfcRequires(fc), stdout);
|
||||
- if (print_recommends)
|
||||
- rpmdsPrint(NULL, rpmfcRecommends(fc), stdout);
|
||||
- if (print_suggests)
|
||||
- rpmdsPrint(NULL, rpmfcSuggests(fc), stdout);
|
||||
- if (print_supplements)
|
||||
- rpmdsPrint(NULL, rpmfcSupplements(fc), stdout);
|
||||
- if (print_enhances)
|
||||
- rpmdsPrint(NULL, rpmfcEnhances(fc), stdout);
|
||||
- if (print_conflicts)
|
||||
- rpmdsPrint(NULL, rpmfcConflicts(fc), stdout);
|
||||
- if (print_obsoletes)
|
||||
- rpmdsPrint(NULL, rpmfcObsoletes(fc), stdout);
|
||||
+ if (print_alldeps || _rpmfc_debug)
|
||||
+ rpmfcPrint(NULL, fc, print_alldeps ? stdout : NULL);
|
||||
+
|
||||
+ if (!print_alldeps) {
|
||||
+ if (print_provides)
|
||||
+ rpmdsPrint(NULL, rpmfcProvides(fc), stdout);
|
||||
+ if (print_requires)
|
||||
+ rpmdsPrint(NULL, rpmfcRequires(fc), stdout);
|
||||
+ if (print_recommends)
|
||||
+ rpmdsPrint(NULL, rpmfcRecommends(fc), stdout);
|
||||
+ if (print_suggests)
|
||||
+ rpmdsPrint(NULL, rpmfcSuggests(fc), stdout);
|
||||
+ if (print_supplements)
|
||||
+ rpmdsPrint(NULL, rpmfcSupplements(fc), stdout);
|
||||
+ if (print_enhances)
|
||||
+ rpmdsPrint(NULL, rpmfcEnhances(fc), stdout);
|
||||
+ if (print_conflicts)
|
||||
+ rpmdsPrint(NULL, rpmfcConflicts(fc), stdout);
|
||||
+ if (print_obsoletes)
|
||||
+ rpmdsPrint(NULL, rpmfcObsoletes(fc), stdout);
|
||||
+ }
|
||||
|
||||
ec = 0;
|
||||
|
||||
--
|
||||
2.12.0
|
||||
|
|
@ -37,6 +37,7 @@ SRC_URI = "git://github.com/rpm-software-management/rpm \
|
|||
file://0001-Add-PYTHON_ABI-when-searching-for-python-libraries.patch \
|
||||
file://0011-Do-not-require-that-ELF-binaries-are-executable-to-b.patch \
|
||||
file://0012-Use-conditional-to-access-_docdir-in-macros.in.patch \
|
||||
file://0013-Add-a-new-option-alldeps-to-rpmdeps.patch \
|
||||
"
|
||||
|
||||
PV = "4.13.90+git${SRCPV}"
|
||||
|
|
Loading…
Reference in New Issue