Skip to contentSkip to conversation

docker-engine: fix handling of vendor tree

PATCH New Christian Stewart 2 participants 3 messages Apr 18, 2017

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 docker-engine: fix handling of vendor tree

The latest docker-engine release changes the vendor tree slightly. The Go tool will recognize a ./vendor directory and use it as a vendor tree automatically, but only when run inside a valid GOPATH. This patch adjusts how the GOPATH is built - now docker/docker is linked into a blank tree, and the Go tool recognizes the ./vendor directory correctly.

The deleted patch is no longer necessary as of the last release and causes a build failure on my machine.

---
 package/docker-engine/docker-engine.mk | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)
package/docker-engine/docker-engine.mk +3 -2
index 5101702..c4c1157 100644
@@ -13,7 +13,7 @@ DOCKER_ENGINE_LICENSE_FILES = LICENSE
 
 DOCKER_ENGINE_DEPENDENCIES = host-go host-pkgconf
 
-DOCKER_ENGINE_GOPATH = "$(@D)/vendor"
+DOCKER_ENGINE_GOPATH = "$(@D)/gopath"
 DOCKER_ENGINE_MAKE_ENV = $(HOST_GO_TARGET_ENV) \
 	CGO_ENABLED=1 \
 	CGO_NO_EMULATION=1 \
@@ -100,7 +100,8 @@ endif
 
 define DOCKER_ENGINE_BUILD_CMDS
 	$(foreach target,$(DOCKER_ENGINE_BUILD_TARGETS), \
-		cd $(@D); $(DOCKER_ENGINE_MAKE_ENV) \
+		cd $(@D)/gopath/src/github.com/docker/docker; \
+		$(DOCKER_ENGINE_MAKE_ENV) \
 		$(HOST_DIR)/usr/bin/go build -v \
 			-o $(@D)/bin/$(target) \
 			-tags "$(DOCKER_ENGINE_BUILD_TAGS)" \
Signature · 1 line
2.10.2
#1 lore raw

PATCH 1/1 docker-engine: fix handling of vendor tree

All:

Please ignore this segment:

Quoted 2 lines · Christian Stewart

The deleted patch is no longer necessary as of the last release and causes a build failure on my machine.

The unnecessary/breaking .patch file was already removed in master, but not in my branch for some reason.

Thanks,
Christian Stewart

#2 lore raw

PATCH 1/1 docker-engine: fix handling of vendor tree

In reply to Christian Stewart

Hello,

Quoted 7 lines · Christian Stewart

The latest docker-engine release changes the vendor tree slightly. The Go tool will recognize a ./vendor directory and use it as a vendor tree automatically, but only when run inside a valid GOPATH. This patch adjusts how the GOPATH is built - now docker/docker is linked into a blank tree, and the Go tool recognizes the ./vendor directory correctly.

Quoted 7 lines

The deleted patch is no longer necessary as of the last release and causes a build failure on my machine.

---
 package/docker-engine/docker-engine.mk | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

Applied to master, thanks.

Thomas

Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com