// Set baseurl
if (repo->appdata->baseurl)
pakfire_downloader_set_baseurl(repo->downloader, repo->appdata->baseurl);
-
- // Load all mirrors (if the mirrorlist exists)
- if (repo->appdata->mirrorlist && pakfire_path_exists(repo->appdata->mirrorlist)) {
- r = pakfire_mirrorlist_read(repo->appdata->mirrors, repo->appdata->mirrorlist);
- if (r)
- return NULL;
- }
}
return pakfire_downloader_ref(repo->downloader);
if (*name == '@')
return repo;
- // Make path for metadata
- r = pakfire_make_cache_path(pakfire, repo->appdata->metadata, sizeof(repo->appdata->metadata) - 1,
- "repodata/%s/repomd.json", pakfire_repo_get_name(repo));
- if (r < 0)
- goto ERROR;
-
// Make path to mirrorlist
r = pakfire_make_cache_path(pakfire, repo->appdata->mirrorlist, sizeof(repo->appdata->mirrorlist) - 1,
"repodata/%s/mirrorlist", pakfire_repo_get_name(repo));
if (r < 0)
goto ERROR;
+ // Try loading the mirrorlist
+ r = pakfire_mirrorlist_read(repo->appdata->mirrors, repo->appdata->mirrorlist);
+ if (r && errno != ENOENT) {
+ ERROR(repo->pakfire, "Could not read the mirrorlist: %s\n", strerror(errno));
+ goto ERROR;
+ }
+
+ // Make path for metadata
+ r = pakfire_make_cache_path(pakfire, repo->appdata->metadata, sizeof(repo->appdata->metadata) - 1,
+ "repodata/%s/repomd.json", pakfire_repo_get_name(repo));
+ if (r < 0)
+ goto ERROR;
+
// Try loading metadata
r = pakfire_repo_read_metadata(repo, repo->appdata->metadata, 0);
if (r) {