summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJesse Gilles <jgilles@multitech.com>2011-10-03 13:15:36 -0500
committerJesse Gilles <jgilles@multitech.com>2011-10-03 13:15:36 -0500
commit5384b9a4b2571d9e2cfd7a1597cbd826d360dd7f (patch)
tree73173f147d6d818a7d6662e6ca98a1e0aa189671
parent4fbb01d342509dfae734647b20504230ce5c8f01 (diff)
added corecdp_metadata_scm.bbclass which provides CORECDP_METADATA_SCM
-rw-r--r--multitech/classes/corecdp_metadata_scm.bbclass34
-rw-r--r--multitech/conf/distro/corecdp.conf2
-rw-r--r--multitech/recipes/multitech/corecdp-version.bb8
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
}