ソースを参照

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>
Christopher Jones 8 年 前
コミット
28bdf08e0a
1 ファイル変更15 行追加5 行削除
  1. 15 5
      hack/install.sh

+ 15 - 5
hack/install.sh

@@ -147,15 +147,25 @@ semverParse() {
 }
 }
 
 
 do_install() {
 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)
 		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
 			EOF
 			exit 1
 			exit 1
 			;;
 			;;