diff options
author | Timo Teräs <timo.teras@iki.fi> | 2022-12-28 13:47:29 +0200 |
---|---|---|
committer | Timo Teräs <timo.teras@iki.fi> | 2022-12-28 14:59:32 +0200 |
commit | 22cc01645d93b6cf97e8d154f04c7ce3c5d74597 (patch) | |
tree | a3a60ba9cb058f0a5d6f7bd8d80ea461a6f57982 /src/app_update.c | |
parent | 067c17312418937b6fc81cbba78349ce2566f942 (diff) | |
download | apk-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.c | 12 |
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 = { |