From 5384b9a4b2571d9e2cfd7a1597cbd826d360dd7f Mon Sep 17 00:00:00 2001 From: Jesse Gilles Date: Mon, 3 Oct 2011 13:15:36 -0500 Subject: added corecdp_metadata_scm.bbclass which provides CORECDP_METADATA_SCM --- multitech/classes/corecdp_metadata_scm.bbclass | 34 ++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 multitech/classes/corecdp_metadata_scm.bbclass (limited to 'multitech/classes') diff --git a/multitech/classes/corecdp_metadata_scm.bbclass b/multitech/classes/corecdp_metadata_scm.bbclass new file mode 100644 index 0000000..33e56e4 --- /dev/null +++ b/multitech/classes/corecdp_metadata_scm.bbclass @@ -0,0 +1,34 @@ +CORECDP_METADATA_SCM = "${@corecdp_get_scm(d)}" +CORECDP_METADATA_REVISION = "${@corecdp_get_scm_revision(d)}" +CORECDP_METADATA_BRANCH = "${@corecdp_get_scm_branch(d)}" + +def corecdp_get_scm(d): + from bb import which + baserepo = os.path.dirname(os.path.dirname(os.path.dirname(which(d.getVar("BBPATH", 1), "classes/base.bbclass")))) + for (scm, scmpath) in {"svn": ".svn", + "git": ".git", + "monotone": "_MTN"}.iteritems(): + if os.path.exists(os.path.join(baserepo, scmpath)): + return "%s %s" % (scm, baserepo) + return " %s" % baserepo + +def corecdp_get_scm_revision(d): + (scm, path) = d.getVar("CORECDP_METADATA_SCM", 1).split() + try: + if scm != "": + return globals()["base_get_metadata_%s_revision" % scm](path, d) + else: + return scm + except KeyError: + return "" + +def corecdp_get_scm_branch(d): + (scm, path) = d.getVar("CORECDP_METADATA_SCM", 1).split() + try: + if scm != "": + return globals()["base_get_metadata_%s_branch" % scm](path, d) + else: + return scm + except KeyError: + return "" + -- cgit v1.2.3