build: store SOURCE_DATE_EPOCH in JSON info files
authorPaul Spooren <mail@aparcar.org>
Sun, 1 Nov 2020 21:53:39 +0000 (11:53 -1000)
committerPaul Spooren <mail@aparcar.org>
Tue, 1 Feb 2022 11:52:20 +0000 (12:52 +0100)
The source date epoch is the only reproducible date close to the actual
build date. It can be used for tooling like the firmware wizard to show
the image age.

Signed-off-by: Paul Spooren <mail@aparcar.org>
(cherry picked from commit 165f0b00cdd2f763c1d478c2f58c535fc19b13bd)
[store source_date_epoch as integer]
Signed-off-by: Paul Spooren <mail@aparcar.org>
include/image.mk
scripts/json_add_image_info.py

index ee9885c8f74e0b1596bf020f224107260eff03c4..1c37d5839f7f5b71709c423cf1c2593bbf426dd9 100644 (file)
@@ -532,6 +532,7 @@ define Device/Build/image
        @mkdir -p $$(shell dirname $$@)
        DEVICE_ID="$(DEVICE_NAME)" \
        BIN_DIR="$(BIN_DIR)" \
+       SOURCE_DATE_EPOCH=$(SOURCE_DATE_EPOCH) \
        IMAGE_NAME="$(IMAGE_NAME)" \
        IMAGE_TYPE=$(word 1,$(subst ., ,$(2))) \
        IMAGE_FILESYSTEM="$(1)" \
index 9a640ad468e8998b1815a4317c27e07fb9af21d9..23d816916cd76638fba8f6c275ade233d6d90991 100755 (executable)
@@ -31,6 +31,7 @@ image_info = {
     "target": "{}/{}".format(getenv("TARGET"), getenv("SUBTARGET")),
     "version_code": getenv("VERSION_CODE"),
     "version_number": getenv("VERSION_NUMBER"),
+    "source_date_epoch": int(getenv("SOURCE_DATE_EPOCH")),
     "profiles": {
         device_id: {
             "image_prefix": getenv("IMAGE_PREFIX"),