osbuilder: Build for glibc on s390x

Since there is no Rust target for musl on s390x, builds on s390x should use
glibc. This commit removes the "Cannot build Rust agent on s390x" restriction
in rootfs.sh and only installs musl in the build environment when it is
required.

Fixes: #1262

Signed-off-by: Jakob Naucke <jakob.naucke@ibm.com>
This commit is contained in:
Jakob Naucke 2021-01-14 16:28:11 +01:00
parent a1cedc567a
commit afb4197813

View File

@ -561,7 +561,7 @@ EOT
if [ -z "${AGENT_SOURCE_BIN}" ] ; then
[ "$ARCH" == "ppc64le" ] && { LIBC=gnu; echo "WARNING: Forcing LIBC=gnu for ppc64le because musl toolchain is not supported on ppc64le"; }
bash ${script_dir}/../../../ci/install_musl.sh
[ "$LIBC" == "musl" ] && bash ${script_dir}/../../../ci/install_musl.sh
# rust agent needs ${arch}-unknown-linux-${LIBC}
rustup show | grep linux-${LIBC} > /dev/null || bash ${script_dir}/../../../ci/install_rust.sh
test -r "${HOME}/.cargo/env" && source "${HOME}/.cargo/env"
@ -626,13 +626,6 @@ parse_arguments()
shift $(($OPTIND - 1))
distro="$1"
arch=$(uname -m)
if [ "${RUST_AGENT}" == "yes" ] && [ "${arch}" == "s390x" ]; then
die "Cannot build rust agent on s390x
musl cannot be built on s390x because of long double
reprentation is broken. And rust has no musl target on s390x.
See issue: https://github.com/kata-containers/osbuilder/issues/388"
fi
}
detect_host_distro()