diff options
author | Jesse Gilles <jgilles@multitech.com> | 2011-10-03 13:15:36 -0500 |
---|---|---|
committer | Jesse Gilles <jgilles@multitech.com> | 2011-10-03 13:15:36 -0500 |
commit | 5384b9a4b2571d9e2cfd7a1597cbd826d360dd7f (patch) | |
tree | 73173f147d6d818a7d6662e6ca98a1e0aa189671 /multitech | |
parent | 4fbb01d342509dfae734647b20504230ce5c8f01 (diff) |
added corecdp_metadata_scm.bbclass which provides CORECDP_METADATA_SCM
Diffstat (limited to 'multitech')
-rw-r--r-- | multitech/classes/corecdp_metadata_scm.bbclass | 34 | ||||
-rw-r--r-- | multitech/conf/distro/corecdp.conf | 2 | ||||
-rw-r--r-- | multitech/recipes/multitech/corecdp-version.bb | 8 |
3 files changed, 41 insertions, 3 deletions
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 "<unknown> %s" % baserepo + +def corecdp_get_scm_revision(d): + (scm, path) = d.getVar("CORECDP_METADATA_SCM", 1).split() + try: + if scm != "<unknown>": + return globals()["base_get_metadata_%s_revision" % scm](path, d) + else: + return scm + except KeyError: + return "<unknown>" + +def corecdp_get_scm_branch(d): + (scm, path) = d.getVar("CORECDP_METADATA_SCM", 1).split() + try: + if scm != "<unknown>": + return globals()["base_get_metadata_%s_branch" % scm](path, d) + else: + return scm + except KeyError: + return "<unknown>" + diff --git a/multitech/conf/distro/corecdp.conf b/multitech/conf/distro/corecdp.conf index f550428..f583dcb 100644 --- a/multitech/conf/distro/corecdp.conf +++ b/multitech/conf/distro/corecdp.conf @@ -21,6 +21,8 @@ CORECDP_LAYER_INC = "2" # Add Multi-Tech mirror for source download as a backup INHERIT += "corecdp-mirrors" +INHERIT += "corecdp_metadata_scm" + IPKG_VARIANT = "opkg corecdp-version" # use busybox instead of tinylogin diff --git a/multitech/recipes/multitech/corecdp-version.bb b/multitech/recipes/multitech/corecdp-version.bb index de5005d..3c90626 100644 --- a/multitech/recipes/multitech/corecdp-version.bb +++ b/multitech/recipes/multitech/corecdp-version.bb @@ -1,7 +1,7 @@ LICENSE = "MIT" PV = "${DISTRO_VERSION}" -PR = "r1" +PR = "r2" PE = "1" PACKAGES = "${PN}" @@ -10,6 +10,8 @@ PACKAGE_ARCH = "${MACHINE_ARCH}" do_install() { mkdir -p ${D}${sysconfdir} echo "CoreCDP ${DISTRO_VERSION}" > ${D}${sysconfdir}/corecdp-version - echo "Built from branch: ${METADATA_BRANCH}" >> ${D}${sysconfdir}/corecdp-version - echo "Revision: ${METADATA_REVISION}" >> ${D}${sysconfdir}/corecdp-version + echo "Built from branch: ${CORECDP_METADATA_BRANCH}" >> ${D}${sysconfdir}/corecdp-version + echo "Revision: ${CORECDP_METADATA_REVISION}" >> ${D}${sysconfdir}/corecdp-version + echo "OpenEmbedded branch: ${METADATA_BRANCH}" >> ${D}${sysconfdir}/corecdp-version + echo "OpenEmbedded Revision: ${METADATA_REVISION}" >> ${D}${sysconfdir}/corecdp-version } |