docker-moby: fix build

* apply similar patch to what was applied to docker-ce in:
  http://git.yoctoproject.org/cgit/cgit.cgi/meta-virtualization/commit/recipes-containers/docker?id=e7787cb01be91d3798594687a475d5b085f29ede
  it's very similar, but needs to be separate .patch file, because the
  path to make/.binary is different in docker-ce and docker-moby.

  since the recent upgrade:
  http://git.yoctoproject.org/cgit/cgit.cgi/meta-virtualization/commit/?id=f770151b3ff0938bea4972abdd1ee7f6cbc3a074
  docker-moby needs the same change or fails like this:

  | ERROR: Execution of 'work/raspberrypi4-oe-linux-gnueabi/docker-moby/19.03.6+git71373c6105e3cbc9702935b96d8ee01214c405e7-r0/temp/run.do_compile.31754' failed with exit code 2:
  |
  | Package devmapper was not found in the pkg-config search path.
  | Perhaps you should add the directory containing `devmapper.pc'
  | to the PKG_CONFIG_PATH environment variable
  | No package 'devmapper' found
  | Removing bundles/
  |
  | ---> Making bundle: dynbinary (in bundles/dynbinary)
  | Building: bundles/dynbinary-daemon/dockerd-19.03.6
  | GOOS="linux" GOARCH="arm" GOARM="7"
  | # runtime/cgo
  | exec: "arm-linux-gnueabihf-gcc": executable file not found in $PATH
  | WARNING: work/raspberrypi4-oe-linux-gnueabi/docker-moby/19.03.6+git71373c6105e3cbc9702935b96d8ee01214c405e7-r0/temp/run.do_compile.31754:1 exit 2 from 'VERSION="19.03.6" DOCKER_GITCOMMIT="${SRCREV_docker}" ./hack/make.sh dynbinary'
  | ERROR: Task (meta-virtualization/recipes-containers/docker/docker-moby.bb:do_compile) failed with exit code '1'

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
This commit is contained in:
Martin Jansa 2020-03-03 23:11:35 +01:00 committed by Bruce Ashfield
parent 7251b240d1
commit 7164f0391d
2 changed files with 62 additions and 0 deletions

View File

@ -44,6 +44,7 @@ SRC_URI = "\
git://github.com/docker/cli;branch=19.03;name=cli;destsuffix=git/cli \
file://docker.init \
file://0001-libnetwork-use-GO-instead-of-go.patch \
file://0001-imporve-hardcoded-CC-on-cross-compile-docker-ce.patch \
"
require docker.inc

View File

@ -0,0 +1,61 @@
From 1263fdb50a540e9db742694b7cee08284ad986d0 Mon Sep 17 00:00:00 2001
From: Hongxu Jia <hongxu.jia@windriver.com>
Date: Wed, 17 Jul 2019 17:34:04 +0800
Subject: [PATCH] imporve hardcoded CC on cross compile
Since commit applied in moby [61a3285 Support cross-compile for arm]
it hardcoded var-CC to support cross-compile for arm
Correct it with "${parameter:-word}" format, it is helpful for user
define toolchains
(Use Default Values. If parameter is unset or null, the expansion of
word is substituted. Otherwise, the value of parameter is substituted.)
Upstream-Status: Submitted [https://github.com/moby/moby/pull/39546]
Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
---
components/engine/hack/make/.binary | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/src/import/hack/make/.binary b/src/import/hack/make/.binary
index 53de6749e5..66f4ca05f3 100644
--- a/src/import/hack/make/.binary
+++ b/src/import/hack/make/.binary
@@ -44,27 +44,27 @@ if [ "$(go env GOOS)/$(go env GOARCH)" != "$(go env GOHOSTOS)/$(go env GOHOSTARC
# must be cross-compiling!
case "$(go env GOOS)/$(go env GOARCH)" in
windows/amd64)
- export CC=x86_64-w64-mingw32-gcc
+ export CC="${CC:-x86_64-w64-mingw32-gcc}"
export CGO_ENABLED=1
;;
linux/arm)
case "${GOARM}" in
5|"")
- export CC=arm-linux-gnueabi-gcc
+ export CC="${CC:-arm-linux-gnueabi-gcc}"
export CGO_ENABLED=1
;;
7)
- export CC=arm-linux-gnueabihf-gcc
+ export CC="${CC:-arm-linux-gnueabihf-gcc}"
export CGO_ENABLED=1
;;
esac
;;
linux/arm64)
- export CC=aarch64-linux-gnu-gcc
+ export CC="${CC:-aarch64-linux-gnu-gcc}"
export CGO_ENABLED=1
;;
linux/amd64)
- export CC=x86_64-linux-gnu-gcc
+ export CC="${CC:-x86_64-linux-gnu-gcc}"
export CGO_ENABLED=1
;;
esac
--
2.23.0