mirror of
https://github.com/rizinorg/cutter.git
synced 2024-12-14 00:38:42 +00:00
71 lines
1.7 KiB
Plaintext
71 lines
1.7 KiB
Plaintext
FROM alpine:latest AS builder
|
|
LABEL maintainer "Philipp Schmied <ps1337@mailbox.org>"
|
|
|
|
# Prevent build fails because of interactive scripts when compiling
|
|
ENV DEBIAN_FRONTEND noninteractive
|
|
|
|
# Dependencies
|
|
RUN apk add --no-cache \
|
|
bash \
|
|
cmake \
|
|
curl \
|
|
g++ \
|
|
gcc \
|
|
git \
|
|
linux-headers \
|
|
make \
|
|
pkgconfig \
|
|
python3-dev \
|
|
qt5-qtbase \
|
|
qt5-qtsvg-dev \
|
|
qt5-qttools-dev \
|
|
unzip \
|
|
wget
|
|
|
|
# install radare2 first
|
|
COPY docker/build_radare2.sh /opt/cutter/
|
|
COPY radare2 /opt/cutter/radare2
|
|
|
|
WORKDIR /opt/cutter
|
|
RUN bash build_radare2.sh
|
|
|
|
COPY docker/build_cutter.sh /opt/cutter/
|
|
COPY scripts /opt/cutter/scripts
|
|
COPY src /opt/cutter/src
|
|
|
|
RUN bash build_cutter.sh && \
|
|
bash -c 'if [[ ! -x "/opt/cutter/build/Cutter" ]]; then exit -1; fi'
|
|
|
|
FROM alpine:latest AS runner
|
|
ENTRYPOINT ["/usr/local/bin/entrypoint.sh"]
|
|
|
|
# Add the dependencies we need for running
|
|
RUN apk add --no-cache \
|
|
bash \
|
|
libuuid \
|
|
make \
|
|
python3 \
|
|
qt5-qtbase \
|
|
shadow \
|
|
su-exec
|
|
|
|
# Add r2 user
|
|
RUN useradd r2
|
|
|
|
# Prepare files to mount configurations later on
|
|
RUN mkdir /var/sharedFolder && \
|
|
mkdir -p /home/r2/.config/radare2 && \
|
|
touch /home/r2/.radare2rc && \
|
|
chown -R r2:r2 /var/sharedFolder && \
|
|
chown -R r2:r2 /home/r2/
|
|
|
|
COPY ./docker/entrypoint.sh /usr/local/bin/entrypoint.sh
|
|
|
|
# Get the compiled Cutter, r2 libs and bins from the builder
|
|
COPY --from=builder /opt/cutter /opt/cutter
|
|
COPY --from=builder /usr/lib /usr/lib
|
|
COPY --from=builder /usr/share/radare2 /usr/share/radare2
|
|
WORKDIR /opt/cutter/radare2/binr
|
|
RUN make install && \
|
|
make symstall install-symlink
|