[meta-virtualization] [m-c-s][PATCH 5/6] consul-migrate: use SRC_URIs not DEPENDS

Mark Asselstine mark.asselstine at windriver.com
Tue Sep 18 13:27:30 PDT 2018


It is common to have two GO packages, A and B, and they both depend on
a GO dependency, C. This can be satisfied using the current technique
of writing recipes for each dependency.

BUT it is also common for GO packages to not only specify other
packages in their GoDeps but also specific dependency versions. In the
case that A and B share a dependency on C, but require different
versions, there is no easy way to accomplish this using recipes.

Since GO dependencies are also source dependencies and these
dependencies are overwhelmingly useless on their own, writing recipes
for each is overkill.

We therefor replace DEPENDS with SRC_URIs and SRCREVs as a mechanism
to provide build dependencies.

Signed-off-by: Mark Asselstine <mark.asselstine at windriver.com>
---
 recipes-connectivity/consul/consul-migrate_git.bb | 20 ++++++++++++++++++--
 1 file changed, 18 insertions(+), 2 deletions(-)

diff --git a/recipes-connectivity/consul/consul-migrate_git.bb b/recipes-connectivity/consul/consul-migrate_git.bb
index 4cc53b2..935d663 100644
--- a/recipes-connectivity/consul/consul-migrate_git.bb
+++ b/recipes-connectivity/consul/consul-migrate_git.bb
@@ -3,12 +3,28 @@ HOMEPAGE = "https://github.com/hashicorp/consul-migrate"
 LICENSE = "MPL-2.0"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=b278a92d2c1509760384428817710378"
 
-DEPENDS += "raft raft-boltdb raft-mdb"
-
 PKG_NAME = "github.com/hashicorp/consul-migrate"
 SRC_URI = "git://${PKG_NAME}.git"
 SRCREV = "678fb10cdeae25ab309e99e655148f0bf65f9710"
 
+SRCREV_raft = "057b893fd996696719e98b6c44649ea14968c811"
+SRCREV_go-metrics = "f303b03b91d770a11a39677f1d3b55da4002bbcb"
+SRCREV_raft-boltdb = "d1e82c1ec3f15ee991f7cc7ffd5b67ff6f5bbaee"
+SRCREV_raft-mdb = "4ec3694ffbc74d34f7532e70ef2e9c3546a0c0b0"
+SRCREV_gomdb = "151f2e08ef45cb0e57d694b2562f351955dff572"
+SRCREV_bolt = "c6ba97b89e0454fec9aa92e1d33a4e2c5fc1f631"
+SRCREV_go-msgpack = "fa3f63826f7c23912c15263591e65d54d080b458"
+
+SRC_URI += " \
+   git://github.com/hashicorp/raft;name=raft;destsuffix=git/src/github.com/hashicorp/raft \
+   git://github.com/armon/go-metrics;name=go-metrics;destsuffix=git/src/github.com/armon/go-metrics \
+   git://github.com/hashicorp/raft-boltdb;name=raft-boltdb;destsuffix=git/src/github.com/hashicorp/raft-boltdb \
+   git://github.com/hashicorp/raft-mdb;name=raft-mdb;destsuffix=git/src/github.com/hashicorp/raft-mdb \
+   git://github.com/armon/gomdb;name=gomdb;destsuffix=git/src/github.com/armon/gomdb \
+   git://github.com/boltdb/bolt;name=bolt;destsuffix=git/src/github.com/boltdb/bolt \
+   git://github.com/hashicorp/go-msgpack;name=go-msgpack;destsuffix=git/src/github.com/hashicorp/go-msgpack \
+"
+
 inherit golang
 
 SYSROOT_PREPROCESS_FUNCS += "consul_migrate_sysroot_preprocess"
-- 
2.7.4



More information about the meta-virtualization mailing list