From f4a6a4586fbc9adbbe0984451c4c0f4d5b93f7d8 Mon Sep 17 00:00:00 2001 From: unknown Date: Sun, 21 Aug 2022 15:41:43 +0200 Subject: [PATCH] Only update signing header if pubkey present --- builder/main.py | 32 +++++++++++++++++--------------- 1 file changed, 17 insertions(+), 15 deletions(-) diff --git a/builder/main.py b/builder/main.py index 821254b..92a67a6 100644 --- a/builder/main.py +++ b/builder/main.py @@ -228,21 +228,23 @@ env.Append( is_arduino_pico_build = env.BoardConfig().get("build.core", "arduino") == "earlephilhower" and "arduino" in env.get("PIOFRAMEWORK") target_gen_header = None if is_arduino_pico_build: - header_file = join(env.subst("$BUILD_DIR"), "core", "Updater_Signing.h") - env.Prepend(CFLAGS=['-I"%s"' % join("$BUILD_DIR", "core")]) - signing_header_cmd = env.Command( - join("$BUILD_DIR", "core", "Updater_Signing.h"), # $TARGET - join("$PROJECT_SRC_DIR", "public.key"), # $SOURCE - env.VerboseAction(" ".join([ - '"$PYTHONEXE" "%s"' % join( - platform.get_package_dir("framework-arduinopico"), "tools", "signing.py"), - "--mode", "header", - "--publickey", '"$SOURCE"', - "--out", "$TARGET" - ]), "Generating $TARGET") - ) - target_gen_header = env.Alias("gen_header", signing_header_cmd) - AlwaysBuild(target_gen_header) + pubkey = join(env.subst("$PROJECT_SRC_DIR"), "public.key") + if isfile(pubkey): + header_file = join(env.subst("$BUILD_DIR"), "core", "Updater_Signing.h") + env.Prepend(CFLAGS=['-I"%s"' % join("$BUILD_DIR", "core")]) + signing_header_cmd = env.Command( + join("$BUILD_DIR", "core", "Updater_Signing.h"), # $TARGET + join("$PROJECT_SRC_DIR", "public.key"), # $SOURCE + env.VerboseAction(" ".join([ + '"$PYTHONEXE" "%s"' % join( + platform.get_package_dir("framework-arduinopico"), "tools", "signing.py"), + "--mode", "header", + "--publickey", '"$SOURCE"', + "--out", "$TARGET" + ]), "Generating $TARGET") + ) + target_gen_header = env.Alias("gen_header", signing_header_cmd) + AlwaysBuild(target_gen_header) # # Target: Build executable and linkable firmware