diff -r f8c27fe9fe63 -r 297c6c8be2d1 librazor/transaction.c --- a/librazor/transaction.c Fri Jun 12 16:59:11 2009 +0100 +++ b/librazor/transaction.c Thu Oct 01 20:02:23 2009 +0100 @@ -692,15 +692,18 @@ if (!prop_iter_seek_to(&ppi, RAZOR_PROPERTY_PROVIDES, name)) continue; + if (any_provider_satisfies_requirement(&ppi, + RAZOR_PROPERTY_GREATER, + version)) { + razor_transaction_remove_package(trans, p); + continue; + } + pkg = pick_matching_provider(trans->upstream.set, &ppi, RAZOR_PROPERTY_GREATER, version); if (pkg == NULL) continue; - fprintf(stderr, "updating %s-%s to %s-%s\n", - name, version, - &ppi.pool[pkg->name], &ppi.pool[pkg->version]); - razor_transaction_remove_package(trans, p); razor_transaction_install_package(trans, pkg); }