Start implementing erase - still need better depsolver.
1.1 --- a/razor.c Wed Jun 04 20:16:50 2008 -0400
1.2 +++ b/razor.c Wed Jun 04 20:53:17 2008 -0400
1.3 @@ -1205,7 +1205,7 @@
1.4 for (u = unsatisfied.data; u < end; u++) {
1.5 r = properties + *u;
1.6 if (pool[r->version] == '\0')
1.7 - printf("%ss not satisfied\n",
1.8 + printf("%s not satisfied\n",
1.9 &pool[r->name]);
1.10 else
1.11 printf("%s-%s not satisfied\n",
2.1 --- a/rpm-razor.c Wed Jun 04 20:16:50 2008 -0400
2.2 +++ b/rpm-razor.c Wed Jun 04 20:53:17 2008 -0400
2.3 @@ -460,12 +460,37 @@
2.4 static void
2.5 command_erase(int argc, const char *argv[])
2.6 {
2.7 + struct razor_set *set;
2.8 + struct razor_transaction *trans;
2.9 + struct razor_package_query *query;
2.10 + struct razor_package_iterator *pi;
2.11 + struct razor_package *package;
2.12 + const char *name, *version, *arch;
2.13 +
2.14 if (argc == 0) {
2.15 printf("no packages given for erase\n");
2.16 exit(1);
2.17 }
2.18
2.19 - printf("command erase - not implemented\n");
2.20 + set = razor_set_open(repo_filename);
2.21 +
2.22 + trans = razor_transaction_create(set, NULL);
2.23 +
2.24 + query = razor_package_query_create(set);
2.25 + add_command_line_packages(set, query, argc, argv);
2.26 + pi = razor_package_query_finish(query);
2.27 +
2.28 + while (razor_package_iterator_next(pi, &package,
2.29 + &name, &version, &arch))
2.30 + razor_transaction_remove_package(trans, package);
2.31 +
2.32 + razor_package_iterator_destroy(pi);
2.33 +
2.34 + set = razor_transaction_finish(trans);
2.35 +
2.36 + razor_set_list_unsatisfied(set);
2.37 +
2.38 + razor_set_destroy(set);
2.39 }
2.40
2.41 static void