40 lines
847 B
C
40 lines
847 B
C
#include "system.h"
|
|
|
|
#include "rpmlib.h"
|
|
|
|
#include "rpmds.h"
|
|
|
|
#include "debug.h"
|
|
|
|
extern int _rpmds_debug;
|
|
|
|
int main(int argc, char *argv[])
|
|
{
|
|
rpmTag tagN = RPMTAG_REQUIRENAME;
|
|
rpmds ds = NULL;
|
|
rpmds dsA;
|
|
rpmds dsA1;
|
|
rpmds dsA2;
|
|
rpmds dsB;
|
|
rpmds dsC;
|
|
|
|
_rpmds_debug = 0;
|
|
dsA = rpmdsSingle(tagN, "A", "0", RPMSENSE_EQUAL);
|
|
dsA1 = rpmdsSingle(tagN, "A", "0", RPMSENSE_LESS);
|
|
dsA2 = rpmdsSingle(tagN, "A", "0", RPMSENSE_GREATER);
|
|
dsB = rpmdsSingle(tagN, "B", "1", RPMSENSE_LESS);
|
|
dsC = rpmdsSingle(tagN, "C", "2", RPMSENSE_GREATER);
|
|
|
|
rpmdsMerge(&ds, dsA2);
|
|
rpmdsMerge(&ds, dsA);
|
|
rpmdsMerge(&ds, dsC);
|
|
rpmdsMerge(&ds, dsB);
|
|
rpmdsMerge(&ds, dsA1);
|
|
|
|
ds = rpmdsInit(ds);
|
|
while (rpmdsNext(ds) >= 0)
|
|
fprintf(stderr, "%d %s\n", rpmdsIx(ds), rpmdsDNEVR(ds)+2);
|
|
|
|
return 0;
|
|
}
|