aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorOliver Smith <osmith@sysmocom.de>2021-03-05 15:38:48 +0100
committerOliver Smith <osmith@sysmocom.de>2021-03-05 15:38:48 +0100
commit1031d9b88441e8ca928f2e5c2205d34c80a1c5ed (patch)
treeda365f78b850b58aa9f54697ee4801a41b6cae80
parent199cd431f354b44f206b845af3b15fbbdbacefef (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-xcontrib/jenkins.sh1
-rwxr-xr-xcontrib/prepare_upload.sh14
-rw-r--r--firmware/Makefile4
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)