From 76ee54e69ce39bf6482a8daec19239e6f4c0b378 Mon Sep 17 00:00:00 2001 From: Francisco Molina Date: Thu, 14 Apr 2022 13:45:44 +0200 Subject: [PATCH] makefiles: use memoized for EPOCH, also define for suit APP_VER must also be defined for suit.inc.mk in case non-fw payloads are used (e.g. no riotboot) Use memoized so the shell call happens only if needed --- makefiles/boot/riotboot.mk | 2 +- makefiles/suit.inc.mk | 17 +++++++++++------ 2 files changed, 12 insertions(+), 7 deletions(-) diff --git a/makefiles/boot/riotboot.mk b/makefiles/boot/riotboot.mk index d708c2a02a..61ebef6fcc 100644 --- a/makefiles/boot/riotboot.mk +++ b/makefiles/boot/riotboot.mk @@ -18,7 +18,7 @@ $(BINDIR_RIOTBOOT): $(CLEAN) export SLOT0_OFFSET SLOT0_LEN SLOT1_OFFSET SLOT1_LEN # Mandatory APP_VER, set to epoch by default -EPOCH := $(shell date +%s) +EPOCH = $(call memoized,EPOCH,$(shell date +%s)) APP_VER ?= $(EPOCH) # Final target for slot 0 with riot_hdr diff --git a/makefiles/suit.inc.mk b/makefiles/suit.inc.mk index 4aed631084..f5f97892f3 100644 --- a/makefiles/suit.inc.mk +++ b/makefiles/suit.inc.mk @@ -4,6 +4,15 @@ # makefiles/suit.base.inc.mk # # + +# Mandatory APP_VER, set to epoch by default +EPOCH = $(call memoized,EPOCH,$(shell date +%s)) +APP_VER ?= $(EPOCH) + +SUIT_VENDOR ?= "riot-os.org" +SUIT_SEQNR ?= $(APP_VER) +SUIT_CLASS ?= $(BOARD) + SUIT_COAP_BASEPATH ?= fw/$(APPLICATION)/$(BOARD) SUIT_COAP_SERVER ?= localhost SUIT_COAP_ROOT ?= coap://$(SUIT_COAP_SERVER)/$(SUIT_COAP_BASEPATH) @@ -15,9 +24,9 @@ $(BINDIR_SUIT): $(CLEAN) # SUIT_MANIFEST_BASENAME ?= riot.suit -SUIT_MANIFEST ?= $(BINDIR_SUIT)/$(SUIT_MANIFEST_BASENAME)_unsigned.$(APP_VER).bin +SUIT_MANIFEST ?= $(BINDIR_SUIT)/$(SUIT_MANIFEST_BASENAME)_unsigned.$(SUIT_SEQNR).bin SUIT_MANIFEST_LATEST ?= $(BINDIR_SUIT)/$(SUIT_MANIFEST_BASENAME)_unsigned.latest.bin -SUIT_MANIFEST_SIGNED ?= $(BINDIR_SUIT)/$(SUIT_MANIFEST_BASENAME).$(APP_VER).bin +SUIT_MANIFEST_SIGNED ?= $(BINDIR_SUIT)/$(SUIT_MANIFEST_BASENAME).$(SUIT_SEQNR).bin SUIT_MANIFEST_SIGNED_LATEST ?= $(BINDIR_SUIT)/$(SUIT_MANIFEST_BASENAME).latest.bin SUIT_NOTIFY_VERSION ?= latest @@ -26,10 +35,6 @@ SUIT_NOTIFY_MANIFEST ?= $(SUIT_MANIFEST_BASENAME).$(SUIT_NOTIFY_VERSION).bin # Long manifest names require more buffer space when parsing export CFLAGS += -DCONFIG_SOCK_URLPATH_MAXLEN=128 -SUIT_VENDOR ?= "riot-os.org" -SUIT_SEQNR ?= $(APP_VER) -SUIT_CLASS ?= $(BOARD) - SUIT_MANIFEST_PAYLOADS ?= $(SLOT0_RIOT_BIN) $(SLOT1_RIOT_BIN) SUIT_MANIFEST_SLOTFILES ?= $(SLOT0_RIOT_BIN):$(SLOT0_OFFSET) \ $(SLOT1_RIOT_BIN):$(SLOT1_OFFSET)