apk3: unversioned virtual providers are broken
I created 3 packages, testp
, testq
, and testr
. The first two provide an unversioned name foopkg
while the latter depends on it.
Trying to install testr
behaves correctly at first:
root@cbuild: ~$ apk add testr
ERROR: unable to select packages:
foopkg (virtual):
note: please select one of the 'provided by' packages explicitly
provided by: testp testq
required by: testr-0.1-r0[foopkg]
I get asked to select one of the providers. I install one:
root@cbuild: ~$ apk add testp
The following NEW packages will be installed:
testp
After this operation, 4096 B of additional disk space will be used.
Do you want to continue [Y/n]? y
(1/1) Installing testp (0.1-r0)
OK: 606 MiB in 57 packages
However, when I try to install testr
again after that, I get the following:
root@cbuild: ~$ apk add testr
ERROR: unable to select packages:
testp-0.1-r0:
breaks: testr-0.1-r0[foopkg]
satisfies: world[testp]
Installing the other provider as well breaks in the same way:
root@cbuild: ~$ apk add testq
The following NEW packages will be installed:
testq
After this operation, 4096 B of additional disk space will be used.
Do you want to continue [Y/n]? y
(1/1) Installing testq (0.1-r0)
OK: 606 MiB in 58 packages
root@cbuild: ~$ apk add testr
ERROR: unable to select packages:
testp-0.1-r0:
breaks: testr-0.1-r0[foopkg]
satisfies: world[testp]
testq-0.1-r0:
breaks: testr-0.1-r0[foopkg]
satisfies: world[testq]
The dependency specifications are fine:
root@cbuild: ~$ apk info --provides testp
testp-0.1-r0 provides:
foopkg
root@cbuild: ~$ apk info --provides testq
testq-0.1-r0 provides:
foopkg
root@cbuild: ~$ apk info --depends testr
testr-0.1-r0 depends on:
foopkg
Specifying the provider at add time does not help either:
root@cbuild: ~$ apk add testr testp
ERROR: unable to select packages:
testp-0.1-r0:
breaks: testr-0.1-r0[foopkg]
satisfies: world[testp]
testq-0.1-r0:
breaks: testr-0.1-r0[foopkg]
satisfies: world[testq]