ERROR: script exited with error 0
in some weird cases, like running an arm64v8 container on x86_64 with qemu-user, apk can return script exited with error 0
:
$ podman run --rm -it arm64v8/alpine:3.15
WARNING: image platform (linux/arm64/v8) does not match the expected platform (linux/amd64)
/ # sed -i 's/3.15/3.12/' /etc/apk/repositories
/ # apk upgrade -a
fetch https://dl-cdn.alpinelinux.org/alpine/v3.12/main/aarch64/APKINDEX.tar.gz
fetch https://dl-cdn.alpinelinux.org/alpine/v3.12/community/aarch64/APKINDEX.tar.gz
(1/15) Downgrading musl (1.2.2-r8 -> 1.1.24-r10)
(2/15) Downgrading busybox (1.34.1-r7 -> 1.31.1-r22)
Executing busybox-1.31.1-r22.post-upgrade
(3/15) Downgrading alpine-baselayout (3.2.0-r18 -> 3.2.0-r7)
Executing alpine-baselayout-3.2.0-r7.pre-upgrade
ERROR: alpine-baselayout-3.2.0-r7.pre-upgrade: script exited with error 0
Executing alpine-baselayout-3.2.0-r7.post-upgrade
(4/15) Downgrading alpine-keys (2.4-r1 -> 2.4-r0)
i narrowed it down to this line: https://gitlab.alpinelinux.org/alpine/apk-tools/-/blob/v2.12.7/src/database.c#L1979
but couldn't find in which cases WIFEXITED
would return a zero value