summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTerin Stock <terinjokes@gmail.com>2020-12-11 18:54:44 -0800
committerTerin Stock <terinjokes@gmail.com>2020-12-15 02:14:01 -0800
commit8f66dc94a751bf212c8e6541796025bfeabb87dd (patch)
tree425239c820ea6a26ead48a412f4bc6ddca645b97
parent46e2a315adebe1b67dfcf83769e9597efc2ccf4d (diff)
dockerTools: normalize arch to GOARCH
Docker (via containerd) and the the OCI Image Configuration imply and suggest, respectfully, that the architecture set in images matches those of GOARCH in the Go Language document. This changeset updates the implimentation of getArch in dockerTools to return GOARCH values, to satisfy Docker. Fixes: #106695
-rw-r--r--nixos/tests/docker-tools.nix2
-rw-r--r--pkgs/build-support/docker/default.nix12
2 files changed, 7 insertions, 7 deletions
diff --git a/nixos/tests/docker-tools.nix b/nixos/tests/docker-tools.nix
index 3d1e39a379c1..8402ba68b720 100644
--- a/nixos/tests/docker-tools.nix
+++ b/nixos/tests/docker-tools.nix
@@ -245,7 +245,7 @@ import ./make-test-python.nix ({ pkgs, ... }: {
"docker inspect ${pkgs.dockerTools.examples.cross.imageName} "
+ "| ${pkgs.jq}/bin/jq -r .[].Architecture"
).strip()
- == "${if pkgs.system == "aarch64-linux" then "amd64" else "arm64v8"}"
+ == "${if pkgs.system == "aarch64-linux" then "amd64" else "arm64"}"
)
'';
})
diff --git a/pkgs/build-support/docker/default.nix b/pkgs/build-support/docker/default.nix
index b30ac5c77655..93c32c68a962 100644
--- a/pkgs/build-support/docker/default.nix
+++ b/pkgs/build-support/docker/default.nix
@@ -58,15 +58,15 @@ let
done;
'';
- # Map nixpkgs architecture to Docker notation
- # Reference: https://github.com/docker-library/official-images#architectures-other-than-amd64
+ # Map nixpkgs architecture to OCI recomendation
+ # Reference: https://github.com/opencontainers/image-spec/blob/master/config.md#properties
getArch = nixSystem: {
- aarch64-linux = "arm64v8";
- armv7l-linux = "arm32v7";
+ aarch64-linux = "arm64";
+ armv7l-linux = "arm";
x86_64-linux = "amd64";
powerpc64le-linux = "ppc64le";
- i686-linux = "i386";
- }.${nixSystem} or "Can't map Nix system ${nixSystem} to Docker architecture notation. Please check that your input and your requested build are correct or update the mapping in Nixpkgs.";
+ i686-linux = "386";
+ }.${nixSystem} or "Can't map Nix system ${nixSystem} to Docker architecture. Please check that your input and your requested build are correct or update the mapping in Nixpkgs.";
in
rec {