SRCREV_docker = "49bf474f9ed7ce7143a59d1964ff7b7fd9b52178" SRCREV_libnetwork="0f534354b813003a754606689722fe253101bc4e" FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:" SRC_URI = "\ git://github.com/docker/docker.git;nobranch=1;name=docker \ git://github.com/docker/libnetwork.git;branch=master;name=libnetwork;destsuffix=libnetwork \ file://docker.init \ file://hi.Dockerfile \ file://context-use-golang.org-x-net-pkg-until-we-move-to-go.patch \ file://0001-docker.service-add-clear-linux-oci-runtime.patch \ " # Apache-2.0 for docker LICENSE = "Apache-2.0" LIC_FILES_CHKSUM = "file://LICENSE;md5=aadc30f9c14d876ded7bedc0afd2d3d7" DOCKER_VERSION = "1.13.0" RDEPENDS_${PN} += "kernel-module-vhost kernel-module-vhost-net" do_compile() { # Set GOPATH. See 'PACKAGERS.md'. Don't rely on # docker to download its dependencies but rather # use dependencies packaged independently. cd ${S} rm -rf .gopath mkdir -p .gopath/src/"$(dirname "${DOCKER_PKG}")" ln -sf ../../../.. .gopath/src/"${DOCKER_PKG}" mkdir -p .gopath/src/github.com/docker ln -sf ../../../../../libnetwork .gopath/src/github.com/docker/libnetwork export GOPATH="${S}/.gopath:${S}/vendor:${STAGING_DIR_TARGET}/${prefix}/local/go" export GOROOT="${STAGING_DIR_NATIVE}/${nonarch_libdir}/${HOST_SYS}/go" cd - # Pass the needed cflags/ldflags so that cgo # can find the needed headers files and libraries export CGO_ENABLED="1" export CGO_CFLAGS="${CFLAGS} --sysroot=${STAGING_DIR_TARGET}" export CGO_LDFLAGS="${LDFLAGS} --sysroot=${STAGING_DIR_TARGET}" # in order to exclude devicemapper and btrfs - https://github.com/docker/docker/issues/14056 export DOCKER_BUILDTAGS='exclude_graphdriver_btrfs exclude_graphdriver_devicemapper' # this is the unsupported built structure # that doesn't rely on an existing docker # to build this: DOCKER_GITCOMMIT="${SRCREV}" \ ./hack/make.sh dynbinary # build the proxy go build -o ${S}/docker-proxy github.com/docker/libnetwork/cmd/proxy }