diff --git a/projects/dav1d/Dockerfile b/projects/dav1d/Dockerfile index e8f0cda3c..c06c00705 100644 --- a/projects/dav1d/Dockerfile +++ b/projects/dav1d/Dockerfile @@ -16,11 +16,14 @@ FROM gcr.io/oss-fuzz-base/base-builder MAINTAINER janne-vlc@jannau.net -RUN apt-get update && apt-get install -y curl python3-pip wget && \ + +ADD bionic.list /etc/apt/sources.list.d/bionic.list +ADD nasm_apt.pin /etc/apt/preferences + +RUN apt-get update && apt-get install -y curl python3-pip nasm && \ pip3 install meson ninja -RUN wget http://www.nasm.us/pub/nasm/releasebuilds/2.13.02/nasm-2.13.02.tar.gz RUN curl --silent -O https://storage.googleapis.com/aom-test-data/fuzzer/dec_fuzzer_seed_corpus.zip RUN curl --silent -O https://jannau.net/dav1d_fuzzer_seed_corpus.zip RUN git clone --depth 1 https://code.videolan.org/videolan/dav1d.git dav1d WORKDIR dav1d -COPY build.sh fuzzer.options $SRC/ +COPY build.sh $SRC/ diff --git a/projects/dav1d/bionic.list b/projects/dav1d/bionic.list new file mode 100644 index 000000000..8621803a7 --- /dev/null +++ b/projects/dav1d/bionic.list @@ -0,0 +1,2 @@ +# use nasm 2.13.02 from bionic +deb http://archive.ubuntu.com/ubuntu/ bionic universe diff --git a/projects/dav1d/build.sh b/projects/dav1d/build.sh index 1f74edf81..cbaf695a4 100755 --- a/projects/dav1d/build.sh +++ b/projects/dav1d/build.sh @@ -29,27 +29,11 @@ BUILD_ASM="true" if [[ $CFLAGS = *sanitize=memory* ]] then BUILD_ASM="false" -else - # Build the specific nasm version without memory instrumentation. - pushd $SRC - - BUILD_DEPS="$SRC/build_deps" - mkdir -p $BUILD_DEPS - - tar xzf nasm-* - cd nasm-* - CFLAGS="" CXXFLAGS="" ./configure --prefix="$BUILD_DEPS" - make clean - make -j$(nproc) - make install - - export PATH="$BUILD_DEPS/bin:$PATH" - export LD_LIBRARY_PATH="$BUILD_DEPS/lib" - popd fi meson -Dbuild_asm=$BUILD_ASM -Dbuild_tools=false -Dfuzzing_engine=oss-fuzz \ -Db_lundef=false -Ddefault_library=static -Dbuildtype=debugoptimized \ + -Dlogging=false \ ${build} ninja -j $(nproc) -C ${build} @@ -64,5 +48,4 @@ cp $SRC/dec_fuzzer_seed_corpus.zip ${WORK}/tmp/seed_corpus.zip for fuzzer in $(find ${build} -name 'dav1d_fuzzer*'); do cp "${fuzzer}" $OUT/ cp ${WORK}/tmp/seed_corpus.zip $OUT/$(basename "$fuzzer")_seed_corpus.zip - cp $SRC/fuzzer.options $OUT/$(basename "$fuzzer").options done diff --git a/projects/dav1d/fuzzer.options b/projects/dav1d/fuzzer.options deleted file mode 100644 index 617d90c71..000000000 --- a/projects/dav1d/fuzzer.options +++ /dev/null @@ -1,3 +0,0 @@ -[libfuzzer] -# TODO: remove this when error logging can be suppressed during compilation. -close_fd_mask = 2 diff --git a/projects/dav1d/nasm_apt.pin b/projects/dav1d/nasm_apt.pin new file mode 100644 index 000000000..69099026b --- /dev/null +++ b/projects/dav1d/nasm_apt.pin @@ -0,0 +1,7 @@ +Package: * +Pin: release n=bionic +Pin-Priority: 1 + +Package: nasm +Pin: release n=bionic +Pin-Priority: 555