g_hash_table_size(old_metadata));
}
+
// Copy groupfile
gchar *groupfile = NULL;
g_critical("Error while copy %s -> %s", src_groupfile, groupfile);
}
+
+ // Copy update info
+
+ char *updateinfo = NULL;
+
+ if (cmd_options->update && cmd_options->keep_all_metadata &&
+ old_metadata_location && old_metadata_location->updateinfo_href)
+ {
+ gchar *src_updateinfo = old_metadata_location->updateinfo_href;
+ updateinfo = g_strconcat(tmp_out_repo,
+ cr_get_filename(src_updateinfo),
+ NULL);
+
+ g_debug("Copy updateinfo %s -> %s", src_updateinfo, updateinfo);
+
+ if (cr_better_copy_file(src_updateinfo, updateinfo) != CR_COPY_OK)
+ g_critical("Error while copy %s -> %s", src_updateinfo, updateinfo);
+ }
+
cr_free_metadata_location(old_metadata_location);
old_metadata_location = NULL;
cr_RepomdRecord oth_db_rec = NULL;
cr_RepomdRecord groupfile_rec = NULL;
cr_RepomdRecord compressed_groupfile_rec = NULL;
+ cr_RepomdRecord updateinfo_rec = NULL;
// XML
}
+ // Updateinfo
+
+ if (updateinfo) {
+ gchar *updateinfo_name;
+ updateinfo_name = g_strconcat("repodata/",
+ cr_get_filename(updateinfo),
+ NULL);
+ updateinfo_rec = cr_new_repomdrecord(updateinfo_name);
+ cr_fill_repomdrecord(out_dir, updateinfo_rec, &(cmd_options->checksum_type));
+ g_free(updateinfo_name);
+ }
+
+
// Sqlite db
if (!cmd_options->no_database) {
cr_rename_repomdrecord_file(out_dir, oth_db_rec);
cr_rename_repomdrecord_file(out_dir, groupfile_rec);
cr_rename_repomdrecord_file(out_dir, compressed_groupfile_rec);
+ cr_rename_repomdrecord_file(out_dir, updateinfo_rec);
}
oth_db_rec,
groupfile_rec,
compressed_groupfile_rec,
- NULL);
+ updateinfo_rec);
gchar *repomd_path = g_strconcat(out_repo, "repomd.xml", NULL);
cr_free_repomdrecord(oth_db_rec);
cr_free_repomdrecord(groupfile_rec);
cr_free_repomdrecord(compressed_groupfile_rec);
+ cr_free_repomdrecord(updateinfo_rec);
// Clean up
g_free(fil_db_filename);
g_free(oth_db_filename);
g_free(groupfile);
+ g_free(updateinfo);
free_options(cmd_options);
cr_package_parser_shutdown();