From 4fc6059f62d85455ffbfbffff7d90237b836bea0 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Kristian=20H=C3=B8gsberg?= Date: Wed, 4 Jun 2008 20:53:17 -0400 Subject: [PATCH] Start implementing erase - still need better depsolver. --- razor.c | 2 +- rpm-razor.c | 27 ++++++++++++++++++++++++++- 2 files changed, 27 insertions(+), 2 deletions(-) diff --git a/razor.c b/razor.c index 6b8dfc5..f77f53f 100644 --- a/razor.c +++ b/razor.c @@ -1205,7 +1205,7 @@ razor_set_list_unsatisfied(struct razor_set *set) for (u = unsatisfied.data; u < end; u++) { r = properties + *u; if (pool[r->version] == '\0') - printf("%ss not satisfied\n", + printf("%s not satisfied\n", &pool[r->name]); else printf("%s-%s not satisfied\n", diff --git a/rpm-razor.c b/rpm-razor.c index e16f794..fe1a394 100644 --- a/rpm-razor.c +++ b/rpm-razor.c @@ -460,12 +460,37 @@ command_verify(int argc, const char *argv[]) static void command_erase(int argc, const char *argv[]) { + struct razor_set *set; + struct razor_transaction *trans; + struct razor_package_query *query; + struct razor_package_iterator *pi; + struct razor_package *package; + const char *name, *version, *arch; + if (argc == 0) { printf("no packages given for erase\n"); exit(1); } - printf("command erase - not implemented\n"); + set = razor_set_open(repo_filename); + + trans = razor_transaction_create(set, NULL); + + query = razor_package_query_create(set); + add_command_line_packages(set, query, argc, argv); + pi = razor_package_query_finish(query); + + while (razor_package_iterator_next(pi, &package, + &name, &version, &arch)) + razor_transaction_remove_package(trans, package); + + razor_package_iterator_destroy(pi); + + set = razor_transaction_finish(trans); + + razor_set_list_unsatisfied(set); + + razor_set_destroy(set); } static void -- 1.7.1