Fix install script for multiarch

The current check for uname -m just looks for *64 which hits a lot
more cases than it should (mips for ex), and ignores a few that it shouldn't.

This check will run the install script if on a supported architecture
(x86_64 or amd64) or an unofficial one with a docker repository
(armv6l or armv7l) and will give a more accurate error on an unofficial
64-bit architecture that isn't in the docker repository.

Signed-off-by: Christopher Jones <tophj@linux.vnet.ibm.com>
This commit is contained in:
Christopher Jones 2016-10-27 14:44:40 -04:00
parent 60ef48dd4a
commit 28bdf08e0a
No known key found for this signature in database
GPG Key ID: 9675B4D446658DE9
1 changed files with 15 additions and 5 deletions

View File

@ -147,15 +147,25 @@ semverParse() {
}
do_install() {
case "$(uname -m)" in
*64)
architecture=$(uname -m)
case $architecture in
# officially supported
amd64|x86_64)
;;
# unofficially supported with available repositories
armv6l|armv7l)
;;
# unofficially supported without available repositories
aarch64|arm64|ppc64le|s390x)
cat 1>&2 <<-EOF
Error: Docker doesn't officially support $architecture and no Docker $architecture repository exists.
EOF
exit 1
;;
# not supported
*)
cat >&2 <<-'EOF'
Error: you are not using a 64bit platform or a Raspberry Pi (armv6l/armv7l).
Docker currently only supports 64bit platforms or a Raspberry Pi (armv6l/armv7l).
cat >&2 <<-EOF
Error: $architecture is not a recognized platform.
EOF
exit 1
;;