make dockerfile better

This commit is contained in:
van Hauser 2020-05-28 14:34:50 +02:00
parent 8a2656681f
commit b87d97aa2b
2 changed files with 19 additions and 7 deletions

View File

@ -11,8 +11,8 @@ LABEL "about"="AFLplusplus docker image"
ARG DEBIAN_FRONTEND=noninteractive
RUN apt-get update && apt-get -y install \
--no-install-suggests --no-install-recommends \
RUN apt-get update && apt-get upgrade -y && \
apt-get -y install --no-install-suggests --no-install-recommends \
automake \
bison flex \
build-essential \
@ -21,7 +21,7 @@ RUN apt-get update && apt-get -y install \
libtool libtool-bin \
libglib2.0-dev \
wget vim jupp nano \
apt-utils apt-transport-https ca-certificates gnupg \
apt-utils apt-transport-https ca-certificates gnupg dialog \
libpixman-1-dev
RUN echo deb http://apt.llvm.org/focal/ llvm-toolchain-focal main >> /etc/apt/sources.list && \
@ -33,7 +33,7 @@ RUN echo deb http://ppa.launchpad.net/ubuntu-toolchain-r/test/ubuntu focal main
RUN apt-get update && apt-get upgrade -y
RUN apt-get install -y gcc-10 g++-10 gcc-10-plugin-dev gcc-10-multilib \
libc++-10-dev gdb
libc++-10-dev gdb lcov
RUN apt-get install -y clang-11 clang-tools-11 libc++1-11 libc++-11-dev \
libc++abi1-11 libc++abi-11-dev libclang1-11 libclang-11-dev \
@ -44,15 +44,19 @@ RUN apt-get install -y clang-11 clang-tools-11 libc++1-11 libc++-11-dev \
RUN update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-10 0
RUN update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-10 0
RUN rm -rf /var/lib/apt/lists/*
RUN rm -rf /var/cache/apt/archives/*
ARG CC=gcc-10
ARG CXX=g++-10
ARG LLVM_CONFIG=llvm-config-11
RUN git clone https://github.com/AFLplusplus/AFLplusplus
RUN cd AFLplusplus && export REAL_CXX=g++-10 && make distrib && \
make install && make clean
RUN git clone https://github.com/vanhauser-thc/afl-cov afl-cov
RUN cd afl-cov && make install
RUN echo 'alias joe="jupp --wordwrap"' >> ~/.bashrc
ENV AFL_SKIP_CPUFREQ=1

View File

@ -133,7 +133,15 @@ For everyone who wants to contribute (and send pull requests) please read
## Building and installing afl++
afl++ has many build options.
An easy way to install afl++ with everything compiled is available via docker:
```shell
docker pull aflplusplus/aflplusplus
docker run -ti -v /location/of/your/target:/src aflplusplus/aflplusplus
```
This container is automatically generated when a push to master happens.
You will find your target source code in /src in the container.
If you want to build afl++ yourself you have many options.
The easiest is to build and install everything:
```shell