diff options
Diffstat (limited to 'src/app_cache.c')
-rw-r--r-- | src/app_cache.c | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/src/app_cache.c b/src/app_cache.c index 3a68938..09d9adf 100644 --- a/src/app_cache.c +++ b/src/app_cache.c @@ -198,11 +198,19 @@ static int cache_main(void *ctx, struct apk_database *db, struct apk_string_arra return -EINVAL; if (!apk_db_cache_active(db)) { - apk_error("Package cache is not enabled.\n"); + apk_error("Package cache is not enabled."); r = 2; goto err; } + if ((actions & CACHE_DOWNLOAD) && (cctx->solver_flags || cctx->add_dependencies)) { + if (db->repositories.stale || db->repositories.unavailable) { + apk_error("Not continuing due to stale/unavailable repositories."); + r = 3; + goto err; + } + } + if (r == 0 && (actions & CACHE_CLEAN)) r = cache_clean(db); if (r == 0 && (actions & CACHE_DOWNLOAD)) |