STATE_SUGGESTS,
STATE_ENHANCES,
STATE_FRESHENS,
+ STATE_ORDERWITHREQUIRES,
STATE_SOURCERPM,
STATE_HEADERRANGE,
STATE_BUILDHOST,
STATE_SUGGESTSENTRY,
STATE_ENHANCESENTRY,
STATE_FRESHENSENTRY,
+ STATE_ORDERWITHREQUIRESENTRY,
STATE_FILE,
{ STATE_SOLVABLE, "rpm:suggests", STATE_SUGGESTS, 0 },
{ STATE_SOLVABLE, "rpm:enhances", STATE_ENHANCES, 0 },
{ STATE_SOLVABLE, "rpm:freshens", STATE_FRESHENS, 0 },
+ { STATE_SOLVABLE, "rpm:orderwithrequires", STATE_ORDERWITHREQUIRES, 0 },
{ STATE_SOLVABLE, "rpm:sourcerpm", STATE_SOURCERPM, 1 },
{ STATE_SOLVABLE, "rpm:header-range", STATE_HEADERRANGE, 0 },
{ STATE_SOLVABLE, "rpm:buildhost", STATE_BUILDHOST, 1 },
{ STATE_SUGGESTS, "rpm:entry", STATE_SUGGESTSENTRY, 0 },
{ STATE_ENHANCES, "rpm:entry", STATE_ENHANCESENTRY, 0 },
{ STATE_FRESHENS, "rpm:entry", STATE_FRESHENSENTRY, 0 },
+ { STATE_ORDERWITHREQUIRES, "rpm:entry", STATE_ORDERWITHREQUIRESENTRY, 0 },
{ STATE_INCLUDES, "item", STATE_INCLUDESENTRY, 0 },
{ STATE_EXTENDS, "item", STATE_EXTENDSENTRY, 0 },
char *kind;
Solvable *solvable;
Offset freshens;
+ Offset orderwithrequires;
struct solv_xmlparser xmlp;
struct joindata jd;
one.
*/
pd->extending = 0;
+ pd->freshens = 0;
+ pd->orderwithrequires = 0;
if ((pkgid = solv_xmlparser_find_attr("pkgid", atts)) != NULL)
{
unsigned char chk[256];
handle = repo_add_solvable(pd->repo);
if (!pd->first)
pd->first = handle;
- pd->freshens = 0;
}
pd->handle = handle;
pd->solvable = pool_id2solvable(pool, handle);
case STATE_FRESHENSENTRY:
pd->freshens = adddep(pool, pd, pd->freshens, atts, 0);
break;
+ case STATE_ORDERWITHREQUIRES:
+ pd->orderwithrequires = 0;
+ break;
+ case STATE_ORDERWITHREQUIRESENTRY:
+ pd->orderwithrequires = adddep(pool, pd, pd->orderwithrequires, atts, 0);
+ break;
case STATE_EULA:
case STATE_SUMMARY:
case STATE_CATEGORY:
switch (state)
{
case STATE_SOLVABLE:
+ if (pd->orderwithrequires)
+ {
+ while (repo->idarraydata[pd->orderwithrequires])
+ repodata_add_idarray(pd->data, s - pool->solvables, SOLVABLE_ORDERWITHREQUIRES, repo->idarraydata[pd->orderwithrequires++]);
+ pd->orderwithrequires = 0;
+ }
if (pd->extending)
{
pd->solvable = 0;