summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/add.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/src/add.c b/src/add.c
index 4d31b87..17935c8 100644
--- a/src/add.c
+++ b/src/add.c
@@ -63,7 +63,7 @@ static int add_main(void *ctx, struct apk_database *db, int argc, char **argv)
struct apk_package *virtpkg = NULL;
struct apk_dependency virtdep;
struct apk_dependency *deps;
- int i, r = 0, num_deps = 0;
+ int i, r = 0, num_deps = 0, errors = 0;
if (actx->virtpkg) {
if (non_repository_check(db))
@@ -136,10 +136,12 @@ static int add_main(void *ctx, struct apk_database *db, int argc, char **argv)
} else {
apk_error("Unable to install '%s': %d",
deps[i].name->name, r);
- if (!(apk_flags & APK_FORCE))
- goto err;
+ errors++;
}
}
+ if (errors && !(apk_flags & APK_FORCE))
+ goto err;
+
r = apk_state_commit(state, db);
err:
if (state != NULL)