Suggestion: make apk fix state if an .apk is available but has conflicts
I got myself into a corner where gnutls is present but likely the one from Alpine edge, which happens to be the same version as 3.12 but depends on different things.
If I want to install it, apk fix
just says no APK available, indicating it's not in the repos:
$ sudo apk fix gnutls
(1/1) [APK unavailable, skipped] Reinstalling gnutls (3.6.14-r0)
OK: 2539 MiB in 789 packages
However, what is quite misleading about this is that if I download the .apk via apk download
, the error is very different:
# sudo apk add gnutls-3.6.14-r0.apk
ERROR: unsatisfiable constraints:
nettle-3.5.1-r1:
conflicts: nettle-3.6-r0
satisfies: gnutls-3.6.14-r0[so:libhogweed.so.5] gnutls-3.6.14-r0[so:libnettle.so.7]
nettle-3.6-r0:
conflicts: nettle-3.5.1-r1
satisfies: world[so:libhogweed.so.6] world[so:libnettle.so.8]
epiphany-3.36.3-r0[so:libhogweed.so.6] epiphany-3.36.3-r0[so:libnettle.so.8]
xorg-server-xwayland-1.20.8-r3[so:libnettle.so.8]
I think this is what either apk fix
should additionally display, or maybe a shorter version that hints at it like "Only available APK has conflicts, skipped". Not because what it shows right now is technically wrong, but if an .apk with a matching version to fix from is actually in the repos and it can't be done then it'd be way more helpful to actually tell me why rather than just say there is no .apk.