summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/commit.c3
-rw-r--r--test/provides.repo35
-rw-r--r--test/provides12.test8
3 files changed, 45 insertions, 1 deletions
diff --git a/src/commit.c b/src/commit.c
index 9efae1f..0c0bb34 100644
--- a/src/commit.c
+++ b/src/commit.c
@@ -456,7 +456,8 @@ static void print_conflicts(struct print_state *ps, struct apk_package *pkg)
if (d->version == &apk_null_blob &&
p->version == &apk_null_blob)
continue;
- if (once && p->pkg == pkg) {
+ if (once && p->pkg == pkg &&
+ p->version == d->version) {
once = 0;
continue;
}
diff --git a/test/provides.repo b/test/provides.repo
index 6418f18..ed14cb7 100644
--- a/test/provides.repo
+++ b/test/provides.repo
@@ -67,3 +67,38 @@ S:1
I:1
p:selfprovided=2
p:selfprovided=3
+
+C:Q1EyN5AdpAOBJWKMR89ppC66aaaaj=
+P:conflicted-provider-a
+V:0.1
+S:1
+I:1
+p:conflicted-provider
+
+C:Q1EyN5AdpAOBJWKMR89ppC66bbbbj=
+P:conflicted-provider-b
+V:0.1
+S:1
+I:1
+p:conflicted-provider
+
+C:Q1EyN5AdpAOBJWKMR89ppC66ccccj=
+P:conflicted-dep
+V:0.1
+S:1
+I:1
+D:conflicted-provider
+
+C:Q1EyN5AdpAOBJWKMR89ppC66ddddj=
+P:conflicted-parent
+V:0.1
+S:1
+I:1
+D:conflicted-dep
+
+C:Q1Eyd5AdpAOBJWKMR89ppC66bbbbj=
+P:self-provide
+V:0.1
+S:1
+I:1
+p:self-provide
diff --git a/test/provides12.test b/test/provides12.test
new file mode 100644
index 0000000..1bee4f9
--- /dev/null
+++ b/test/provides12.test
@@ -0,0 +1,8 @@
+@ARGS
+--test-repo provides.repo
+add self-provide
+@EXPECT
+ERROR: unsatisfiable constraints:
+ self-provide-0.1:
+ conflicts: self-provide-0.1[self-provide]
+ satisfies: world[self-provide]