summaryrefslogtreecommitdiff
path: root/librazor
diff options
context:
space:
mode:
authorKristian Høgsberg <krh@redhat.com>2008-06-20 23:13:09 -0400
committerKristian Høgsberg <krh@redhat.com>2008-06-20 23:13:09 -0400
commit389289592f745d1d506417425211c44b7637b458 (patch)
tree0ae749a1232483c76132858c854c5bf9842906ce /librazor
parent59cbe436435c1c908fe5103d61469f6e7ae8a609 (diff)
When uniquifying properties, also sort them on the owning package.
This ensures that whenever two packages provide or (or require, obsolete or conflict) the same property, they appear in the same order in the propertys list of packages.
Diffstat (limited to 'librazor')
-rw-r--r--librazor/importer.c4
-rw-r--r--librazor/transaction.c4
2 files changed, 6 insertions, 2 deletions
diff --git a/librazor/importer.c b/librazor/importer.c
index b8132cf..eb75605 100644
--- a/librazor/importer.c
+++ b/librazor/importer.c
@@ -135,8 +135,10 @@ compare_properties(const void *p1, const void *p2, void *data)
return strcmp(&pool[prop1->name], &pool[prop2->name]);
else if (prop1->flags != prop2->flags)
return prop1->flags - prop2->flags;
- else
+ else if (prop1->version != prop2->version)
return razor_versioncmp(&pool[prop1->version], &pool[prop2->version]);
+ else
+ return prop1->packages.list_ptr - prop2->packages.list_ptr;
}
static uint32_t *
diff --git a/librazor/transaction.c b/librazor/transaction.c
index 93b1bf2..6633a7a 100644
--- a/librazor/transaction.c
+++ b/librazor/transaction.c
@@ -649,9 +649,11 @@ pull_in_requirements(struct razor_transaction *trans,
rpi->present[rp - rpi->start] |= TRANS_PROPERTY_SATISFIED;
- fprintf(stderr, "pulling in %s which provides %s %s %s "
+ fprintf(stderr, "pulling in %s-%s.%s which provides %s %s %s "
"to satisfy %s %s %s\n",
ppi->pool + pkg->name,
+ ppi->pool + pkg->version,
+ ppi->pool + pkg->arch,
ppi->pool + pp->name,
razor_property_relation_to_string(pp),
ppi->pool + pp->version,