1.1 --- a/rpm-razor.c Wed Jun 04 20:16:50 2008 -0400
1.2 +++ b/rpm-razor.c Wed Jun 04 20:53:17 2008 -0400
1.3 @@ -460,12 +460,37 @@
1.4 static void
1.5 command_erase(int argc, const char *argv[])
1.6 {
1.7 + struct razor_set *set;
1.8 + struct razor_transaction *trans;
1.9 + struct razor_package_query *query;
1.10 + struct razor_package_iterator *pi;
1.11 + struct razor_package *package;
1.12 + const char *name, *version, *arch;
1.13 +
1.14 if (argc == 0) {
1.15 printf("no packages given for erase\n");
1.16 exit(1);
1.17 }
1.18
1.19 - printf("command erase - not implemented\n");
1.20 + set = razor_set_open(repo_filename);
1.21 +
1.22 + trans = razor_transaction_create(set, NULL);
1.23 +
1.24 + query = razor_package_query_create(set);
1.25 + add_command_line_packages(set, query, argc, argv);
1.26 + pi = razor_package_query_finish(query);
1.27 +
1.28 + while (razor_package_iterator_next(pi, &package,
1.29 + &name, &version, &arch))
1.30 + razor_transaction_remove_package(trans, package);
1.31 +
1.32 + razor_package_iterator_destroy(pi);
1.33 +
1.34 + set = razor_transaction_finish(trans);
1.35 +
1.36 + razor_set_list_unsatisfied(set);
1.37 +
1.38 + razor_set_destroy(set);
1.39 }
1.40
1.41 static void