1.1 --- a/src/main.c Sat Feb 11 09:34:40 2012 +0000
1.2 +++ b/src/main.c Thu Feb 16 17:33:47 2012 +0000
1.3 @@ -55,9 +55,9 @@
1.4 struct razor_relocations *relocations,
1.5 enum razor_stage_type stage);
1.6 static int
1.7 -update_system(const char *install_root, struct razor_relocations *relocations,
1.8 - struct razor_transaction *trans, struct razor_set *system,
1.9 - struct razor_set *next, const char *verb);
1.10 +update_system(struct razor_root *root, struct razor_relocations *relocations,
1.11 + struct razor_transaction *trans, struct razor_set *next,
1.12 + const char *verb);
1.13
1.14 static struct razor_package_iterator *
1.15 create_iterator_from_argv(struct razor_set *set, int argc, const char *argv[])
1.16 @@ -120,7 +120,7 @@
1.17 command_list(int argc, const char *argv[])
1.18 {
1.19 struct razor_package_iterator *pi;
1.20 - struct razor_atomic *atomic;
1.21 + struct razor_error *error = NULL;
1.22 struct razor_set *set;
1.23 uint32_t flags = 0;
1.24 int i = 0;
1.25 @@ -130,11 +130,10 @@
1.26 i++;
1.27 }
1.28
1.29 - atomic = razor_atomic_open("List installed packages");
1.30 - set = razor_root_open_read_only(install_root, atomic);
1.31 + set = razor_root_open_read_only(install_root, &error);
1.32 if (set == NULL) {
1.33 - fprintf(stderr, "%s\n", razor_atomic_get_error_msg(atomic));
1.34 - razor_atomic_destroy(atomic);
1.35 + fprintf(stderr, "%s\n", razor_error_get_msg(error));
1.36 + razor_error_free(error);
1.37 return 1;
1.38 }
1.39
1.40 @@ -142,7 +141,6 @@
1.41 list_packages(pi, flags);
1.42 razor_package_iterator_destroy(pi);
1.43 razor_set_unref(set);
1.44 - razor_atomic_destroy(atomic);
1.45
1.46 return 0;
1.47 }
1.48 @@ -188,16 +186,15 @@
1.49 list_properties(int argc, const char *argv[], uint32_t type)
1.50 {
1.51 struct razor_set *set;
1.52 - struct razor_atomic *atomic;
1.53 + struct razor_error *error = NULL;
1.54 struct razor_package *package;
1.55 struct razor_package_iterator *pi;
1.56 const char *name, *version, *arch;
1.57
1.58 - atomic = razor_atomic_open("List package properties");
1.59 - set = razor_root_open_read_only(install_root, atomic);
1.60 + set = razor_root_open_read_only(install_root, &error);
1.61 if (set == NULL) {
1.62 - fprintf(stderr, "%s\n", razor_atomic_get_error_msg(atomic));
1.63 - razor_atomic_destroy(atomic);
1.64 + fprintf(stderr, "%s\n", razor_error_get_msg(error));
1.65 + razor_error_free(error);
1.66 return 1;
1.67 }
1.68
1.69 @@ -210,7 +207,6 @@
1.70 list_package_properties(set, package, type);
1.71 razor_package_iterator_destroy(pi);
1.72 razor_set_unref(set);
1.73 - razor_atomic_destroy(atomic);
1.74
1.75 return 0;
1.76 }
1.77 @@ -243,16 +239,15 @@
1.78 command_list_scripts(int argc, const char *argv[])
1.79 {
1.80 struct razor_set *set;
1.81 - struct razor_atomic *atomic;
1.82 + struct razor_error *error = NULL;
1.83 struct razor_package *package;
1.84 struct razor_package_iterator *pi;
1.85 const char *preunprog, *preun, *postunprog, *postun;
1.86
1.87 - atomic = razor_atomic_open("List package scripts");
1.88 - set = razor_root_open_read_only(install_root, atomic);
1.89 + set = razor_root_open_read_only(install_root, &error);
1.90 if (set == NULL) {
1.91 - fprintf(stderr, "%s\n", razor_atomic_get_error_msg(atomic));
1.92 - razor_atomic_destroy(atomic);
1.93 + fprintf(stderr, "%s\n", razor_error_get_msg(error));
1.94 + razor_error_free(error);
1.95 return 1;
1.96 }
1.97
1.98 @@ -278,7 +273,6 @@
1.99 }
1.100 razor_package_iterator_destroy(pi);
1.101 razor_set_unref(set);
1.102 - razor_atomic_destroy(atomic);
1.103
1.104 return 0;
1.105 }
1.106 @@ -286,20 +280,18 @@
1.107 static int
1.108 command_list_files(int argc, const char *argv[])
1.109 {
1.110 - struct razor_atomic *atomic;
1.111 + struct razor_error *error = NULL;
1.112 struct razor_set *set;
1.113
1.114 - atomic = razor_atomic_open("List package files");
1.115 - set = razor_root_open_read_only(install_root, atomic);
1.116 + set = razor_root_open_read_only(install_root, &error);
1.117 if (set == NULL) {
1.118 - fprintf(stderr, "%s\n", razor_atomic_get_error_msg(atomic));
1.119 - razor_atomic_destroy(atomic);
1.120 + fprintf(stderr, "%s\n", razor_error_get_msg(error));
1.121 + razor_error_free(error);
1.122 return 1;
1.123 }
1.124
1.125 razor_set_list_files(set, argv[0]);
1.126 razor_set_unref(set);
1.127 - razor_atomic_destroy(atomic);
1.128
1.129 return 0;
1.130 }
1.131 @@ -307,15 +299,14 @@
1.132 static int
1.133 command_list_file_packages(int argc, const char *argv[])
1.134 {
1.135 - struct razor_atomic *atomic;
1.136 + struct razor_error *error = NULL;
1.137 struct razor_set *set;
1.138 struct razor_package_iterator *pi;
1.139
1.140 - atomic = razor_atomic_open("List file packages");
1.141 - set = razor_root_open_read_only(install_root, atomic);
1.142 + set = razor_root_open_read_only(install_root, &error);
1.143 if (set == NULL) {
1.144 - fprintf(stderr, "%s\n", razor_atomic_get_error_msg(atomic));
1.145 - razor_atomic_destroy(atomic);
1.146 + fprintf(stderr, "%s\n", razor_error_get_msg(error));
1.147 + razor_error_free(error);
1.148 return 1;
1.149 }
1.150
1.151 @@ -324,7 +315,6 @@
1.152 razor_package_iterator_destroy(pi);
1.153
1.154 razor_set_unref(set);
1.155 - razor_atomic_destroy(atomic);
1.156
1.157 return 0;
1.158 }
1.159 @@ -332,17 +322,16 @@
1.160 static int
1.161 command_list_package_files(int argc, const char *argv[])
1.162 {
1.163 - struct razor_atomic *atomic;
1.164 + struct razor_error *error = NULL;
1.165 struct razor_set *set;
1.166 struct razor_package_iterator *pi;
1.167 struct razor_package *package;
1.168 const char *name, *version, *arch;
1.169
1.170 - atomic = razor_atomic_open("List package files");
1.171 - set = razor_root_open_read_only(install_root, atomic);
1.172 + set = razor_root_open_read_only(install_root, &error);
1.173 if (set == NULL) {
1.174 - fprintf(stderr, "%s\n", razor_atomic_get_error_msg(atomic));
1.175 - razor_atomic_destroy(atomic);
1.176 + fprintf(stderr, "%s\n", razor_error_get_msg(error));
1.177 + razor_error_free(error);
1.178 return 1;
1.179 }
1.180
1.181 @@ -356,7 +345,6 @@
1.182 razor_package_iterator_destroy(pi);
1.183
1.184 razor_set_unref(set);
1.185 - razor_atomic_destroy(atomic);
1.186
1.187 return 0;
1.188 }
1.189 @@ -366,7 +354,7 @@
1.190 const char *ref_version,
1.191 uint32_t type)
1.192 {
1.193 - struct razor_atomic *atomic;
1.194 + struct razor_error *error = NULL;
1.195 struct razor_set *set;
1.196 struct razor_property *property;
1.197 struct razor_property_iterator *prop_iter;
1.198 @@ -377,11 +365,10 @@
1.199 if (ref_name == NULL)
1.200 return 0;
1.201
1.202 - atomic = razor_atomic_open("List package properties");
1.203 - set = razor_root_open_read_only(install_root, atomic);
1.204 + set = razor_root_open_read_only(install_root, &error);
1.205 if (set == NULL) {
1.206 - fprintf(stderr, "%s\n", razor_atomic_get_error_msg(atomic));
1.207 - razor_atomic_destroy(atomic);
1.208 + fprintf(stderr, "%s\n", razor_error_get_msg(error));
1.209 + razor_error_free(error);
1.210 return 1;
1.211 }
1.212
1.213 @@ -406,7 +393,6 @@
1.214 razor_property_iterator_destroy(prop_iter);
1.215
1.216 razor_set_unref(set);
1.217 - razor_atomic_destroy(atomic);
1.218
1.219 return 0;
1.220 }
1.221 @@ -540,15 +526,14 @@
1.222 {
1.223 struct razor_set *set;
1.224 struct razor_root *root;
1.225 + struct razor_error *error = NULL;
1.226 struct razor_atomic *atomic;
1.227 int retval;
1.228
1.229 - atomic = razor_atomic_open("Import RPM database");
1.230 -
1.231 - root = razor_root_open(install_root, atomic);
1.232 + root = razor_root_open(install_root, &error);
1.233 if (root == NULL) {
1.234 - fprintf(stderr, "%s\n", razor_atomic_get_error_msg(atomic));
1.235 - razor_atomic_destroy(atomic);
1.236 + fprintf(stderr, "%s\n", razor_error_get_msg(error));
1.237 + razor_error_free(error);
1.238 return 1;
1.239 }
1.240
1.241 @@ -556,14 +541,17 @@
1.242 if (set == NULL)
1.243 return 1;
1.244
1.245 - razor_root_update(root, set);
1.246 + atomic = razor_atomic_open("Import RPM database");
1.247
1.248 - retval = razor_root_commit(root);
1.249 + retval = razor_root_update(root, set, atomic);
1.250 +
1.251 if (retval)
1.252 fprintf(stderr, "%s\n", razor_atomic_get_error_msg(atomic));
1.253
1.254 razor_atomic_destroy(atomic);
1.255
1.256 + razor_root_close(root);
1.257 +
1.258 return retval;
1.259 }
1.260 #endif
1.261 @@ -619,20 +607,18 @@
1.262 {
1.263 struct razor_set *system, *upstream, *next;
1.264 struct razor_transaction *trans;
1.265 - struct razor_atomic *atomic;
1.266 + struct razor_error *error = NULL;
1.267 + struct razor_root *root;
1.268 int i, retval;
1.269
1.270 - atomic = razor_atomic_open("Remove packages");
1.271 -
1.272 - system = razor_root_open_read_only(install_root, atomic);
1.273 - if (system == NULL) {
1.274 - fprintf(stderr, "%s\n", razor_atomic_get_error_msg(atomic));
1.275 - razor_atomic_destroy(atomic);
1.276 + root = razor_root_open(install_root, &error);
1.277 + if (root == NULL) {
1.278 + fprintf(stderr, "%s\n", razor_error_get_msg(error));
1.279 + razor_error_free(error);
1.280 return 1;
1.281 }
1.282
1.283 - razor_atomic_destroy(atomic);
1.284 -
1.285 + system = razor_root_get_system_set(root);
1.286 upstream = razor_set_create_without_root();
1.287 trans = razor_transaction_create(system, upstream);
1.288 razor_set_unref(upstream);
1.289 @@ -640,7 +626,7 @@
1.290 if (mark_packages_for_removal(trans, system, argv[i]) == 0) {
1.291 fprintf(stderr, "no match for %s\n", argv[i]);
1.292 razor_transaction_destroy(trans);
1.293 - razor_set_unref(system);
1.294 + razor_root_close(root);
1.295 return 1;
1.296 }
1.297 }
1.298 @@ -649,17 +635,16 @@
1.299 retval = razor_transaction_describe(trans);
1.300 if (retval) {
1.301 razor_transaction_destroy(trans);
1.302 - razor_set_unref(system);
1.303 + razor_root_close(root);
1.304 return 1;
1.305 }
1.306
1.307 next = razor_transaction_commit(trans);
1.308
1.309 - retval = update_system(install_root, NULL, trans, system, next,
1.310 - "Remove");
1.311 + retval = update_system(root, NULL, trans, next, "Remove");
1.312
1.313 razor_transaction_destroy(trans);
1.314 - razor_set_unref(system);
1.315 + razor_root_close(root);
1.316 razor_set_unref(next);
1.317
1.318 return retval;
1.319 @@ -682,15 +667,19 @@
1.320 static int
1.321 command_diff(int argc, const char *argv[])
1.322 {
1.323 - struct razor_atomic *atomic;
1.324 + struct razor_error *error = NULL;
1.325 struct razor_set *set, *updated;
1.326
1.327 - atomic = razor_atomic_open("Show package differences");
1.328 - set = razor_root_open_read_only(install_root, atomic);
1.329 - updated = razor_set_open(rawhide_repo_filename, atomic);
1.330 - if (set == NULL || updated == NULL) {
1.331 - fprintf(stderr, "%s\n", razor_atomic_get_error_msg(atomic));
1.332 - razor_atomic_destroy(atomic);
1.333 + set = razor_root_open_read_only(install_root, &error);
1.334 + if (set)
1.335 + updated = razor_set_open(rawhide_repo_filename, 0, &error);
1.336 + else
1.337 + updated = NULL;
1.338 + if (updated == NULL) {
1.339 + fprintf(stderr, "%s\n", razor_error_get_msg(error));
1.340 + razor_error_free(error);
1.341 + if (set)
1.342 + razor_set_unref(set);
1.343 return 1;
1.344 }
1.345
1.346 @@ -698,7 +687,6 @@
1.347
1.348 razor_set_unref(set);
1.349 razor_set_unref(updated);
1.350 - razor_atomic_destroy(atomic);
1.351
1.352 return 0;
1.353 }
1.354 @@ -997,12 +985,11 @@
1.355 }
1.356
1.357 static int
1.358 -update_system(const char *install_root, struct razor_relocations *relocations,
1.359 - struct razor_transaction *trans, struct razor_set *system,
1.360 - struct razor_set *next, const char *verb)
1.361 +update_system(struct razor_root *root, struct razor_relocations *relocations,
1.362 + struct razor_transaction *trans, struct razor_set *next,
1.363 + const char *verb)
1.364 {
1.365 - struct razor_root *root;
1.366 - struct razor_set *set;
1.367 + struct razor_set *system, *set;
1.368 struct razor_atomic *atomic;
1.369 struct razor_install_iterator *ii;
1.370 int r, retval = 0;
1.371 @@ -1011,6 +998,8 @@
1.372
1.373 description = razor_concat(verb, " packages", NULL);
1.374
1.375 + system = razor_set_ref(razor_root_get_system_set(root));
1.376 +
1.377 ii = razor_set_create_install_iterator(system, next);
1.378
1.379 do {
1.380 @@ -1018,20 +1007,10 @@
1.381
1.382 atomic = razor_atomic_open(description);
1.383
1.384 - root = razor_root_open(install_root, atomic);
1.385 - if (root == NULL) {
1.386 - fprintf(stderr, "%s\n",
1.387 - razor_atomic_get_error_msg(atomic));
1.388 - razor_atomic_destroy(atomic);
1.389 - retval = 1;
1.390 - break;
1.391 - }
1.392 -
1.393 r = update_packages(trans, ii, system, next, atomic,
1.394 relocations, RAZOR_STAGE_SCRIPTS_PRE);
1.395 if (r < 0) {
1.396 fprintf(stderr, "%s aborted\n", verb);
1.397 - razor_root_close(root);
1.398 retval = r;
1.399 } else {
1.400 razor_install_iterator_seek(ii, pos);
1.401 @@ -1040,12 +1019,11 @@
1.402
1.403 if (r == 1) {
1.404 set = razor_install_iterator_commit_set(ii);
1.405 - razor_root_update(root, set);
1.406 + razor_root_update(root, set, atomic);
1.407 razor_set_unref(set);
1.408 } else if (r == 0)
1.409 - razor_root_update(root, next);
1.410 + razor_root_update(root, next, atomic);
1.411
1.412 - (void)razor_root_commit(root);
1.413 retval = razor_atomic_commit(atomic);
1.414 if (retval)
1.415 fprintf(stderr, "%s\n",
1.416 @@ -1061,6 +1039,8 @@
1.417 razor_atomic_destroy(atomic);
1.418 } while(!retval && r == 1);
1.419
1.420 + razor_set_unref(system);
1.421 +
1.422 free(description);
1.423
1.424 return retval;
1.425 @@ -1069,10 +1049,12 @@
1.426 static int
1.427 command_install_or_update(int argc, const char *argv[], int do_update)
1.428 {
1.429 - struct razor_relocations *relocations=NULL;
1.430 + struct razor_relocations *relocations = NULL;
1.431 struct razor_set *system, *upstream, *next, *set;
1.432 struct razor_transaction *trans;
1.433 + struct razor_error *error = NULL;
1.434 struct razor_atomic *atomic;
1.435 + struct razor_root *root;
1.436 int i, retval, len, dependencies = 1;
1.437 char *oldpath;
1.438
1.439 @@ -1104,18 +1086,18 @@
1.440 break;
1.441 }
1.442
1.443 + upstream = razor_set_open(rawhide_repo_filename, 0, &error);
1.444 + if (upstream == NULL) {
1.445 + fprintf(stderr, "%s\n", razor_error_get_msg(error));
1.446 + razor_error_free(error);
1.447 + return 1;
1.448 + }
1.449 +
1.450 if (do_update)
1.451 atomic = razor_atomic_open("Update packages");
1.452 else
1.453 atomic = razor_atomic_open("Install packages");
1.454
1.455 - upstream = razor_set_open(rawhide_repo_filename, atomic);
1.456 - if (upstream == NULL) {
1.457 - fprintf(stderr, "%s\n", razor_atomic_get_error_msg(atomic));
1.458 - razor_atomic_destroy(atomic);
1.459 - return 1;
1.460 - }
1.461 -
1.462 if (relocations) {
1.463 set = relocate_packages(upstream, atomic, relocations);
1.464 if (set == NULL) {
1.465 @@ -1129,8 +1111,18 @@
1.466 upstream = set;
1.467 }
1.468
1.469 - system = razor_root_open_read_only(install_root, atomic);
1.470 + root = razor_root_open(install_root, &error);
1.471 + if (root == NULL) {
1.472 + fprintf(stderr, "%s\n", razor_error_get_msg(error));
1.473 + razor_error_free(error);
1.474 + razor_atomic_destroy(atomic);
1.475 + razor_set_unref(upstream);
1.476 + if (relocations)
1.477 + razor_relocations_destroy(relocations);
1.478 + return 1;
1.479 + }
1.480
1.481 + system = razor_root_get_system_set(root);
1.482 trans = razor_transaction_create(system, upstream);
1.483
1.484 if (i == argc && do_update)
1.485 @@ -1142,9 +1134,11 @@
1.486 if (mark_packages_for_update(trans, upstream, argv[i]) == 0) {
1.487 fprintf(stderr, "no package matched %s\n", argv[i]);
1.488 razor_transaction_destroy(trans);
1.489 + razor_root_close(root);
1.490 razor_set_unref(upstream);
1.491 - razor_set_unref(system);
1.492 razor_atomic_destroy(atomic);
1.493 + if (relocations)
1.494 + razor_relocations_destroy(relocations);
1.495 return 1;
1.496 }
1.497 }
1.498 @@ -1154,8 +1148,10 @@
1.499 if (razor_transaction_describe(trans) > 0) {
1.500 razor_transaction_destroy(trans);
1.501 razor_set_unref(upstream);
1.502 - razor_set_unref(system);
1.503 + razor_root_close(root);
1.504 razor_atomic_destroy(atomic);
1.505 + if (relocations)
1.506 + razor_relocations_destroy(relocations);
1.507 return 1;
1.508 }
1.509 }
1.510 @@ -1166,8 +1162,10 @@
1.511 fprintf(stderr, "%s\n", razor_atomic_get_error_msg(atomic));
1.512 razor_transaction_destroy(trans);
1.513 razor_set_unref(upstream);
1.514 - razor_set_unref(system);
1.515 + razor_root_close(root);
1.516 razor_atomic_destroy(atomic);
1.517 + if (relocations)
1.518 + razor_relocations_destroy(relocations);
1.519 return 1;
1.520 }
1.521
1.522 @@ -1179,22 +1177,24 @@
1.523 razor_set_unref(next);
1.524 razor_transaction_destroy(trans);
1.525 razor_set_unref(upstream);
1.526 - razor_set_unref(system);
1.527 + razor_root_close(root);
1.528 razor_atomic_destroy(atomic);
1.529 + if (relocations)
1.530 + razor_relocations_destroy(relocations);
1.531 return 1;
1.532 }
1.533
1.534 - retval = update_system(install_root, relocations, trans, system, next,
1.535 + retval = update_system(root, relocations, trans, next,
1.536 do_update ? "Update" : "Install");
1.537
1.538 razor_set_unref(upstream);
1.539 + razor_root_close(root);
1.540
1.541 razor_transaction_destroy(trans);
1.542 if (relocations)
1.543 razor_relocations_destroy(relocations);
1.544
1.545 razor_set_unref(next);
1.546 - razor_set_unref(system);
1.547
1.548 return retval;
1.549 }
1.550 @@ -1220,6 +1220,7 @@
1.551 static int
1.552 command_download(int argc, const char *argv[])
1.553 {
1.554 + struct razor_error *error = NULL;
1.555 struct razor_atomic *atomic;
1.556 struct razor_set *set;
1.557 struct razor_package_iterator *pi;
1.558 @@ -1228,6 +1229,13 @@
1.559 char url[256], file[256];
1.560 int matches = 0;
1.561
1.562 + set = razor_set_open(rawhide_repo_filename, 0, &error);
1.563 + if (set == NULL) {
1.564 + fprintf(stderr, "%s\n", razor_error_get_msg(error));
1.565 + razor_error_free(error);
1.566 + return 1;
1.567 + }
1.568 +
1.569 atomic = razor_atomic_open("Download packages");
1.570
1.571 if (razor_atomic_create_dir(atomic, "rpms",
1.572 @@ -1237,8 +1245,6 @@
1.573 return 1;
1.574 }
1.575
1.576 - set = razor_set_open(rawhide_repo_filename, atomic);
1.577 -
1.578 if (razor_atomic_commit(atomic)) {
1.579 fprintf(stderr, "%s\n", razor_atomic_get_error_msg(atomic));
1.580 razor_atomic_destroy(atomic);
1.581 @@ -1279,18 +1285,17 @@
1.582 static int
1.583 command_info(int argc, const char *argv[])
1.584 {
1.585 - struct razor_atomic *atomic;
1.586 + struct razor_error *error = NULL;
1.587 struct razor_set *set;
1.588 struct razor_package_iterator *pi;
1.589 struct razor_package *package;
1.590 const char *pattern = argv[0], *name, *version, *arch;
1.591 const char *summary, *description, *url, *license;
1.592
1.593 - atomic = razor_atomic_open("Package info");
1.594 - set = razor_root_open_read_only(install_root, atomic);
1.595 + set = razor_root_open_read_only(install_root, &error);
1.596 if (set == NULL) {
1.597 - fprintf(stderr, "%s\n", razor_atomic_get_error_msg(atomic));
1.598 - razor_atomic_destroy(atomic);
1.599 + fprintf(stderr, "%s\n", razor_error_get_msg(error));
1.600 + razor_error_free(error);
1.601 return 1;
1.602 }
1.603
1.604 @@ -1322,7 +1327,6 @@
1.605 }
1.606 razor_package_iterator_destroy(pi);
1.607 razor_set_unref(set);
1.608 - razor_atomic_destroy(atomic);
1.609
1.610 return 0;
1.611 }
1.612 @@ -1332,7 +1336,7 @@
1.613 static int
1.614 command_search(int argc, const char *argv[])
1.615 {
1.616 - struct razor_atomic *atomic;
1.617 + struct razor_error *error = NULL;
1.618 struct razor_set *set;
1.619 struct razor_package_iterator *pi;
1.620 struct razor_package *package;
1.621 @@ -1347,14 +1351,12 @@
1.622
1.623 snprintf(pattern, sizeof pattern, "*%s*", argv[0]);
1.624
1.625 - atomic = razor_atomic_open("Search packages");
1.626 - set = razor_set_open(rawhide_repo_filename, atomic);
1.627 - if (set == NULL || razor_atomic_commit(atomic)) {
1.628 - fprintf(stderr, "%s\n", razor_atomic_get_error_msg(atomic));
1.629 - razor_atomic_destroy(atomic);
1.630 + set = razor_set_open(rawhide_repo_filename, 0, &error);
1.631 + if (set == NULL) {
1.632 + fprintf(stderr, "%s\n", razor_error_get_msg(error));
1.633 + razor_error_free(error);
1.634 return 1;
1.635 }
1.636 - razor_atomic_destroy(atomic);
1.637
1.638 pi = razor_package_iterator_create(set);
1.639 while (razor_package_iterator_next(pi, &package,