mirror of
https://github.com/opencontainers/runc.git
synced 2026-07-11 06:03:57 +08:00
c7c2920db0
This release fixes tests on ppc64le in busybox commit 3621595939e43: "nsenter,unshare: don't use xvfork_parent_waits_and_exits(), it SEGVs on ppc64le". Fixes: https://github.com/opencontainers/runc/issues/4836 Signed-off-by: Ricardo Branco <rbranco@suse.de>
166 lines
6.7 KiB
Bash
Executable File
166 lines
6.7 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
# DO NOT EDIT! Generated by "bootstrap-get-images.sh"
|
|
|
|
# This script checks if container images needed for tests (currently
|
|
# busybox and Debian 10 "Buster") are available locally, and downloads
|
|
# them to testdata directory if not.
|
|
#
|
|
# The script is self-contained/standalone and is used from a few places
|
|
# that need to ensure the images are downloaded. Its output is suitable
|
|
# for consumption by shell via eval (see helpers.bash).
|
|
|
|
set -e -u -o pipefail
|
|
|
|
# Root directory of integration tests.
|
|
INTEGRATION_ROOT=$(dirname "$(readlink -f "${BASH_SOURCE[0]}")")
|
|
# Test data path.
|
|
TESTDATA="${INTEGRATION_ROOT}/testdata"
|
|
# Sanity check: $TESTDATA directory must exist.
|
|
if [ ! -d "$TESTDATA" ]; then
|
|
echo "Bad TESTDATA directory: $TESTDATA. Aborting" >&2
|
|
exit 1
|
|
fi
|
|
|
|
function get() {
|
|
local dest="$1" url="$2"
|
|
|
|
[ -e "$dest" ] && return
|
|
|
|
# Sanity check: $TESTDATA directory must be writable.
|
|
if [ ! -w "$TESTDATA" ]; then
|
|
echo "TESTDATA directory ($TESTDATA) not writable. Aborting" >&2
|
|
exit 1
|
|
fi
|
|
|
|
if ! curl -o "$dest" -fsSL --retry 5 "$url"; then
|
|
echo "Failed to get $url" 1>&2
|
|
exit 1
|
|
fi
|
|
}
|
|
|
|
arch=$(go env GOARCH)
|
|
if [ "$arch" = 'arm' ]; then
|
|
arm=$(go env GOARM)
|
|
: "${arm:=7}"
|
|
arch=${arch}v$arm
|
|
fi
|
|
|
|
case $arch in
|
|
amd64)
|
|
# https://github.com/docker-library/busybox/tree/dist-amd64
|
|
# https://github.com/docker-library/busybox/tree/71dbea6bedb4bb497581d61bb025f8558cc7833a/latest/glibc/amd64
|
|
url="https://github.com/docker-library/busybox/raw/71dbea6bedb4bb497581d61bb025f8558cc7833a/latest/glibc/amd64/rootfs.tar.gz"
|
|
;;
|
|
|
|
armv5)
|
|
# https://github.com/docker-library/busybox/tree/dist-arm32v5
|
|
# https://github.com/docker-library/busybox/tree/5fec30bd4375e5f8d5f399f635d8c01ddee548f7/latest/glibc/arm32v5
|
|
url="https://github.com/docker-library/busybox/raw/5fec30bd4375e5f8d5f399f635d8c01ddee548f7/latest/glibc/arm32v5/rootfs.tar.gz"
|
|
;;
|
|
|
|
armv7)
|
|
# https://github.com/docker-library/busybox/tree/dist-arm32v7
|
|
# https://github.com/docker-library/busybox/tree/a8c6f12d2a1c8011f706f4995b0ef10f3f901fcc/latest/glibc/arm32v7
|
|
url="https://github.com/docker-library/busybox/raw/a8c6f12d2a1c8011f706f4995b0ef10f3f901fcc/latest/glibc/arm32v7/rootfs.tar.gz"
|
|
;;
|
|
|
|
arm64)
|
|
# https://github.com/docker-library/busybox/tree/dist-arm64v8
|
|
# https://github.com/docker-library/busybox/tree/0a49464ff90e706d47953a9aacc888cc80ddb62f/latest/glibc/arm64v8
|
|
url="https://github.com/docker-library/busybox/raw/0a49464ff90e706d47953a9aacc888cc80ddb62f/latest/glibc/arm64v8/rootfs.tar.gz"
|
|
;;
|
|
|
|
386)
|
|
# https://github.com/docker-library/busybox/tree/dist-i386
|
|
# https://github.com/docker-library/busybox/tree/5d4c51cdbac3707680d85bc23b5f5bd8740e76dc/latest/glibc/i386
|
|
url="https://github.com/docker-library/busybox/raw/5d4c51cdbac3707680d85bc23b5f5bd8740e76dc/latest/glibc/i386/rootfs.tar.gz"
|
|
;;
|
|
|
|
ppc64le)
|
|
# https://github.com/docker-library/busybox/tree/dist-ppc64le
|
|
# https://github.com/docker-library/busybox/tree/5b3724499baea9f0ff998d63feaccc786fff5ab3/latest/glibc/ppc64le
|
|
url="https://github.com/docker-library/busybox/raw/5b3724499baea9f0ff998d63feaccc786fff5ab3/latest/glibc/ppc64le/rootfs.tar.gz"
|
|
;;
|
|
|
|
riscv64)
|
|
# https://github.com/docker-library/busybox/tree/dist-riscv64
|
|
# https://github.com/docker-library/busybox/tree/d8f26a505ca1799feb33830218c6915f4087d8f5/latest/glibc/riscv64
|
|
url="https://github.com/docker-library/busybox/raw/d8f26a505ca1799feb33830218c6915f4087d8f5/latest/glibc/riscv64/rootfs.tar.gz"
|
|
;;
|
|
|
|
s390x)
|
|
# https://github.com/docker-library/busybox/tree/dist-s390x
|
|
# https://github.com/docker-library/busybox/tree/f51c3009c496303f609e6d934d34d80b75db4fdd/latest/glibc/s390x
|
|
url="https://github.com/docker-library/busybox/raw/f51c3009c496303f609e6d934d34d80b75db4fdd/latest/glibc/s390x/rootfs.tar.gz"
|
|
;;
|
|
|
|
*)
|
|
echo >&2 "error: unsupported busybox architecture: $arch"
|
|
exit 1
|
|
;;
|
|
esac
|
|
rootfs="$TESTDATA/busybox-${arch}.tar.xz"
|
|
get "$rootfs" "$url"
|
|
var=busybox_image
|
|
echo "${var^^}=$rootfs"
|
|
|
|
case $arch in
|
|
amd64)
|
|
# https://github.com/debuerreotype/docker-debian-artifacts/tree/dist-amd64
|
|
# https://github.com/debuerreotype/docker-debian-artifacts/tree/686d9f6eaada08a754bc7abf6f6184c65c5b378f/buster/slim
|
|
url="https://github.com/debuerreotype/docker-debian-artifacts/raw/686d9f6eaada08a754bc7abf6f6184c65c5b378f/buster/slim/rootfs.tar.xz"
|
|
;;
|
|
|
|
armv5)
|
|
# https://github.com/debuerreotype/docker-debian-artifacts/tree/dist-arm32v5
|
|
# https://github.com/debuerreotype/docker-debian-artifacts/tree/155640b6e2e249dfaeee8795d5de539ef3e49417/buster/slim
|
|
url="https://github.com/debuerreotype/docker-debian-artifacts/raw/155640b6e2e249dfaeee8795d5de539ef3e49417/buster/slim/rootfs.tar.xz"
|
|
;;
|
|
|
|
armv7)
|
|
# https://github.com/debuerreotype/docker-debian-artifacts/tree/dist-arm32v7
|
|
# https://github.com/debuerreotype/docker-debian-artifacts/tree/60ff0c2c6ce9556e5d8a2758dd2b3f3731716a6f/buster/slim
|
|
url="https://github.com/debuerreotype/docker-debian-artifacts/raw/60ff0c2c6ce9556e5d8a2758dd2b3f3731716a6f/buster/slim/rootfs.tar.xz"
|
|
;;
|
|
|
|
arm64)
|
|
# https://github.com/debuerreotype/docker-debian-artifacts/tree/dist-arm64v8
|
|
# https://github.com/debuerreotype/docker-debian-artifacts/tree/2f108af35e22064c848b8628a7cac56192246dba/buster/slim
|
|
url="https://github.com/debuerreotype/docker-debian-artifacts/raw/2f108af35e22064c848b8628a7cac56192246dba/buster/slim/rootfs.tar.xz"
|
|
;;
|
|
|
|
386)
|
|
# https://github.com/debuerreotype/docker-debian-artifacts/tree/dist-i386
|
|
# https://github.com/debuerreotype/docker-debian-artifacts/tree/e4db8aa97f4366e6f27ddbdeaed0773fe0288d47/buster/slim
|
|
url="https://github.com/debuerreotype/docker-debian-artifacts/raw/e4db8aa97f4366e6f27ddbdeaed0773fe0288d47/buster/slim/rootfs.tar.xz"
|
|
;;
|
|
|
|
mips64le)
|
|
# https://github.com/debuerreotype/docker-debian-artifacts/tree/dist-mips64le
|
|
# https://github.com/debuerreotype/docker-debian-artifacts/tree/e28cbd76dcfba10446b1722aebb5a996121e3d27/buster/slim
|
|
url="https://github.com/debuerreotype/docker-debian-artifacts/raw/e28cbd76dcfba10446b1722aebb5a996121e3d27/buster/slim/rootfs.tar.xz"
|
|
;;
|
|
|
|
ppc64le)
|
|
# https://github.com/debuerreotype/docker-debian-artifacts/tree/dist-ppc64le
|
|
# https://github.com/debuerreotype/docker-debian-artifacts/tree/3ba08903ca3fd48fe59ba92b02744a2f5d4d9d6f/buster/slim
|
|
url="https://github.com/debuerreotype/docker-debian-artifacts/raw/3ba08903ca3fd48fe59ba92b02744a2f5d4d9d6f/buster/slim/rootfs.tar.xz"
|
|
;;
|
|
|
|
s390x)
|
|
# https://github.com/debuerreotype/docker-debian-artifacts/tree/dist-s390x
|
|
# https://github.com/debuerreotype/docker-debian-artifacts/tree/2fddbf8fe632fc5865b140341b68a1358586fff2/buster/slim
|
|
url="https://github.com/debuerreotype/docker-debian-artifacts/raw/2fddbf8fe632fc5865b140341b68a1358586fff2/buster/slim/rootfs.tar.xz"
|
|
;;
|
|
|
|
*)
|
|
echo >&2 "error: unsupported debian architecture: $arch"
|
|
exit 1
|
|
;;
|
|
esac
|
|
rootfs="$TESTDATA/debian-${arch}.tar.xz"
|
|
get "$rootfs" "$url"
|
|
var=debian_image
|
|
echo "${var^^}=$rootfs"
|