Start implementing erase - still need better depsolver.
authorKristian H?gsberg <krh@redhat.com>
Wed Jun 04 20:53:17 2008 -0400 (2008-06-04)
changeset 2201fcb5c23034a
parent 219 1c2997b34929
child 221 6db5f1ad7882
Start implementing erase - still need better depsolver.
razor.c
rpm-razor.c
     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