Make transaction resolve step optional.
authorKristian H?gsberg <krh@jiraiya.boston.redhat.com>
Tue Apr 08 23:53:57 2008 -0400 (2008-04-08)
changeset 210c78f677d96b8
parent 209 78afac5bb7b8
child 211 cf0ca962262b
Make transaction resolve step optional.
main.c
razor.c
razor.h
test-driver.c
     1.1 --- a/main.c	Tue Apr 08 00:10:31 2008 -0400
     1.2 +++ b/main.c	Tue Apr 08 23:53:57 2008 -0400
     1.3 @@ -421,7 +421,7 @@
     1.4  		}
     1.5  	}
     1.6  		
     1.7 -	errors = razor_transaction_describe(trans);
     1.8 +	errors = razor_transaction_resolve(trans);
     1.9  	if (errors)
    1.10  		return 1;
    1.11  
    1.12 @@ -453,7 +453,7 @@
    1.13  		}
    1.14  	}
    1.15  
    1.16 -	errors = razor_transaction_describe(trans);
    1.17 +	errors = razor_transaction_resolve(trans);
    1.18  	if (errors)
    1.19  		return 1;
    1.20  
    1.21 @@ -626,7 +626,12 @@
    1.22  	struct razor_set *system, *upstream, *next;
    1.23  	struct razor_transaction *trans;
    1.24  	char path[PATH_MAX], new_path[PATH_MAX];
    1.25 -	int i, errors, fd;
    1.26 +	int i = 0, errors, fd, dependencies = 1;
    1.27 +
    1.28 +	if (i < argc && strcmp(argv[i], "--no-dependencies") == 0) {
    1.29 +		dependencies = 0;
    1.30 +		i++;
    1.31 +	}
    1.32  
    1.33  	/* Create the new next repo file up front to ensure exclusive
    1.34  	 * access. */
    1.35 @@ -653,7 +658,7 @@
    1.36  		return 1;
    1.37  	}
    1.38  	trans = razor_transaction_create(system, upstream);
    1.39 -	for (i = 0; i < argc; i++) {
    1.40 +	for (; i < argc; i++) {
    1.41  		if (mark_packages_for_update(trans, upstream, argv[i]) == 0) {
    1.42  			fprintf(stderr, "no package matched %s\n", argv[i]);
    1.43  			unlink(new_path);
    1.44 @@ -661,10 +666,12 @@
    1.45  		}
    1.46  	}
    1.47  
    1.48 -	errors = razor_transaction_describe(trans);
    1.49 -	if (errors) {
    1.50 -		unlink(new_path);
    1.51 -		return 1;
    1.52 +	if (dependencies) {
    1.53 +		errors = razor_transaction_resolve(trans);
    1.54 +		if (errors) {
    1.55 +			unlink(new_path);
    1.56 +			return 1;
    1.57 +		}
    1.58  	}
    1.59  
    1.60  	next = razor_transaction_finish(trans);
     2.1 --- a/razor.c	Tue Apr 08 00:10:31 2008 -0400
     2.2 +++ b/razor.c	Tue Apr 08 23:53:57 2008 -0400
     2.3 @@ -2696,7 +2696,7 @@
     2.4  }
     2.5  
     2.6  int
     2.7 -razor_transaction_describe(struct razor_transaction *trans)
     2.8 +razor_transaction_resolve(struct razor_transaction *trans)
     2.9  {
    2.10  	struct razor_transaction_package *p, *pend, *tps;
    2.11  	int errors_only = 0;
    2.12 @@ -2841,8 +2841,6 @@
    2.13  {
    2.14  	struct razor_transaction_package *p, *end;
    2.15  
    2.16 -	resolve_transaction(trans);
    2.17 -
    2.18  	end = trans->packages.data + trans->packages.size;
    2.19  	for (p = trans->packages.data; p < end; p++) {
    2.20  		if (p->state != RAZOR_PACKAGE_UNSATISFIABLE)
    2.21 @@ -2871,8 +2869,6 @@
    2.22  	struct razor_transaction_package *p, *end;
    2.23  	int cmp;
    2.24  
    2.25 -	resolve_transaction(trans);
    2.26 -
    2.27  	/* FIXME */
    2.28  	if (trans->errors)
    2.29  		return NULL;
     3.1 --- a/razor.h	Tue Apr 08 00:10:31 2008 -0400
     3.2 +++ b/razor.h	Tue Apr 08 23:53:57 2008 -0400
     3.3 @@ -118,7 +118,7 @@
     3.4  void razor_transaction_remove_package(struct razor_transaction *transaction,
     3.5  				      struct razor_package *package);
     3.6  void razor_transaction_update_all(struct razor_transaction *transaction);
     3.7 -int razor_transaction_describe(struct razor_transaction *trans);
     3.8 +int razor_transaction_resolve(struct razor_transaction *trans);
     3.9  struct razor_set *razor_transaction_finish(struct razor_transaction *trans);
    3.10  void razor_transaction_destroy(struct razor_transaction *trans);
    3.11  
     4.1 --- a/test-driver.c	Tue Apr 08 00:10:31 2008 -0400
     4.2 +++ b/test-driver.c	Tue Apr 08 23:53:57 2008 -0400
     4.3 @@ -267,7 +267,7 @@
     4.4  		razor_transaction_remove_package(ctx->trans, pkg);
     4.5  	}		
     4.6  
     4.7 -	errors = razor_transaction_describe(ctx->trans);
     4.8 +	errors = razor_transaction_resolve(ctx->trans);
     4.9  	printf("\n");
    4.10  
    4.11  	while (ctx->n_install_pkgs--)