break;
if (flags == 6)
{
- pool_debug(pool, SOLV_FATAL, "susetags: unknown relation in %d: '%s'\n", pd->lineno, sp[1]);
- exit(1);
+ if (!strcmp(sp[1], "<>"))
+ flags = 4;
+ else
+ {
+ pool_debug(pool, SOLV_FATAL, "susetags: unknown relation in %d: '%s'\n", pd->lineno, sp[1]);
+ exit(1);
+ }
}
id = pool_rel2id(pool, id, evrid, flags + 1, 1);
}
else
{
char buf[20];
- sprintf(buf, "@#%d", repoid);
+ sprintf(buf, "#%d", repoid);
return pool_tmpjoin(pool, buf, 0, 0);
}
}
for (i = 0; class2str[i].str; i++)
{
queue_empty(&q);
- transaction_classify_pkgs(trans, 0, class2str[i].class, 0, 0, &q);
+ transaction_classify_pkgs(trans, SOLVER_TRANSACTION_KEEP_PSEUDO, class2str[i].class, 0, 0, &q);
for (j = 0; j < q.count; j++)
{
p = q.elements[j];
}
repo->priority = prio;
repo->subpriority = subprio;
- rdata = pool_tmpjoin(pool, testcasedir, pieces[4], 0);
- if ((rfp = solv_xfopen(rdata, "r")) == 0)
+ if (strcmp(pieces[3], "empty") != 0)
{
- pool_debug(pool, SOLV_ERROR, "testcase_read: could not open '%s'\n", rdata);
- }
- else if (!strcmp(pieces[3], "susetags"))
- {
- testcase_add_susetags(repo, rfp, 0);
- fclose(rfp);
- }
- else
- {
- fclose(rfp);
- pool_debug(pool, SOLV_ERROR, "testcase_read: unknown repo type for repo '%s'\n", repo->name);
+ rdata = pool_tmpjoin(pool, testcasedir, pieces[4], 0);
+ if ((rfp = solv_xfopen(rdata, "r")) == 0)
+ {
+ pool_debug(pool, SOLV_ERROR, "testcase_read: could not open '%s'\n", rdata);
+ }
+ else if (!strcmp(pieces[3], "susetags"))
+ {
+ testcase_add_susetags(repo, rfp, 0);
+ fclose(rfp);
+ }
+ else
+ {
+ fclose(rfp);
+ pool_debug(pool, SOLV_ERROR, "testcase_read: unknown repo type for repo '%s'\n", repo->name);
+ }
}
}
else if (!strcmp(pieces[0], "system") && npieces >= 3)
Queue oq, rq;
Id type, q;
int i, j, ref = 0;
- const char *n;
if (!s->repo)
return SOLVER_TRANSACTION_IGNORE;
- n = pool_id2str(pool, s->name);
- if (!strncmp(n, "patch:", 6))
- return SOLVER_TRANSACTION_IGNORE;
- if (!strncmp(n, "pattern:", 8))
- return SOLVER_TRANSACTION_IGNORE;
+ if (!(mode & SOLVER_TRANSACTION_KEEP_PSEUDO))
+ {
+ const char *n = pool_id2str(pool, s->name);
+ if (!strncmp(n, "patch:", 6))
+ return SOLVER_TRANSACTION_IGNORE;
+ if (!strncmp(n, "pattern:", 8))
+ return SOLVER_TRANSACTION_IGNORE;
+ }
type = transaction_base_type(trans, p);