# HG changeset patch # User Kristian H?gsberg # Date 1215568776 14400 # Node ID 1c52b84bfc3313b151d8154500357844f1be2d99 # Parent df5dc9230730843b6068fbaf153bf161ea0d5feb Always open all three rzdb files when we're merging package sets. diff -r df5dc9230730 -r 1c52b84bfc33 librazor/root.c --- a/librazor/root.c Tue Jul 08 21:56:53 2008 -0400 +++ b/librazor/root.c Tue Jul 08 21:59:36 2008 -0400 @@ -103,6 +103,7 @@ razor_root_open(const char *root) { struct razor_root *image; + char details_path[PATH_MAX], files_path[PATH_MAX]; assert (root != NULL); @@ -130,8 +131,15 @@ snprintf(image->path, sizeof image->path, "%s%s/%s", root, razor_root_path, system_repo_filename); + snprintf(details_path, sizeof details_path, + "%s%s/%s", root, razor_root_path, system_repo_details_filename); + snprintf(files_path, sizeof files_path, + "%s%s/%s", root, razor_root_path, system_repo_files_filename); + image->system = razor_set_open(image->path); - if (image->system == NULL) { + if (image->system == NULL || + razor_set_open_details(image->system, details_path) || + razor_set_open_files(image->system, files_path)) { unlink(image->new_path); close(image->fd); free(image); diff -r df5dc9230730 -r 1c52b84bfc33 src/main.c --- a/src/main.c Tue Jul 08 21:56:53 2008 -0400 +++ b/src/main.c Tue Jul 08 21:59:36 2008 -0400 @@ -497,8 +497,15 @@ int i, errors; set = razor_set_open(repo_filename); + if (set == NULL || + razor_set_open_details(set, "system-details.rzdb") || + razor_set_open_files(set, "system-files.rzdb")) + return 1; + upstream = razor_set_open(rawhide_repo_filename); - if (set == NULL || upstream == NULL) + if (upstream == NULL || + razor_set_open_details(upstream, "rawhide-details.rzdb") || + razor_set_open_files(upstream, "rawhide-files.rzdb")) return 1; trans = razor_transaction_create(set, upstream); @@ -763,6 +770,14 @@ system = razor_root_get_system_set(root); upstream = razor_set_open(rawhide_repo_filename); + if (upstream == NULL || + razor_set_open_details(upstream, "rawhide-details.rzdb") || + razor_set_open_files(upstream, "rawhide-files.rzdb")) { + fprintf(stderr, "couldn't open rawhide repo\n"); + razor_root_close(root); + return 1; + } + trans = razor_transaction_create(system, upstream); for (; i < argc; i++) {