diff options
Diffstat (limited to 'build_external/clean-install.Dockerfile')
-rw-r--r-- | build_external/clean-install.Dockerfile | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/build_external/clean-install.Dockerfile b/build_external/clean-install.Dockerfile new file mode 100644 index 00000000..0ee154e3 --- /dev/null +++ b/build_external/clean-install.Dockerfile @@ -0,0 +1,40 @@ +ARG DISTRO=arch +ARG VERSION=current +FROM netdata/package-builders:${DISTRO}${VERSION} + +ARG ACLK=no +ARG EXTRA_CFLAGS + +COPY . /opt/netdata/source +WORKDIR /opt/netdata/source + +RUN git config --global user.email "root@container" +RUN git config --global user.name "Fake root" + +# RUN make distclean -> not safe if tree state changed on host since last config +# Kill everything that is not in .gitignore preserving any fresh changes, i.e. untracked changes will be +# deleted but local changes to tracked files will be preserved. +RUN if git status --porcelain | grep '^[MADRC]'; then \ + git stash && git clean -dxf && (git stash apply || true) \ + else \ + git clean -dxf ; \ + fi + +# Not everybody is updating distclean properly - fix. +RUN find . -name '*.Po' -exec rm \{\} \; +RUN rm -rf autom4te.cache +RUN rm -rf .git/ +RUN find . -type f >/opt/netdata/manifest + +RUN CFLAGS="-O1 -ggdb -Wall -Wextra -Wformat-signedness -DNETDATA_INTERNAL_CHECKS=1\ + -DNETDATA_VERIFY_LOCKS=1 ${EXTRA_CFLAGS}" ./netdata-installer.sh --disable-lto + +RUN ln -sf /dev/stdout /var/log/netdata/access.log && \ + ln -sf /dev/stdout /var/log/netdata/debug.log && \ + ln -sf /dev/stderr /var/log/netdata/error.log && \ + ln -sf /dev/stdout /var/log/netdata/fluentbit.log + +RUN rm /var/lib/netdata/registry/netdata.public.unique.id + +CMD ["/usr/sbin/netdata","-D"] +ENTRYPOINT [] |