From f38c67da0c28392907602579e405c5a9b59a59d1 Mon Sep 17 00:00:00 2001 From: "James O. D. Hunt" Date: Tue, 5 Feb 2019 10:55:55 +0000 Subject: [PATCH] arch: Remove calls to arch command The `arch(1)` command is not available on some systems so use the `uname(1)` command for the equivalent functionality. Fixes #150. Signed-off-by: James O. D. Hunt --- image-builder/image_builder.sh | 2 +- rootfs-builder/alpine/Dockerfile.in | 4 +--- rootfs-builder/rootfs.sh | 4 ++-- rootfs-builder/ubuntu/config.sh | 4 ++-- 4 files changed, 6 insertions(+), 8 deletions(-) diff --git a/image-builder/image_builder.sh b/image-builder/image_builder.sh index 15edcb0856..21791e366b 100755 --- a/image-builder/image_builder.sh +++ b/image-builder/image_builder.sh @@ -51,7 +51,7 @@ MAX_IMG_SIZE_MB=2048 FS_TYPE=${FS_TYPE:-"ext4"} # In order to support memory hotplug, image must be aligned to memory section(size in MB) according to different architecture. -ARCH=$(arch) +ARCH=$(uname -m) case "$ARCH" in aarch64) MEM_BOUNDARY_MB=1024 ;; *) MEM_BOUNDARY_MB=128 ;; diff --git a/rootfs-builder/alpine/Dockerfile.in b/rootfs-builder/alpine/Dockerfile.in index aa01c9e142..1b150626f7 100644 --- a/rootfs-builder/alpine/Dockerfile.in +++ b/rootfs-builder/alpine/Dockerfile.in @@ -5,6 +5,4 @@ From golang:@GO_VERSION@-alpine3.7 -# The "coreutils" package on alpine for reasons unknown does not provide arch(1), so simulate it. -RUN apk update && apk add git make bash gcc musl-dev linux-headers apk-tools-static libseccomp libseccomp-dev && \ - echo -e '#!/bin/sh\nuname -m' > /usr/bin/arch && chmod +x /usr/bin/arch +RUN apk update && apk add git make bash gcc musl-dev linux-headers apk-tools-static libseccomp libseccomp-dev diff --git a/rootfs-builder/rootfs.sh b/rootfs-builder/rootfs.sh index f1a2f7025d..653276e1b4 100755 --- a/rootfs-builder/rootfs.sh +++ b/rootfs-builder/rootfs.sh @@ -22,7 +22,7 @@ lib_file="${script_dir}/../scripts/lib.sh" source "$lib_file" # Default architecture -ARCH=$(arch) +ARCH=$(uname -m) # Load default versions for golang and other componets source "${script_dir}/versions.txt" @@ -162,7 +162,7 @@ generate_dockerfile() { dir="$1" - case "$(arch)" in + case "$(uname -m)" in "ppc64le") goarch=ppc64le ;; diff --git a/rootfs-builder/ubuntu/config.sh b/rootfs-builder/ubuntu/config.sh index 40263c12e3..c23704f5f6 100644 --- a/rootfs-builder/ubuntu/config.sh +++ b/rootfs-builder/ubuntu/config.sh @@ -16,12 +16,12 @@ PACKAGES="systemd iptables init" DEBOOTSTRAP=${PACKAGE_MANAGER:-"debootstrap"} -case $(arch) in +case $(uname -m) in x86_64) ARCHITECTURE="amd64";; ppc64le) ARCHITECTURE="ppc64el";; aarch64) ARCHITECTURE="arm64";; s390x) ARCHITECTURE="s390x";; - (*) die "$(arch) not supported " + (*) die "$(uname -m) not supported " esac # Init process must be one of {systemd,kata-agent}