Skip to content

Commit

Permalink
Allow DockerFile to now take a USER argument so the container and hos…
Browse files Browse the repository at this point in the history
…t are in sync about database pre-fix
  • Loading branch information
AndrewQuijano committed Jul 21, 2024
1 parent af1553c commit ffad7e3
Showing 1 changed file with 20 additions and 7 deletions.
27 changes: 20 additions & 7 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -1,25 +1,30 @@
ARG NAME=default
ARG BASE_IMAGE="ubuntu:22.04"

### BASE IMAGE
FROM $BASE_IMAGE AS base
ARG BASE_IMAGE
ARG NAME

ENV DEBIAN_FRONTEND=noninteractive
ENV LLVM_DIR=/usr/lib/llvm-11
ENV PATH="/scripts:${PATH}"
ENV PROTOCOL_BUFFERS_PYTHON_IMPLEMENTATION=python

ENV USER=afq2003
ENV USER=${NAME}

# Copy dependencies lists into container. We copy them all and then do a mv because
# we need to transform base_image into a windows compatible filename which we can't
# do in a COPY command.
COPY ./wheezy_panda2.qcow2 /
COPY ./dependencies/* /tmp
COPY ./requirements.txt /tmp
COPY ./init-host.py /

# Copy the rest of the files
COPY ./target_bins /target_bins
COPY ./target_configs /target_configs
COPY ./scripts /scripts
COPY ./init-host.py /
COPY ./tools/ /tools

RUN mv /tmp/$(echo "$BASE_IMAGE" | sed 's/:/_/g')_build.txt /tmp/build_dep.txt && \
mv /tmp/$(echo "$BASE_IMAGE" | sed 's/:/_/g')_base.txt /tmp/base_dep.txt
Expand All @@ -32,12 +37,14 @@ RUN [ -e /tmp/base_dep.txt ] && \

# Finally: Install panda debian package, you need a version that has the Dwarf2 Plugin
RUN curl -LJO https://github.com/panda-re/panda/releases/download/v1.8.23/pandare_22.04.deb
RUN apt install -qq -y ./pandare_22.04.deb
RUN mv ./pandare_22.04.deb /tmp
RUN apt install -qq -y /tmp/pandare_22.04.deb
RUN pip install -r /tmp/requirements.txt

### BUILD IMAGE - STAGE 2
FROM base AS builder
ARG BASE_IMAGE
ARG NAME

RUN [ -e /tmp/build_dep.txt ] && \
apt-get -qq update && \
Expand All @@ -48,8 +55,8 @@ RUN python3 init-host.py

#### Develop setup: panda built + pypanda installed (in develop mode) - Stage 3
FROM builder AS developer

COPY ./tools/ /tools
ARG BASE_IMAGE
ARG NAME

# Essentially same as setup_container.sh
RUN cd /tools/btrace && ./compile.sh
Expand All @@ -60,5 +67,11 @@ RUN mkdir -p /tools/install

RUN cmake -B"/tools/build" -H"/tools" -DCMAKE_INSTALL_PREFIX="/tools/install"
RUN make --no-print-directory -j4 install -C "/tools/build/lavaTool"

RUN make --no-print-directory -j4 install -C "/tools/build/fbi"

RUN useradd ${NAME}
RUN chown -R ${NAME}:${NAME} /tools/
RUN chown -R ${NAME}:${NAME} /scripts/
RUN chown -R ${NAME}:${NAME} /target_bins/
RUN chown -R ${NAME}:${NAME} /target_configs/
USER $NAME

0 comments on commit ffad7e3

Please sign in to comment.