forked from kanflo/opendps
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathbuild_binaries.sh
executable file
·31 lines (25 loc) · 1.02 KB
/
build_binaries.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
#!/bin/bash
# Builds OpenDPS binaries in docker and then copies it over to host machine
set -eEuo pipefail
umask 022
declare CONTAINER_ID
cleanup() {
if [ -n ${CONTAINER_ID:-} ] ; then
docker stop $CONTAINER_ID \
|| docker kill $CONTAINER_ID \
|| true
docker rm $CONTAINER_ID \
|| true
fi
}
trap cleanup EXIT HUP INT
PROJECT=$(git rev-parse --short HEAD)
echo "Building opendps git version: $PROJECT"
docker rmi --no-prune opendps_$PROJECT || true
docker build -t opendps_$PROJECT docker
CONTAINER_ID=$(docker run -td -u opendps -v $(readlink -f .):/parent:ro opendps_$PROJECT bash)
docker exec -u opendps $CONTAINER_ID /build.sh "$@"
docker cp $CONTAINER_ID:/home/opendps/code/opendps/opendps.elf ./opendps/opendps.elf
docker cp $CONTAINER_ID:/home/opendps/code/opendps/opendps.bin ./opendps/opendps.bin
docker cp $CONTAINER_ID:/home/opendps/code/dpsboot/dpsboot.elf ./dpsboot/dpsboot.elf
docker cp $CONTAINER_ID:/home/opendps/code/dpsboot/dpsboot.bin ./dpsboot/dpsboot.bin