summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRichard Purdie <richard.purdie@linuxfoundation.org>2022-06-09 12:32:36 +0100
committerRichard Purdie <richard.purdie@linuxfoundation.org>2022-06-11 10:29:42 +0100
commit38b9525f1d5377288922e7cbac3f30afe6046242 (patch)
tree0b197124e7f03d72e8ba12d5ea19890d020007f0
parent0b191a1df4c3722defb09dde0c16b1d9e7fe7ef6 (diff)
downloadopenembedded-core-contrib-38b9525f1d5377288922e7cbac3f30afe6046242.tar.gz
image-buildinfo: Improve and extend to SDK coverage too
Rename the default file from "build" to "buildinfo" since this is more obvious to anyone looking in an image. Add SDK_BUILDINFO_FILE and allow the same information to be written into SDK images. This will be useful for buildtools-tarball and uninative-tarball. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r--meta/classes/image-buildinfo.bbclass28
1 files changed, 22 insertions, 6 deletions
diff --git a/meta/classes/image-buildinfo.bbclass b/meta/classes/image-buildinfo.bbclass
index d4a12b5e10..ef790bb73b 100644
--- a/meta/classes/image-buildinfo.bbclass
+++ b/meta/classes/image-buildinfo.bbclass
@@ -1,5 +1,5 @@
#
-# Writes build information to target filesystem on /etc/build
+# Writes build information to target filesystem on /etc/buildinfo
#
# Copyright (C) 2014 Intel Corporation
# Author: Alejandro Enedino Hernandez Samaniego <alejandro.hernandez@intel.com>
@@ -13,7 +13,8 @@
IMAGE_BUILDINFO_VARS ?= "DISTRO DISTRO_VERSION"
# Desired location of the output file in the image.
-IMAGE_BUILDINFO_FILE ??= "${sysconfdir}/build"
+IMAGE_BUILDINFO_FILE ??= "${sysconfdir}/buildinfo"
+SDK_BUILDINFO_FILE ??= "/buildinfo"
# From buildhistory.bbclass
def image_buildinfo_outputvars(vars, d):
@@ -40,11 +41,12 @@ def buildinfo_target(d):
vars = (d.getVar("IMAGE_BUILDINFO_VARS") or "")
return image_buildinfo_outputvars(vars, d)
-# Write build information to target filesystem
-python buildinfo () {
+python buildinfo() {
if not d.getVar('IMAGE_BUILDINFO_FILE'):
return
- with open(d.expand('${IMAGE_ROOTFS}${IMAGE_BUILDINFO_FILE}'), 'w') as build:
+ destfile = d.expand('${BUILDINFODEST}${IMAGE_BUILDINFO_FILE}')
+ bb.utils.mkdirhier(os.path.dirname(destfile))
+ with open(destfile, 'w') as build:
build.writelines((
'''-----------------------
Build Configuration: |
@@ -62,4 +64,18 @@ Layer Revisions: |
))
}
-IMAGE_PREPROCESS_COMMAND += "buildinfo;"
+# Write build information to target filesystem
+python buildinfo_image () {
+ d.setVar("BUILDINFODEST", "${IMAGE_ROOTFS}")
+ bb.build.exec_func("buildinfo", d)
+}
+
+python buildinfo_sdk () {
+ d.setVar("BUILDINFODEST", "${SDK_OUTPUT}/${SDKPATH}")
+ d.setVar("IMAGE_BUILDINFO_FILE", d.getVar("SDK_BUILDINFO_FILE"))
+ bb.build.exec_func("buildinfo", d)
+}
+
+IMAGE_PREPROCESS_COMMAND += "buildinfo_image;"
+POPULATE_SDK_PRE_TARGET_COMMAND += "buildinfo_sdk;"
+