https://docs.docker.com/engine/userguide/eng-image/dockerfile_best-practices/
I ran into this because I was getting errors locally, like:
E: Failed to fetch http://archive.ubuntu.com/ubuntu/pool/main/d/dpkg/libdpkg-perl_1.18.4ubuntu1.1_all.deb 404 Not Found [IP: 91.189.88.149 80]
It turns out you get these if you don't update, and the official best practices are to `run apt-get update && apt-get install`. In fact, running _any_ apt-get install command without the apt-get update && before it can result in unfortunate caching artifacts -- see "cache busting". (P.S. thanks to Peng on Freenode for helping me, I'm bad at Ubuntu.)
So:
sed -re \
's/RUN apt-get ((-y )?(install|build-dep))/RUN apt-get update \&\& apt-get \1/' -i \
projects/**/Dockerfile
I also manually fixed the cases that already ran apt-get update in their Dockerfile:
dlplibs/Dockerfile
grpc/Dockerfile
libreoffice/Dockerfile
Botan's fuzzers now have builtin maximums where necessary, instead of relying on
max len option. So the code to generate the .options files goes. Suggested by
@kcc in #150
Use corpus for the common formats, seems to help with initial coverage at least.
Disables Botan's pool allocator at build time, since it hides things from ASan.
The fuzzer driver already tries to disable it at runtime in LLVMFuzzerInitialize,
but the Clusterfuzz coverage report indicates that this init function is not
ever called, and the pool allocator ends up being used.