rpm-razor.c
changeset 220 1fcb5c23034a
parent 219 1c2997b34929
child 221 6db5f1ad7882
     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