From: Michael Tremer Date: Fri, 18 Jun 2021 17:08:47 +0000 (+0000) Subject: Revert "pakfire: Automatically refresh repositories when initializing" X-Git-Tag: 0.9.28~1229 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=f58fe6a1afb83ebe930633c9e7de98609de4e913;p=pakfire.git Revert "pakfire: Automatically refresh repositories when initializing" This reverts commit fb12e94b65afb958698b9e4bffb1997286ad4406. Signed-off-by: Michael Tremer --- diff --git a/contrib/config/distros/ipfire3.conf b/contrib/config/distros/ipfire3.conf index cc2e6a914..d37898cbb 100644 --- a/contrib/config/distros/ipfire3.conf +++ b/contrib/config/distros/ipfire3.conf @@ -35,7 +35,7 @@ baseurl = https://pakfire.ipfire.org/repositories/ipfire3/unstable/%{arch} mirrors = https://pakfire.ipfire.org/distro/ipfire3/repo/unstable/mirrorlist?arch=%{arch} priority = 300 -[repo:@local] +[repo:local] description = IPFire 3 locally built packages baseurl = file:///var/lib/pakfire/local/ipfire3 priority = 1000 diff --git a/src/libpakfire/repo.c b/src/libpakfire/repo.c index d562a2096..4c0ff6d36 100644 --- a/src/libpakfire/repo.c +++ b/src/libpakfire/repo.c @@ -225,12 +225,9 @@ static int pakfire_repo_download_database(PakfireRepo repo, const char* database return pakfire_repo_retrieve(repo, title, database_url, cache_path, 0); } -static int pakfire_repo_read_metadata(PakfireRepo repo, const char* path) { +static int pakfire_repo_read_metadata(PakfireRepo repo, const char* path, int refresh) { int r; - // Do not refresh when offline - const int refresh = !pakfire_has_flag(repo->pakfire, PAKFIRE_FLAGS_OFFLINE); - struct json_object* json = pakfire_json_parse_from_file(repo->pakfire, path); if (!json) { // Ignore metadata not existing when not on refresh mode @@ -330,7 +327,7 @@ static int pakfire_repo_refresh_metadata(PakfireRepo repo, const int force) { return r; // Parse metadata - r = pakfire_repo_read_metadata(repo, repo->appdata->metadata); + r = pakfire_repo_read_metadata(repo, repo->appdata->metadata, 1); if (r) { unlink(repo->appdata->metadata); return r; @@ -435,7 +432,7 @@ PAKFIRE_EXPORT PakfireRepo pakfire_repo_create(Pakfire pakfire, const char* name goto ERROR; // Try loading metadata - r = pakfire_repo_read_metadata(repo, repo->appdata->metadata); + r = pakfire_repo_read_metadata(repo, repo->appdata->metadata, 0); if (r) { ERROR(repo->pakfire, "Could not initialize repository metadata: %s\n", strerror(errno)); diff --git a/src/pakfire/base.py b/src/pakfire/base.py index 07cd0f77c..497a7dfcb 100644 --- a/src/pakfire/base.py +++ b/src/pakfire/base.py @@ -40,11 +40,18 @@ class Pakfire(_pakfire.Pakfire): Called to initialize this Pakfire instance when the context is entered. """ + # Refresh repositories + self.refresh_repositories() + return PakfireContext(self) def __exit__(self, type, value, traceback): pass + def refresh_repositories(self, force=False): + for repo in self.repos: + repo.refresh(force=force) + class PakfireContext(object): """