tagged `@edge` repo causes "unsatisfiable constraints" on non-edge package with no edge packages installed
Using Alpine 3.4 and just adding the edge repo under the @edge tag causes musl-dev to fail to update musl. I was originally installing libc-dev but its dependency musl-dev causes the problem because the installed version of musl is older than the version that is in the 3.4 repo.
(testing was done in the docker image, but should have no effect on the bug)
- apk version: 2.6.7
- musl in image: 1.1.14-r12
- musl and musl-dev in 3.4 apk repo: 1.1.14-r13
- add edge repo echo @edge http://dl-cdn.alpinelinux.org/alpine/edge/main’ >> /etc/apk/repositories
- zero packages installed from edge
- I need edge for nghttp2-dev, but it is not installed in these examples
- try adding musl-dev
- doing an apk upgrade before adding musl-dev does work, but can update other packages too, rather than just the dependencies
Ensure newest image:
$ docker pull alpine:3.4
3.4: Pulling from library/alpine
3690ec4760f9: Pull complete
Digest: sha256:1354db23ff5478120c980eca1611a51c9f2b88b61f24283ee8200bf9a54f2e5c
Status: Downloaded newer image for alpine:3.4
Test that not having @edge repo works:
$ docker run -it --rm alpine:3.4 sh
/ # cat /etc/alpine-release
3.4.4
/ # apk --version
apk-tools 2.6.7, compiled for x86_64.
/ # apk info -v
WARNING: Ignoring APKINDEX.167438ca.tar.gz: No such file or directory
WARNING: Ignoring APKINDEX.a2e6dac0.tar.gz: No such file or directory
musl-1.1.14-r12
busybox-1.24.2-r11
alpine-baselayout-3.0.3-r0
alpine-keys-1.1-r0
zlib-1.2.8-r2
libcrypto1.0-1.0.2j-r0
libssl1.0-1.0.2j-r0
apk-tools-2.6.7-r0
scanelf-1.1.6-r0
musl-utils-1.1.14-r12
libc-utils-0.7-r0
/ # apk add --no-cache musl-dev
fetch http://dl-cdn.alpinelinux.org/alpine/v3.4/main/x86_64/APKINDEX.tar.gz
fetch http://dl-cdn.alpinelinux.org/alpine/v3.4/community/x86_64/APKINDEX.tar.gz
(1/3) Upgrading musl (1.1.14-r12 -> 1.1.14-r13)
(2/3) Upgrading musl-utils (1.1.14-r12 -> 1.1.14-r13)
(3/3) Installing musl-dev (1.1.14-r13)
Executing busybox-1.24.2-r11.trigger
OK: 16 MiB in 12 packages
Now try adding the `edge repo, but don't install anything from it, just update musl-dev
$ docker run -it --rm alpine:3.4 sh / # # versions and packages installed are still the same / # echo '`edge http://dl-cdn.alpinelinux.org/alpine/edge/main’ >> /etc/apk/repositories / \# apk add —no-cache musl-dev fetch http://dl-cdn.alpinelinux.org/alpine/v3.4/main/x86\_64/APKINDEX.tar.gz fetch http://dl-cdn.alpinelinux.org/alpine/v3.4/community/x86\_64/APKINDEX.tar.gz fetch http://dl-cdn.alpinelinux.org/alpine/edge/main/x86\_64/APKINDEX.tar.gz ERROR: unsatisfiable constraints: musl-1.1.14-r12: breaks: musl-dev-1.1.14-r13\[musl=1.1.14-r13\] satisfies: musl-utils-1.1.14-r12\[musl=1.1.14-r12\] musl-utils-1.1.14-r12\[so:libc.musl-x86\_64.so.1\] libcrypto1.0-1.0.2j-r0\[so:libc.musl-x86\_64.so.1\] zlib-1.2.8-r2\[so:libc.musl-x86\_64.so.1\] apk-tools-2.6.7-r0\[so:libc.musl-x86\_64.so.1\] alpine-baselayout-3.0.3-r0\[so:libc.musl-x86\_64.so.1\] busybox-1.24.2-r11\[so:libc.musl-x86\_64.so.1\] scanelf-1.1.6-r0\[so:libc.musl-x86\_64.so.1\] libssl1.0-1.0.2j-r0\[so:libc.musl-x86\_64.so.1\] / \#
(from redmine: issue id 6375, created on 2016-10-21)