[meta-virtualization] [PATCH v2 1/2] docker-ce: improve hardcoded CC for cross compile

Stefan Agner stefan at agner.ch
Wed Sep 18 00:58:40 PDT 2019


From: Stefan Agner <stefan.agner at toradex.com>

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.)

https://github.com/moby/moby/commit/61a3285864d3f1b489f48f765b61b2c7bd300372

This fixes a build issue seen when building docker-ce:
  exec: "aarch64-linux-gnu-gcc": executable file not found in $PATH

Signed-off-by: Hongxu Jia <hongxu.jia at windriver.com>
Signed-off-by: Stefan Agner <stefan.agner at toradex.com>
---
 recipes-containers/docker/docker-ce_git.bb    |  1 +
 ...dcoded-CC-on-cross-compile-docker-ce.patch | 61 +++++++++++++++++++
 2 files changed, 62 insertions(+)
 create mode 100644 recipes-containers/docker/files/0001-imporve-hardcoded-CC-on-cross-compile-docker-ce.patch

diff --git a/recipes-containers/docker/docker-ce_git.bb b/recipes-containers/docker/docker-ce_git.bb
index a3e27a5..215f114 100644
--- a/recipes-containers/docker/docker-ce_git.bb
+++ b/recipes-containers/docker/docker-ce_git.bb
@@ -25,6 +25,7 @@ SRC_URI = "\
 	git://github.com/docker/libnetwork.git;branch=master;name=libnetwork;destsuffix=git/libnetwork \
 	file://0001-libnetwork-use-GO-instead-of-go.patch \
 	file://docker.init \
+	file://0001-imporve-hardcoded-CC-on-cross-compile-docker-ce.patch \
 	"
 
 require docker.inc
diff --git a/recipes-containers/docker/files/0001-imporve-hardcoded-CC-on-cross-compile-docker-ce.patch b/recipes-containers/docker/files/0001-imporve-hardcoded-CC-on-cross-compile-docker-ce.patch
new file mode 100644
index 0000000..70fdaf8
--- /dev/null
+++ b/recipes-containers/docker/files/0001-imporve-hardcoded-CC-on-cross-compile-docker-ce.patch
@@ -0,0 +1,61 @@
+From 1263fdb50a540e9db742694b7cee08284ad986d0 Mon Sep 17 00:00:00 2001
+From: Hongxu Jia <hongxu.jia at 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 at windriver.com>
+---
+ components/engine/hack/make/.binary | 10 +++++-----
+ 1 file changed, 5 insertions(+), 5 deletions(-)
+
+diff --git a/src/import/components/engine/hack/make/.binary b/src/import/components/engine/hack/make/.binary
+index 53de6749e5..66f4ca05f3 100644
+--- a/src/import/components/engine/hack/make/.binary
++++ b/src/import/components/engine/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
+
-- 
2.20.1



More information about the meta-virtualization mailing list