summaryrefslogtreecommitdiff
path: root/src/app_update.c
diff options
context:
space:
mode:
authorTimo Teräs <timo.teras@iki.fi>2022-12-28 13:47:29 +0200
committerTimo Teräs <timo.teras@iki.fi>2022-12-28 14:59:32 +0200
commit22cc01645d93b6cf97e8d154f04c7ce3c5d74597 (patch)
treea3a60ba9cb058f0a5d6f7bd8d80ea461a6f57982 /src/app_update.c
parent067c17312418937b6fc81cbba78349ce2566f942 (diff)
downloadapk-tools-22cc01645d93b6cf97e8d154f04c7ce3c5d74597.tar.gz
apk-tools-22cc01645d93b6cf97e8d154f04c7ce3c5d74597.tar.bz2
apk-tools-22cc01645d93b6cf97e8d154f04c7ce3c5d74597.tar.xz
apk-tools-22cc01645d93b6cf97e8d154f04c7ce3c5d74597.zip
db: handle repository index update/opening errors more consistently
Track separately autoupdate failure, and opening errors. And print only one error per index at maximum. This makes update with or without --no-cache consistent. Ignore errors from local paths as builders often refer to a local path that is being built, but might be non-existent when building the first package. ref #10726
Diffstat (limited to 'src/app_update.c')
-rw-r--r--src/app_update.c12
1 files changed, 7 insertions, 5 deletions
diff --git a/src/app_update.c b/src/app_update.c
index e495cbb..680b2f5 100644
--- a/src/app_update.c
+++ b/src/app_update.c
@@ -22,7 +22,7 @@ static int update_main(void *ctx, struct apk_database *db, struct apk_string_arr
char buf[32] = "OK:";
if (apk_verbosity < 1)
- return db->repo_update_errors;
+ return db->repositories.unavailable + db->repositories.stale;
for (i = 0; i < db->num_repos; i++) {
repo = &db->repos[i];
@@ -36,13 +36,15 @@ static int update_main(void *ctx, struct apk_database *db, struct apk_string_arr
URL_PRINTF(urlp));
}
- if (db->repo_update_errors != 0)
- snprintf(buf, sizeof(buf), "%d errors;",
- db->repo_update_errors);
+ if (db->repositories.unavailable || db->repositories.stale)
+ snprintf(buf, sizeof(buf), "%d unavailable, %d stale;",
+ db->repositories.unavailable,
+ db->repositories.stale);
+
apk_message("%s %d distinct packages available", buf,
db->available.packages.num_items);
- return db->repo_update_errors;
+ return db->repositories.unavailable + db->repositories.stale;
}
static struct apk_applet apk_update = {