docker: fixup failing build

Docker is failing to build because it is attempting to download
missing go dependencies. Add new recipes for missing dependencies and
update existing recipes to ensure the version defined in docker's
vendor.conf is available.

Note that this fixes the build only. At this time many docker
functions are working, such as 'docker image', 'docker pull' and more,
but 'docker run' is currently failing.

Signed-off-by: Mark Asselstine <mark.asselstine@windriver.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
This commit is contained in:
Mark Asselstine 2017-02-08 12:53:28 -05:00 committed by Bruce Ashfield
parent 2ef58c264b
commit b2c365c371
13 changed files with 195 additions and 18 deletions

View File

@ -51,7 +51,11 @@ DEPENDS = " \
go-systemd \
btrfs-tools \
sqlite3 \
go-distribution-digest \
go-distribution \
compose-file \
go-connections \
notary \
grpc-go \
"
PACKAGES =+ "${PN}-contrib"

View File

@ -0,0 +1,41 @@
DESCRIPTION = "Parser for the Compose file format (version 3)"
HOMEPAGE = "https://github.com/aanand/compose-file"
SECTION = "devel/go"
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://src/${PKG_NAME}/LICENSE;md5=9cd86830b557232ce55e2a6b47387471"
SRCNAME = "compose-file"
PKG_NAME = "github.com/aanand/${SRCNAME}"
SRC_URI = "git://${PKG_NAME}.git;destsuffix=git/src/${PKG_NAME}"
SRCREV = "a3e58764f50597b6217fec07e9bff7225c4a1719"
PV = "3.0+git${SRCPV}"
S = "${WORKDIR}/git"
# NO-OP the do compile rule because this recipe is source only.
do_compile() {
}
do_install() {
install -d ${D}${prefix}/local/go/src/${PKG_NAME}
for j in $(cd ${S} && find src/${PKG_NAME} -name "*.go"); do
if [ ! -d ${D}${prefix}/local/go/$(dirname $j) ]; then
mkdir -p ${D}${prefix}/local/go/$(dirname $j)
fi
cp $j ${D}${prefix}/local/go/$j
done
cp -r ${S}/src/${PKG_NAME}/LICENSE ${D}${prefix}/local/go/src/${PKG_NAME}/
}
SYSROOT_PREPROCESS_FUNCS += "go_compose_file_sysroot_preprocess"
go_compose_file_sysroot_preprocess () {
install -d ${SYSROOT_DESTDIR}${prefix}/local/go/src/${PKG_NAME}
cp -r ${D}${prefix}/local/go/src/${PKG_NAME} ${SYSROOT_DESTDIR}${prefix}/local/go/src/$(dirname ${PKG_NAME})
}
FILES_${PN} += "${prefix}/local/go/src/${PKG_NAME}/*"
CLEANBROKEN = "1"

View File

@ -9,7 +9,8 @@ SRCNAME = "gocapability"
PKG_NAME = "github.com/syndtr/${SRCNAME}"
SRC_URI = "git://${PKG_NAME}.git"
SRCREV = "8e4cdcb3c22b40d5e330ade0b68cb2e2a3cf6f98"
SRCREV = "2c00daeb6c3b45114c80ac44119e7b8801fdd852"
PV = "0.0+git${SRCPV}"
S = "${WORKDIR}/git"

View File

@ -0,0 +1,39 @@
DESCRIPTION = "Utility package to work with network connections"
HOMEPAGE = "https://github.com/docker/connections"
SECTION = "devel/go"
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://src/${PKG_NAME}/LICENSE;md5=04424bc6f5a5be60691b9824d65c2ad8"
SRCNAME = "go-connections"
PKG_NAME = "github.com/docker/${SRCNAME}"
SRC_URI = "git://${PKG_NAME}.git;destsuffix=git/src/${PKG_NAME}"
SRCREV = "4ccf312bf1d35e5dbda654e57a9be4c3f3cd0366"
PV = "0.2.1+git${SRCPV}"
S = "${WORKDIR}/git"
# NO-OP the do compile rule because this recipe is source only.
do_compile() {
}
do_install() {
install -d ${D}${prefix}/local/go/src/${PKG_NAME}
for j in $(cd ${S} && find src/${PKG_NAME} -name "*.go"); do
if [ ! -d ${D}${prefix}/local/go/$(dirname $j) ]; then
mkdir -p ${D}${prefix}/local/go/$(dirname $j)
fi
cp $j ${D}${prefix}/local/go/$j
done
cp -r ${S}/src/${PKG_NAME}/LICENSE ${D}${prefix}/local/go/src/${PKG_NAME}/
}
SYSROOT_PREPROCESS_FUNCS += "go_connections_sysroot_preprocess"
go_connections_sysroot_preprocess () {
install -d ${SYSROOT_DESTDIR}${prefix}/local/go/src/${PKG_NAME}
cp -r ${D}${prefix}/local/go/src/${PKG_NAME} ${SYSROOT_DESTDIR}${prefix}/local/go/src/$(dirname ${PKG_NAME})
}
FILES_${PN} += "${prefix}/local/go/src/${PKG_NAME}/*"

