From: Michael Tremer Date: Wed, 22 Sep 2021 10:35:19 +0000 (+0000) Subject: pakfire: Refresh repositories only once X-Git-Tag: 0.9.28~937 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=4281bb57d2d255bda6fdd47d7335bdc4ba3eabf3;p=pakfire.git pakfire: Refresh repositories only once Signed-off-by: Michael Tremer --- diff --git a/src/libpakfire/pakfire.c b/src/libpakfire/pakfire.c index f0b1b65ec..46ef3a0a0 100644 --- a/src/libpakfire/pakfire.c +++ b/src/libpakfire/pakfire.c @@ -1390,10 +1390,7 @@ struct pakfire_repo* pakfire_get_installed_repo(struct pakfire* pakfire) { static int pakfire_search_dep(struct pakfire* pakfire, Id type, const char* what, int flags, struct pakfire_packagelist** list) { - // Refresh repositories - int r = pakfire_refresh(pakfire, 0); - if (r) - return r; + int r; // Get the pool ready pakfire_pool_apply_changes(pakfire); @@ -1443,11 +1440,7 @@ PAKFIRE_EXPORT int pakfire_search(struct pakfire* pakfire, const char* what, int Queue matches; Dataiterator di; int dflags = 0; - - // Refresh repositories - int r = pakfire_refresh(pakfire, 0); - if (r) - return r; + int r; // Get the pool ready pakfire_pool_apply_changes(pakfire); @@ -1687,11 +1680,6 @@ static int pakfire_perform_transaction(struct pakfire* pakfire, int solver_flags return 1; } - // Refresh repositories - r = pakfire_refresh(pakfire, 0); - if (r) - goto ERROR; - // Create a new request r = pakfire_request_create(&request, pakfire, solver_flags); if (r) @@ -1795,11 +1783,6 @@ static int pakfire_perform_transaction_simple(struct pakfire* pakfire, int solve struct pakfire_problem** problems = NULL; int r = 1; - // Refresh repositories - r = pakfire_refresh(pakfire, 0); - if (r) - goto ERROR; - // Create a new request r = pakfire_request_create(&request, pakfire, solver_flags); if (r) @@ -1984,11 +1967,6 @@ int pakfire_build_setup(struct pakfire* pakfire) { char path[PATH_MAX]; int r; - // Refresh all repositories - r = pakfire_refresh(pakfire, 0); - if (r) - return r; - // Mount ccache if (!pakfire_has_flag(pakfire, PAKFIRE_FLAGS_DISABLE_CCACHE)) { r = pakfire_make_cache_path(pakfire, path, "%s", "ccache"); diff --git a/src/libpakfire/repo.c b/src/libpakfire/repo.c index 69f1a6e6a..f37e3add1 100644 --- a/src/libpakfire/repo.c +++ b/src/libpakfire/repo.c @@ -245,6 +245,11 @@ int pakfire_repo_import(struct pakfire* pakfire, struct pakfire_config* config) } } + // Refresh repositories + r = pakfire_refresh(pakfire, 0); + if (r) + goto ERROR; + ERROR: for (char** section = sections; *section; section++) free(*section);