When uniquifying properties, also sort them on the owning package.
authorKristian H?gsberg <krh@redhat.com>
Fri Jun 20 23:13:09 2008 -0400 (2008-06-20)
changeset 2570c3db660514d
parent 256 3603b635d6c9
child 259 5b0601d184ed
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.
librazor/importer.c
librazor/transaction.c
     1.1 --- a/librazor/importer.c	Fri Jun 20 22:27:07 2008 -0400
     1.2 +++ b/librazor/importer.c	Fri Jun 20 23:13:09 2008 -0400
     1.3 @@ -135,8 +135,10 @@
     1.4  		return strcmp(&pool[prop1->name], &pool[prop2->name]);
     1.5  	else if (prop1->flags != prop2->flags)
     1.6  		return prop1->flags - prop2->flags;
     1.7 +	else if (prop1->version != prop2->version)
     1.8 +		return razor_versioncmp(&pool[prop1->version], &pool[prop2->version]);
     1.9  	else
    1.10 -		return razor_versioncmp(&pool[prop1->version], &pool[prop2->version]);
    1.11 +		return prop1->packages.list_ptr - prop2->packages.list_ptr;
    1.12  }
    1.13  
    1.14  static uint32_t *
     2.1 --- a/librazor/transaction.c	Fri Jun 20 22:27:07 2008 -0400
     2.2 +++ b/librazor/transaction.c	Fri Jun 20 23:13:09 2008 -0400
     2.3 @@ -649,9 +649,11 @@
     2.4  
     2.5  		rpi->present[rp - rpi->start] |= TRANS_PROPERTY_SATISFIED;
     2.6  
     2.7 -		fprintf(stderr, "pulling in %s which provides %s %s %s "
     2.8 +		fprintf(stderr, "pulling in %s-%s.%s which provides %s %s %s "
     2.9  			"to satisfy %s %s %s\n",
    2.10  			ppi->pool + pkg->name,
    2.11 +			ppi->pool + pkg->version,
    2.12 +			ppi->pool + pkg->arch,
    2.13  			ppi->pool + pp->name,
    2.14  			razor_property_relation_to_string(pp),
    2.15  			ppi->pool + pp->version,