]> git.ipfire.org Git - thirdparty/openembedded/openembedded-core-contrib.git/commitdiff
image-buildinfo: Improve and extend to SDK coverage too
authorRichard Purdie <richard.purdie@linuxfoundation.org>
Thu, 9 Jun 2022 11:32:36 +0000 (12:32 +0100)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Sat, 11 Jun 2022 09:29:42 +0000 (10:29 +0100)
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>
meta/classes/image-buildinfo.bbclass

index d4a12b5e102536a7974a6927130c819559efc0f5..ef790bb73b4d0c84f6134867dc957814df54791f 100644 (file)
@@ -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;"
+