Message ID | 20231102111447.2163334-1-peter@korsgaard.com |
---|---|
State | Accepted |
Headers | show |
Series | boot/arm-trusted-firmware: set BUILD_STRING to package version | expand |
>>>>> "Peter" == Peter Korsgaard <peter@korsgaard.com> writes: > TF-A prints a version string at boot which includes the version number as > specified in the Makefile and additional "build" information, specified by > the BUILD_STRING parameter: > https://trustedfirmware-a.readthedocs.io/en/v2.9/getting_started/build-options.html > BUILD_STRING: Input string for VERSION_STRING, which allows the TF-A build > to be uniquely identified. Defaults to the current git commit id. > This is implemented as: > # Default build string (git branch and commit) > ifeq (${BUILD_STRING},) > BUILD_STRING := $(shell git describe --always --dirty --tags 2> /dev/null) > endif > https://github.com/ARM-software/arm-trusted-firmware/blob/master/Makefile#L225-L228 > Which is never correct in the context of Buildroot, as the TF-A build > directory is never a git repo, and git will move up the directory tree and > possibly and (possibly) pick up the git version of Buildroot instead. > To fix that, explicitly set BUILD_STRING to the version of the package. > Pass it before BR2_TARGET_ARM_TRUSTED_FIRMWARE_ADDITIONAL_VARIABLES so it > can still be overridden by the user if needed. > strings images/tf-a-* | egrep '^v2\.' > v2.9(debug):2023.08-859-g99d78b52a0 > v2.9(debug):v2.9 > Signed-off-by: Peter Korsgaard <peter@korsgaard.com> Committed to 2023.02.x and 2023.08.x, thanks.
diff --git a/boot/arm-trusted-firmware/arm-trusted-firmware.mk b/boot/arm-trusted-firmware/arm-trusted-firmware.mk index 648f62ed85..049beed36a 100644 --- a/boot/arm-trusted-firmware/arm-trusted-firmware.mk +++ b/boot/arm-trusted-firmware/arm-trusted-firmware.mk @@ -60,6 +60,7 @@ endif ARM_TRUSTED_FIRMWARE_MAKE_OPTS += \ CROSS_COMPILE="$(TARGET_CROSS)" \ + BUILD_STRING=$(ARM_TRUSTED_FIRMWARE_VERSION) \ $(call qstrip,$(BR2_TARGET_ARM_TRUSTED_FIRMWARE_ADDITIONAL_VARIABLES)) \ PLAT=$(ARM_TRUSTED_FIRMWARE_PLATFORM) \ TARGET_BOARD=$(ARM_TRUSTED_FIRMWARE_TARGET_BOARD)
TF-A prints a version string at boot which includes the version number as specified in the Makefile and additional "build" information, specified by the BUILD_STRING parameter: https://trustedfirmware-a.readthedocs.io/en/v2.9/getting_started/build-options.html BUILD_STRING: Input string for VERSION_STRING, which allows the TF-A build to be uniquely identified. Defaults to the current git commit id. This is implemented as: # Default build string (git branch and commit) ifeq (${BUILD_STRING},) BUILD_STRING := $(shell git describe --always --dirty --tags 2> /dev/null) endif https://github.com/ARM-software/arm-trusted-firmware/blob/master/Makefile#L225-L228 Which is never correct in the context of Buildroot, as the TF-A build directory is never a git repo, and git will move up the directory tree and possibly and (possibly) pick up the git version of Buildroot instead. To fix that, explicitly set BUILD_STRING to the version of the package. Pass it before BR2_TARGET_ARM_TRUSTED_FIRMWARE_ADDITIONAL_VARIABLES so it can still be overridden by the user if needed. strings images/tf-a-* | egrep '^v2\.' v2.9(debug):2023.08-859-g99d78b52a0 v2.9(debug):v2.9 Signed-off-by: Peter Korsgaard <peter@korsgaard.com> --- boot/arm-trusted-firmware/arm-trusted-firmware.mk | 1 + 1 file changed, 1 insertion(+)