]> git.ipfire.org Git - people/stevee/pakfire.git/commitdiff
Revert "pakfire: Automatically refresh repositories when initializing"
authorMichael Tremer <michael.tremer@ipfire.org>
Fri, 18 Jun 2021 17:08:47 +0000 (17:08 +0000)
committerMichael Tremer <michael.tremer@ipfire.org>
Fri, 18 Jun 2021 17:08:47 +0000 (17:08 +0000)
This reverts commit fb12e94b65afb958698b9e4bffb1997286ad4406.

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
contrib/config/distros/ipfire3.conf
src/libpakfire/repo.c
src/pakfire/base.py

index cc2e6a914250091faf9386877f0e9aecb9232374..d37898cbb2f93bfc4e7dd438425aef7f57464913 100644 (file)
@@ -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
index d562a20965b6c2a6a3c3308d4e094aa4ebf459d5..4c0ff6d36a4601e2e2d6e2c143d51a549075ae0f 100644 (file)
@@ -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));
index 07cd0f77c70b10fa320a6aebccfd48fcc6c8cd49..497a7dfcb945362e2885dea7844513ad6e4cf144 100644 (file)
@@ -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):
        """