static int pakfire_request_add_job(struct pakfire_request* request, int action, const char* what) {
Pool* pool = pakfire_get_solv_pool(request->pakfire);
+ Id key = 0;
// Add all file provides
pool_addfileprovides(pool);
if (*what == '/')
flags |= SELECTION_FILELIST;
+ // Is this a group?
+ else if (*what == '@') {
+ flags = SELECTION_MATCH_DEPSTR;
+ key = SOLVABLE_GROUP;
+ what++;
+ }
+
// Select all packages
- selection_make(pool, &jobs, what, flags);
+ if (key)
+ selection_make_matchdeps(pool, &jobs, what, flags, key, 0);
+ else
+ selection_make(pool, &jobs, what, flags);
// Did we find anything?
if (jobs.count == 0) {