diff options
author | Oliver Smith <osmith@sysmocom.de> | 2021-03-05 15:38:48 +0100 |
---|---|---|
committer | Oliver Smith <osmith@sysmocom.de> | 2021-03-05 15:38:48 +0100 |
commit | 1031d9b88441e8ca928f2e5c2205d34c80a1c5ed (patch) | |
tree | da365f78b850b58aa9f54697ee4801a41b6cae80 | |
parent | 199cd431f354b44f206b845af3b15fbbdbacefef (diff) |
firmware: create duplicate files for upload only
Don't create copies of firmware files with version strings appended in
the normal build. Only do this before uploading the firmware files.
I have verified that "make" before this change and
"make; contrib/prepare_upload.sh" after produce the same files.
Close: OS#4413
Change-Id: I118a4ff397a178281c26a6b98112fa66b6f049ab
-rwxr-xr-x | contrib/jenkins.sh | 1 | ||||
-rwxr-xr-x | contrib/prepare_upload.sh | 14 | ||||
-rw-r--r-- | firmware/Makefile | 4 |
3 files changed, 15 insertions, 4 deletions
diff --git a/contrib/jenkins.sh b/contrib/jenkins.sh index 7ddfa6e..2ad7a7f 100755 --- a/contrib/jenkins.sh +++ b/contrib/jenkins.sh @@ -68,6 +68,7 @@ rm -rf $TOPDIR/firmware/bin/simtrace-cardem* if [ "x$publish" = "x--publish" ]; then echo echo "=============== UPLOAD BUILD ==============" + contrib/prepare_upload.sh cat > "/build/known_hosts" <<EOF [rita.osmocom.org]:48 ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDDgQ9HntlpWNmh953a2Gc8NysKE4orOatVT1wQkyzhARnfYUerRuwyNr1GqMyBKdSI9amYVBXJIOUFcpV81niA7zQRUs66bpIMkE9/rHxBd81SkorEPOIS84W4vm3SZtuNqa+fADcqe88Hcb0ZdTzjKILuwi19gzrQyME2knHY71EOETe9Yow5RD2hTIpB5ecNxI0LUKDq+Ii8HfBvndPBIr0BWYDugckQ3Bocf+yn/tn2/GZieFEyFpBGF/MnLbAAfUKIdeyFRX7ufaiWWz5yKAfEhtziqdAGZaXNaLG6gkpy3EixOAy6ZXuTAk3b3Y0FUmDjhOHllbPmTOcKMry9 diff --git a/contrib/prepare_upload.sh b/contrib/prepare_upload.sh new file mode 100755 index 0000000..8242fd4 --- /dev/null +++ b/contrib/prepare_upload.sh @@ -0,0 +1,14 @@ +#!/bin/sh -e +# Create copies of binaries with -latest, -$GIT_VERSION (OS#4413, OS#3452) +GIT_VERSION="$(./git-version-gen .tarball-version)" + +echo "Copying binaries with "-latest" and "-$GIT_VERSION" appended..." + +cd firmware/bin +for ext in bin elf; do + for file in *."$ext"; do + without_ext="${file%.*}" + cp -v "$file" "$without_ext-latest.$ext" + cp -v "$file" "$without_ext-$GIT_VERSION.$ext" + done +done diff --git a/firmware/Makefile b/firmware/Makefile index d7c64b9..ccf5843 100644 --- a/firmware/Makefile +++ b/firmware/Makefile @@ -211,12 +211,8 @@ ASM_OBJECTS_$(1) = $(addprefix $(OBJ)/$(1)_, $(ASM_OBJECTS)) $(1): $$(ASM_OBJECTS_$(1)) $$(C_OBJECTS_$(1)) @$(CC) $(LDFLAGS) $(LD_OPTIONAL) -T"libboard/common/resources/$(CHIP)/$$@.ld" -Wl,-Map,$(OUTPUT)-$$@.map -o $(OUTPUT)-$$@.elf $$^ $(LIBS) - cp $(OUTPUT)-$$@.elf $(OUTPUT)-$$@-$(GIT_VERSION).elf - cp $(OUTPUT)-$$@.elf $(OUTPUT)-$$@-latest.elf @$(NM) $(OUTPUT)-$$@.elf >$(OUTPUT)-$$@.elf.txt @$(OBJCOPY) -O binary $(OUTPUT)-$$@.elf $(OUTPUT)-$$@.bin - cp $(OUTPUT)-$$@.bin $(OUTPUT)-$$@-$(GIT_VERSION).bin - cp $(OUTPUT)-$$@.bin $(OUTPUT)-$$@-latest.bin @$(SIZE) $$^ $(OUTPUT)-$$@.elf $$(C_OBJECTS_$(1)): $(OBJ)/$(1)_%.o: %.c Makefile $(OBJ) $(BIN) |