Output from git_describe() function can then be used in various places and from various git trees to create a user friend(lier) name to builds. Examples where this could be used is BUILD_ID, SDK_VERSION and IMAGE_VERSION_SUFFIX.
Signed-off-by: Mikko Rapeli <[email protected]> --- meta/classes/git-describe.bbclass | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 meta/classes/git-describe.bbclass diff --git a/meta/classes/git-describe.bbclass b/meta/classes/git-describe.bbclass new file mode 100644 index 0000000000..3a2b06b3fd --- /dev/null +++ b/meta/classes/git-describe.bbclass @@ -0,0 +1,24 @@ +# Defines a simple function which calls 'git describe --tags --always --dirty' +# on specified directory and returns the string. +# +# Can be used for example to easily generate a BUILD_ID in local.conf if +# TOPDIR build directory is under the main git tree for the project: +# INHERIT += "git-describe" +# BUILD_ID = "${@git_describe("${TOPDIR}/../meta-mylayer", d)}" +# # BUILD_ID to /etc/os-release +# OS_RELEASE_FIELDS:append:pn-os-release = " BUILD_ID" +# # Add os-release to all images +# IMAGE_INSTALL:append = " os-release" +# # BUILD_ID to image file name +# IMAGE_VERSION_SUFFIX = "-${BUILD_ID}" +# # BUILD_ID to SDK file names and paths +# SDK_VERSION = "${BUILD_ID}" + +def git_describe(p, d): + import bb.process + try: + describe, _ = bb.process.run('git describe --tags --always --dirty', cwd=p) + except bb.process.ExecutionError: + describe = '' + return describe.strip() + -- 2.17.1
-=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#170970): https://lists.openembedded.org/g/openembedded-core/message/170970 Mute This Topic: https://lists.openembedded.org/mt/93847068/21656 Group Owner: [email protected] Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [[email protected]] -=-=-=-=-=-=-=-=-=-=-=-
