Only mark pacakges for update if there is a newer version available.
authorKristian Høgsberg <krh@redhat.com>
Mon, 17 Mar 2008 23:28:42 +0000 (19:28 -0400)
committerKristian Høgsberg <krh@redhat.com>
Mon, 17 Mar 2008 23:28:42 +0000 (19:28 -0400)
razor.c

diff --git a/razor.c b/razor.c
index cb88294..0dd6955 100644 (file)
--- a/razor.c
+++ b/razor.c
@@ -2004,7 +2004,8 @@ find_all_packages(struct razor_transaction_resolver *trans)
        for (sp = spkgs; sp < send; sp++) {
                while (up < uend && strcmp(&spool[sp->name], &upool[up->name]) > 0)
                        up++;
-               if (strcmp(&spool[sp->name], &upool[up->name]) == 0) {
+               if (strcmp(&spool[sp->name], &upool[up->name]) == 0 &&
+                   versioncmp(&spool[sp->version], &upool[up->version]) < 0) {
                        tp = array_add(&trans->packages, sizeof *tp);
                        memset(tp, 0, sizeof *tp);
                        tp->old_package = sp;