Unify the Dockerfiles by fleshing out build.sh
Script is written to handle it's own dependencies so it can be used within Docker or on the host system
This commit is contained in:
parent
276c8aa308
commit
a7df0a0279
7 changed files with 171 additions and 139 deletions
37
docker/Dockerfile
Normal file
37
docker/Dockerfile
Normal file
|
|
@ -0,0 +1,37 @@
|
|||
FROM ubuntu:18.04
|
||||
|
||||
RUN \
|
||||
apt-get update -qq && \
|
||||
apt-get install -y \
|
||||
# x86_64 / generic packages
|
||||
bash git gosu \
|
||||
cmake make build-essential \
|
||||
wget unzip \
|
||||
python3 python3-pip \
|
||||
# aarch64 packages
|
||||
libffi-dev libssl-dev python3-dev \
|
||||
&& rm -rf /var/lib/apt/lists/*;
|
||||
|
||||
RUN pip3 install adafruit-nrfutil
|
||||
|
||||
# build.sh knows how to compile
|
||||
COPY build.sh /opt/
|
||||
|
||||
# Lets get each in a separate docker layer for better downloads
|
||||
# GCC
|
||||
RUN bash -c "source /opt/build.sh; GetGcc;"
|
||||
# NrfSdk
|
||||
RUN bash -c "source /opt/build.sh; GetNrfSdk;"
|
||||
# McuBoot
|
||||
RUN bash -c "source /opt/build.sh; GetMcuBoot;"
|
||||
|
||||
# Set and arg and use it in the env for power to override at build AND runtime
|
||||
ARG USER_ID=33333
|
||||
ARG GROUP_ID=33333
|
||||
ENV USER_ID $USER_ID
|
||||
ENV GROUP_ID $GROUP_ID
|
||||
|
||||
ENV SOURCES_DIR /sources
|
||||
COPY entrypoint.sh /opt/
|
||||
ENTRYPOINT ["/opt/entrypoint.sh"]
|
||||
CMD ["/opt/build.sh"]
|
||||
Loading…
Add table
Add a link
Reference in a new issue