summaryrefslogtreecommitdiff
path: root/meta-phosphor/recipes-core/os-release/os-release.bbappend
diff options
context:
space:
mode:
Diffstat (limited to 'meta-phosphor/recipes-core/os-release/os-release.bbappend')
-rw-r--r--meta-phosphor/recipes-core/os-release/os-release.bbappend35
1 files changed, 35 insertions, 0 deletions
diff --git a/meta-phosphor/recipes-core/os-release/os-release.bbappend b/meta-phosphor/recipes-core/os-release/os-release.bbappend
new file mode 100644
index 0000000000..77249fc509
--- /dev/null
+++ b/meta-phosphor/recipes-core/os-release/os-release.bbappend
@@ -0,0 +1,35 @@
+# WARNING!
+#
+# These modifications to os-release disable the bitbake parse
+# cache (for the os-release recipe only). Before copying
+# and pasting into another recipe ensure it is understood
+# what that means!
+
+def run_git(d, cmd):
+ try:
+ oeroot = d.getVar('COREBASE', True)
+ return bb.process.run("git --work-tree %s --git-dir %s/.git %s"
+ % (oeroot, oeroot, cmd))[0].strip('\n')
+ except:
+ pass
+
+python() {
+ version_id = run_git(d, 'describe --dirty --long')
+ if version_id:
+ d.setVar('VERSION_ID', version_id)
+ versionList = version_id.split('-')
+ version = versionList[0] + "-" + versionList[1]
+ d.setVar('VERSION', version)
+
+ build_id = run_git(d, 'describe --abbrev=0')
+ if build_id:
+ d.setVar('BUILD_ID', build_id)
+}
+
+OS_RELEASE_FIELDS_append = " BUILD_ID"
+
+# Ensure the git commands run every time bitbake is invoked.
+BB_DONT_CACHE = "1"
+
+# Make os-release available to other recipes.
+SYSROOT_DIRS_append = " ${sysconfdir}"