summaryrefslogtreecommitdiff
path: root/src/add.c
diff options
context:
space:
mode:
authorTimo Teräs <timo.teras@iki.fi>2012-02-29 08:53:43 +0200
committerTimo Teräs <timo.teras@iki.fi>2012-02-29 08:53:43 +0200
commitf27f194d92c952da337205c0176f68a13f0cba7c (patch)
treeac6d7d92c024589003b7e30493ad0d3ff0662c0d /src/add.c
parent2e8fe783a11bcd6ccc7f1a08d8b38eb76d87dc35 (diff)
downloadapk-tools-f27f194d92c952da337205c0176f68a13f0cba7c.tar.gz
apk-tools-f27f194d92c952da337205c0176f68a13f0cba7c.tar.bz2
apk-tools-f27f194d92c952da337205c0176f68a13f0cba7c.tar.xz
apk-tools-f27f194d92c952da337205c0176f68a13f0cba7c.zip
solver, test: make conflicts unconditional
Solver will now never report partial solution where a conflict constraint is not satisfied. The is because with --force we might install the partial solution; and if conflicted packages were to be installed we might have extra trouble.
Diffstat (limited to 'src/add.c')
-rw-r--r--src/add.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/add.c b/src/add.c
index 2afe834..f4d4413 100644
--- a/src/add.c
+++ b/src/add.c
@@ -75,8 +75,8 @@ static int add_main(void *ctx, struct apk_database *db, int argc, char **argv)
return -1;
apk_blob_pull_dep(&b, db, &virtdep);
- if (APK_BLOB_IS_NULL(b) ||
- virtdep.result_mask != APK_DEPMASK_REQUIRE ||
+ if (APK_BLOB_IS_NULL(b) || virtdep.conflict ||
+ virtdep.result_mask != APK_DEPMASK_ANY ||
virtdep.version != &apk_null_blob) {
apk_error("%s: bad package specifier");
return -1;