char* baseurl;
char* keyfile;
+ char* metadata;
+
// Database filename
char database[NAME_MAX];
goto ERROR;
}
+ // Skip remaining initialization for "virtual" repositories
+ if (*name == '@')
+ return repo;
+
+ // Make path for metadata
+ repo->appdata->metadata = pakfire_make_cache_path(
+ repo->pakfire, "repodata/%s/repomd.json", pakfire_repo_get_name(repo));
+ if (!repo->appdata->metadata)
+ goto ERROR;
+
// Make path to mirrorlist
repo->appdata->mirrorlist = pakfire_make_cache_path(
repo->pakfire, "repodata/%s/mirrorlist", pakfire_repo_get_name(repo));
+ if (!repo->appdata->mirrorlist)
+ goto ERROR;
+
+ // Try loading metadata
+ int r = pakfire_repo_read_metadata(repo, repo->appdata->metadata);
+ if (r) {
+ ERROR(repo->pakfire, "Could not initialize repository metadata: %s\n",
+ strerror(errno));
+ goto ERROR;
+ }
return repo;