diff -r 061a5b815727 -r 658912bf8d00 src/rpm.c --- a/src/rpm.c Fri Jun 20 16:48:44 2008 -0400 +++ b/src/rpm.c Mon Jun 23 10:24:30 2008 -0400 @@ -507,12 +507,17 @@ } static void -remove_package(const char *name, - const char *old_version, const char *new_version, - const char *arch, void *data) +update_package(enum razor_diff_action action, + struct razor_package *package, + const char *name, + const char *version, + const char *arch, + void *data) { - if (old_version) - printf("remove %s-%s.%s\n", name, old_version, arch); + if (action == RAZOR_DIFF_ACTION_ADD) + printf("install %s-%s.%s\n", name, version, arch); + if (action == RAZOR_DIFF_ACTION_REMOVE) + printf("remove %s-%s.%s\n", name, version, arch); } static void @@ -555,7 +560,7 @@ next = razor_transaction_finish(trans); if (!option_justdb) - razor_set_diff(set, next, remove_package, NULL); + razor_set_diff(set, next, update_package, NULL); razor_set_destroy(set); razor_set_destroy(upstream); @@ -564,15 +569,6 @@ } static void -install_package(const char *name, - const char *old_version, const char *new_version, - const char *arch, void *data) -{ - if (new_version) - printf("install %s-%s.%s\n", name, new_version, arch); -} - -static void command_install(int argc, const char *argv[]) { struct razor_set *set, *upstream, *next; @@ -608,7 +604,7 @@ next = razor_transaction_finish(trans); if (!option_justdb) - razor_set_diff(set, next, install_package, NULL); + razor_set_diff(set, next, update_package, NULL); razor_set_destroy(set); razor_set_destroy(upstream); @@ -617,17 +613,6 @@ } static void -update_package(const char *name, - const char *old_version, const char *new_version, - const char *arch, void *data) -{ - if (old_version) - printf("remove %s-%s.%s\n", name, old_version, arch); - if (new_version) - printf("install %s-%s.%s\n", name, new_version, arch); -} - -static void command_update(int argc, const char *argv[]) { struct razor_set *set, *upstream, *next;