1
0
mirror of https://github.com/trezor/trezor-firmware.git synced 2024-12-30 18:10:56 +00:00
trezor-firmware/core/build-docker.sh

39 lines
978 B
Bash
Raw Normal View History

#!/bin/sh
2017-11-04 00:56:05 +00:00
set -e
cd "$(dirname $0)/.."
if [ "$1" = "--gcc_source" ]; then
2018-10-12 12:13:39 +00:00
TOOLCHAIN_FLAVOR=src
shift
else
2018-10-12 12:13:39 +00:00
TOOLCHAIN_FLAVOR=linux
fi
2018-10-12 12:13:39 +00:00
IMAGE=trezor-core-build.$TOOLCHAIN_FLAVOR
TAG=${1:-master}
REPOSITORY=${2:-trezor}
PRODUCTION=${PRODUCTION:-0}
if [ "$REPOSITORY" = "local" ]; then
REPOSITORY=file:///local/
else
REPOSITORY=https://github.com/$REPOSITORY/trezor-firmware.git
fi
2017-11-04 00:56:05 +00:00
docker build -t $IMAGE --build-arg TOOLCHAIN_FLAVOR=$TOOLCHAIN_FLAVOR ci/
USER=$(ls -lnd . | awk '{ print $3 }')
GROUP=$(ls -lnd . | awk '{ print $4 }')
mkdir -p $(pwd)/build/core
docker run -t -v $(pwd):/local -v $(pwd)/build/core:/build:z --user="$USER:$GROUP" $IMAGE /bin/sh -c "\
2018-10-23 10:00:42 +00:00
cd /tmp && \
git clone $REPOSITORY trezor-firmware && \
cd trezor-firmware/core && \
2017-11-04 00:56:05 +00:00
ln -s /build build &&
git checkout $TAG && \
git submodule update --init --recursive && \
2019-04-30 11:13:57 +00:00
pipenv install && \
PRODUCTION=$PRODUCTION pipenv run make clean vendor build_boardloader build_bootloader build_firmware"