}
break;
+ case QUERY_PROVIDES:
+ if (rpmdbFindByProvides(db, arg, &matches)) {
+ fprintf(stderr, "no package provides %s\n", arg);
+ retcode = 1;
+ } else {
+ showMatches(db, matches, queryFlags, queryFormat);
+ freeDBIndexRecord(matches);
+ }
+ break;
+
+ case QUERY_REQUIREDBY:
+ if (rpmdbFindByRequiredBy(db, arg, &matches)) {
+ fprintf(stderr, "no package requires %s\n", arg);
+ retcode = 1;
+ } else {
+ showMatches(db, matches, queryFlags, queryFormat);
+ freeDBIndexRecord(matches);
+ }
+ break;
+
case QUERY_SPATH:
case QUERY_PATH:
if (*arg != '/') {
enum querysources { QUERY_PATH, QUERY_PACKAGE, QUERY_ALL, QUERY_SPATH,
QUERY_SPACKAGE, QUERY_RPM, QUERY_SRPM, QUERY_GROUP,
- QUERY_SGROUP };
+ QUERY_SGROUP, QUERY_PROVIDES, QUERY_REQUIREDBY };
#define QUERY_FOR_INFO (1 << 0)
#define QUERY_FOR_LIST (1 << 1)