mirror of
https://github.com/moby/moby.git
synced 2022-11-09 12:21:53 -05:00
Fix windows cross builds.
Windows still writes to the autogen directory, but the source code is mounted in as read-only. In order to do enable this without taking a massive hit in doing an rw mount (for the source code) we mount a tmpfs into the build at the autogen dir. In order for this to work the directory must alreay exist, so we create it before entering the build. Signed-off-by: Brian Goff <cpuguy83@gmail.com>
This commit is contained in:
parent
2ebaeef943
commit
5dffe74df2
3 changed files with 10 additions and 2 deletions
|
@ -354,6 +354,7 @@ FROM binary-base AS build-cross
|
|||
ARG DOCKER_CROSSPLATFORMS
|
||||
RUN --mount=type=cache,target=/root/.cache/go-build \
|
||||
--mount=type=bind,target=/go/src/github.com/docker/docker \
|
||||
--mount=type=tmpfs,target=/go/src/github.com/docker/docker/autogen \
|
||||
hack/make.sh cross
|
||||
|
||||
FROM scratch AS binary
|
||||
|
|
9
Makefile
9
Makefile
|
@ -172,7 +172,14 @@ cross: ## cross build the binaries for darwin, freebsd and\nwindows
|
|||
|
||||
cross: BUILD_OPTS += --build-arg CROSS=true --build-arg DOCKER_CROSSPLATFORMS
|
||||
|
||||
binary dynbinary cross: buildx
|
||||
# This is only used to work around read-only bind mounts of the source code into
|
||||
# binary build targets. We end up mounting a tmpfs over autogen which allows us
|
||||
# to write build-time generated assets even though the source is mounted read-only
|
||||
# ...But in order to do so, this dir needs to already exist.
|
||||
autogen:
|
||||
mkdir -p autogen
|
||||
|
||||
binary dynbinary cross: buildx autogen
|
||||
$(BUILD_CMD) $(BUILD_OPTS) --output=bundles/ --target=$@ $(VERSION_AUTOGEN_ARGS) .
|
||||
|
||||
build: target = --target=final
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
#!/usr/bin/env bash
|
||||
|
||||
rm -rf autogen
|
||||
rm -rf autogen/*
|
||||
|
||||
source hack/dockerfile/install/runc.installer
|
||||
source hack/dockerfile/install/tini.installer
|
||||
|
|
Loading…
Add table
Reference in a new issue