diff --git a/client/api.c b/client/api.c index 346c06c..50cb6cc 100644 --- a/client/api.c +++ b/client/api.c @@ -1390,7 +1390,8 @@ TDNFRepoQuery( BAIL_ON_TDNF_ERROR(dwError); } - dwError = TDNFApplyScopeFilter(pQuery, SCOPE_ALL); + dwError = TDNFApplyScopeFilter(pQuery, + pRepoqueryArgs->nUpgrades ? SCOPE_UPGRADES : SCOPE_ALL); BAIL_ON_TDNF_ERROR(dwError); if (pRepoqueryArgs->pszSpec) diff --git a/include/tdnftypes.h b/include/tdnftypes.h index 42defd9..ddc8574 100644 --- a/include/tdnftypes.h +++ b/include/tdnftypes.h @@ -380,6 +380,7 @@ typedef struct _TDNF_REPOQUERY_ARGS int anDeps[REPOQUERY_KEY_COUNT]; int nRequiresPre; int nList; + int nUpgrades; }TDNF_REPOQUERY_ARGS, *PTDNF_REPOQUERY_ARGS; #ifdef __cplusplus diff --git a/tools/cli/lib/parseargs.c b/tools/cli/lib/parseargs.c index 7975059..a76d0b3 100644 --- a/tools/cli/lib/parseargs.c +++ b/tools/cli/lib/parseargs.c @@ -53,6 +53,7 @@ static SetOptArgs OptValTable[] = { {CMDOPT_KEYVALUE, "enhances", "1"}, {CMDOPT_KEYVALUE, "requires-pre", "1"}, {CMDOPT_KEYVALUE, "list", "1"}, + {CMDOPT_KEYVALUE, "upgrades", "1"}, {CMDOPT_KEYVALUE, "whatdepends", NULL}, {CMDOPT_KEYVALUE, "whatprovides", NULL}, {CMDOPT_KEYVALUE, "whatobsoletes", NULL}, @@ -143,6 +144,7 @@ static struct option pstOptions[] = {"enhances", no_argument, 0, 0}, {"requires-pre", no_argument, 0, 0}, {"list", no_argument, 0, 0}, + {"upgrades", no_argument, 0, 0}, {0, 0, 0, 0} }; diff --git a/tools/cli/lib/parserepoqueryargs.c b/tools/cli/lib/parserepoqueryargs.c index 382ad83..74a25c7 100644 --- a/tools/cli/lib/parserepoqueryargs.c +++ b/tools/cli/lib/parserepoqueryargs.c @@ -100,6 +100,10 @@ TDNFCliParseRepoQueryArgs( { pRepoqueryArgs->nList = 1; } + else if (strcasecmp(pSetOpt->pszOptName, "upgrades") == 0) + { + pRepoqueryArgs->nUpgrades = 1; + } else { int i;