summary refs log tree commit diff
path: root/tests/packages.scm
diff options
context:
space:
mode:
authorThiago Jung Bauermann <bauermann@kolabnow.com>2022-11-03 22:54:56 -0300
committerMathieu Othacehe <othacehe@gnu.org>2022-11-04 08:46:11 +0100
commita75deb884468db0ce2c35e23a61f1a14c9be958e (patch)
treecd9914f6ac7d8c1cd64f4f895e2023cd6ca0a570 /tests/packages.scm
parente3280ae8b5c4aaf28eb6de8406215927923a4dff (diff)
downloadguix-a75deb884468db0ce2c35e23a61f1a14c9be958e.tar.gz
system: image: Define correct docker image arch when cross building
Cross-building a docker image with:

  $ guix system image --image-type=docker --target=aarch64-linux-gnu os.scm

results in an image where the architecture declared in its config.json is
the host architecture rather than the target one.  The binaries are
correctly cross-compiled, so the image can be loaded and used despite the
warning message shown by docker:

  $ docker load -i vcal7bvsqcijchifhqdvprpd1niqh8sk-docker-image.tar.gz
  Loaded image: guix:latest
  $ docker create guix:latest
  WARNING: The requested image's platform (linux/amd64) does not match the
  detected host platform (linux/arm64/v8) and no specific platform was
  requested
  40f06aa869ed690489c4a3824a7f7721bd4bf453b85f25ac7199266939fe2fba
  $ echo $?
  0

This is fixed by passing the correct triplet to the build-docker-image
function.

* gnu/system/image.scm (system-docker-image) Add ‘image-target’ variable.
[builder]: Pass ‘#:system’ argument to ‘build-docker-image’.

Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
Diffstat (limited to 'tests/packages.scm')
0 files changed, 0 insertions, 0 deletions