From 99f14253403165dab6f4e57d2416692de8b348b3 Mon Sep 17 00:00:00 2001 From: Richard Purdie Date: Thu, 9 Jun 2022 12:32:36 +0100 Subject: 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. (From OE-Core rev: 38b9525f1d5377288922e7cbac3f30afe6046242) Signed-off-by: Richard Purdie --- meta/classes/image-buildinfo.bbclass | 28 ++++++++++++++++++++++------ 1 file changed, 22 insertions(+), 6 deletions(-) (limited to 'meta/classes/image-buildinfo.bbclass') 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 @@ -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;" + -- cgit v1.2.3-54-g00ecf