View File

@ -2,15 +2,15 @@ DESCRIPTION = "Native Go bindings for D-Bus"
HOMEPAGE = "https://github.com/godbus/dbus"
SECTION = "devel/go"
LICENSE = "BSD-2-Clause"
LIC_FILES_CHKSUM = "file://LICENSE;md5=b5ac622301483800715d770434e27e5b"
LIC_FILES_CHKSUM = "file://LICENSE;md5=09042bd5c6c96a2b9e45ddf1bc517eed"
SRCNAME = "dbus"
PKG_NAME = "github.com/godbus/${SRCNAME}"
SRC_URI = "git://${PKG_NAME}.git"
SRCREV = "88765d85c0fdadcd98a54e30694fa4e4f5b51133"
PV = "2+git${SRCREV}"
SRCREV = "5f6efc7ef2759c81b7ba876593971bfce311eab3"
PV = "4.0.0+git${SRCREV}"
S = "${WORKDIR}/git"

View File

@ -2,14 +2,15 @@ DESCRIPTION = "The Docker toolset to pack, ship, store, and deliver content"
HOMEPAGE = "https://github.com/docker/distribution"
SECTION = "devel/go"
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://LICENSE;md5=d2794c0df5b907fdace235a619d80314"
LIC_FILES_CHKSUM = "file://src/${PKG_NAME}/LICENSE;md5=d2794c0df5b907fdace235a619d80314"
SRCNAME = "distribution"
PKG_NAME = "github.com/docker/${SRCNAME}"
SRC_URI = "git://${PKG_NAME}.git"
SRC_URI = "git://${PKG_NAME}.git;branch=docker/1.13;destsuffix=git/src/${PKG_NAME}"
SRCREV = "d957768537c5af40e4f4cd96871f7b2bde9e2923"
SRCREV = "28602af35aceda2f8d571bad7ca37a54cf0250bc"
PV = "2.6.0+git${SRCPV}"
S = "${WORKDIR}/git"
@ -19,7 +20,13 @@ do_compile() {
do_install() {
install -d ${D}${prefix}/local/go/src/${PKG_NAME}
cp -r ${S}/LICENSE ${S}/digest ${D}${prefix}/local/go/src/${PKG_NAME}/
for j in $(cd ${S} && find src/${PKG_NAME} -name "*.go"); do
if [ ! -d ${D}${prefix}/local/go/$(dirname $j) ]; then
mkdir -p ${D}${prefix}/local/go/$(dirname $j)
fi
cp $j ${D}${prefix}/local/go/$j
done
cp -r ${S}/src/${PKG_NAME}/LICENSE ${D}${prefix}/local/go/src/${PKG_NAME}/
}
SYSROOT_PREPROCESS_FUNCS += "go_distribution_digeset_sysroot_preprocess"

View File

@ -9,8 +9,8 @@ SRCNAME = "fsnotify"
PKG_NAME = "github.com/go-fsnotify/${SRCNAME}"
SRC_URI = "git://${PKG_NAME}.git"
SRCREV = "ca50e738d35a862c379baf8fffbc3bfd080b3cff"
PV = "1.0.4+git${SRCREV}"
SRCREV = "836bfd95fecc0f1511dd66bdbf2b5b61ab8b00b6"
PV = "1.2.11+git${SRCREV}"
S = "${WORKDIR}/git"

View File

@ -9,7 +9,8 @@ SRCNAME = "libtrust"
PKG_NAME = "github.com/docker/${SRCNAME}"
SRC_URI = "git://${PKG_NAME}.git"
SRCREV = "230dfd18c2326f1e9d08238710e67a1040187d07"
SRCREV = "9cbd2a1374f46905c68a4eb3694a130610adc62a"
PV = "0.0+git${SRCPV}"
S = "${WORKDIR}/git"

View File

@ -9,8 +9,8 @@ SRCNAME = "logrus"
PKG_NAME = "github.com/Sirupsen/${SRCNAME}"
SRC_URI = "git://${PKG_NAME}.git"
SRCREV = "3fc34d061b9c78a70db853c7cb6b0576b6d4f32d"
PV = "0.7.1+git${SRCREV}"
SRCREV = "d26492970760ca5d33129d2d799e34be5c4782eb"
PV = "0.11.0+git${SRCREV}"
S = "${WORKDIR}/git"

View File

@ -9,8 +9,8 @@ SRCNAME = "go-patricia"
PKG_NAME = "github.com/tchap/${SRCNAME}"
SRC_URI = "git://${PKG_NAME}.git"
SRCREV = "f64d0a63cd3363481c898faa9339de04d12213f9"
PV = "1.0.1+git${SRCPV}"
SRCREV = "666120de432aea38ab06bd5c818f04f4129882c9"
PV = "2.2.6+git${SRCPV}"
S = "${WORKDIR}/git"

View File

@ -9,8 +9,12 @@ SRCNAME = "systemd"
PKG_NAME = "github.com/coreos/go-${SRCNAME}"
SRC_URI = "git://${PKG_NAME}.git"
SRCREV = "f743bc15d6bddd23662280b4ad20f7c874cdd5ad"
PV = "2+git${SRCREV}"
SRCREV = "b4a58d95188dd092ae20072bac14cece0e67c388"
PV = "4+git${SRCREV}"
DEPENDS += " \
bash \
"
S = "${WORKDIR}/git"

View File

@ -0,0 +1,41 @@
DESCRIPTION = "The Go language implementation of gRPC. HTTP/2 based RPC"
HOMEPAGE = "https://github.com/grpc/grpc-go"
SECTION = "devel/go"
LICENSE = "BSD"
LIC_FILES_CHKSUM = "file://src/${PKG_NAME}/LICENSE;md5=a4bad33881612090c6035d8393175996"
SRCNAME = "grpc-go"
PKG_NAME = "google.golang.org/grpc"
SRC_URI = "git://github.com/grpc/${SRCNAME}.git;destsuffix=git/src/${PKG_NAME}"
SRCREV = "777daa17ff9b5daef1cfdf915088a2ada3332bf0"
PV = "1.4.0+git${SRCPV}"
S = "${WORKDIR}/git"
# NO-OP the do compile rule because this recipe is source only.
do_compile() {
}
do_install() {
install -d ${D}${prefix}/local/go/src/${PKG_NAME}
for j in $(cd ${S} && find src/${PKG_NAME} -name "*.go"); do
if [ ! -d ${D}${prefix}/local/go/$(dirname $j) ]; then
mkdir -p ${D}${prefix}/local/go/$(dirname $j)
fi
cp $j ${D}${prefix}/local/go/$j
done
cp -r ${S}/src/${PKG_NAME}/LICENSE ${D}${prefix}/local/go/src/${PKG_NAME}/
}
SYSROOT_PREPROCESS_FUNCS += "go_grpc_sysroot_preprocess"
go_grpc_sysroot_preprocess () {
install -d ${SYSROOT_DESTDIR}${prefix}/local/go/src/${PKG_NAME}
cp -r ${D}${prefix}/local/go/src/${PKG_NAME} ${SYSROOT_DESTDIR}${prefix}/local/go/src/$(dirname ${PKG_NAME})
}
FILES_${PN} += " \
${prefix}/local/go/src/${PKG_NAME}/* \
"

View File

@ -0,0 +1,39 @@
DESCRIPTION = "Notary is a Docker project that allows anyone to have trust over arbitrary collections of data"
HOMEPAGE = "https://github.com/docker/notary"
SECTION = "devel/go"
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://src/${PKG_NAME}/LICENSE;md5=771ddb425ba03c8fab49e5bd9854a4a2"
SRCNAME = "notary"
PKG_NAME = "github.com/docker/${SRCNAME}"
SRC_URI = "git://${PKG_NAME}.git;destsuffix=git/src/${PKG_NAME}"
SRCREV = "c8aa8cf53cbcda2e92def0c9291e25d770493494"
PV = "0.4.2+git${SRCPV}"
S = "${WORKDIR}/git"
# NO-OP the do compile rule because this recipe is source only.
do_compile() {
}
do_install() {
install -d ${D}${prefix}/local/go/src/${PKG_NAME}
for j in $(cd ${S} && find src/${PKG_NAME} -name "*.go"); do
if [ ! -d ${D}${prefix}/local/go/$(dirname $j) ]; then
mkdir -p ${D}${prefix}/local/go/$(dirname $j)
fi
cp $j ${D}${prefix}/local/go/$j
done
cp -r ${S}/src/${PKG_NAME}/LICENSE ${D}${prefix}/local/go/src/${PKG_NAME}/
}
SYSROOT_PREPROCESS_FUNCS += "go_notary_sysroot_preprocess"
go_notary_sysroot_preprocess () {
install -d ${SYSROOT_DESTDIR}${prefix}/local/go/src/${PKG_NAME}
cp -r ${D}${prefix}/local/go/src/${PKG_NAME} ${SYSROOT_DESTDIR}${prefix}/local/go/src/$(dirname ${PKG_NAME})
}
FILES_${PN} += "${prefix}/local/go/src/${PKG_NAME}/*"