Make transaction resolve step optional.
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--)