33# Copyright (C) 2020 Olliver Schinagl <[email protected] >44# Copyright (C) 2021-2022 Cisco Systems, Inc. and/or its affiliates. All rights reserved.
55
6- # hadolint ignore=DL3007 latest is the latest stable for alpine
7- FROM index.docker.io/library/alpine:latest AS builder
6+ FROM index.docker.io/library/rust:1.62.1-bullseye AS builder
87
98WORKDIR /src
109
1110COPY . /src/
1211
13- # hadolint ignore=DL3008 We want the latest stable versions
14- RUN apk add --no-cache \
15- bsd-compat-headers \
16- bzip2-dev \
17- check-dev \
12+ ENV DEBIAN_FRONTEND noninteractive
13+
14+ RUN apt update && apt install -y \
1815 cmake \
19- curl-dev \
20- file \
21- fts-dev \
22- g++ \
16+ bison \
17+ flex \
18+ gcc \
2319 git \
24- json-c-dev \
20+ make \
21+ man-db \
22+ net-tools \
23+ pkg-config \
24+ python3 \
25+ python3-pip \
26+ python3-pytest \
27+ check \
28+ libbz2-dev \
29+ libcurl4-openssl-dev \
30+ libjson-c-dev \
2531 libmilter-dev \
26- libtool \
32+ libncurses5-dev \
33+ libpcre2-dev \
34+ libssl-dev \
2735 libxml2-dev \
28- linux-headers \
29- make \
30- ncurses-dev \
31- openssl-dev \
32- pcre2-dev \
33- py3-pytest \
34- zlib-dev \
35- rust \
36- cargo \
36+ zlib1g-dev \
37+ && \
38+ rm -rf /var/cache/apt/archives \
39+ && \
40+ mkdir -p "./build" && cd "./build" \
3741 && \
38- mkdir -p "./build" && cd "./build" && \
3942 cmake .. \
43+ -DCARGO_HOME="/src/build" \
4044 -DCMAKE_BUILD_TYPE="Release" \
4145 -DCMAKE_INSTALL_PREFIX="/usr" \
4246 -DCMAKE_INSTALL_LIBDIR="/usr/lib" \
@@ -47,8 +51,10 @@ RUN apk add --no-cache \
4751 -DENABLE_JSON_SHARED=ON \
4852 -DENABLE_MAN_PAGES=OFF \
4953 -DENABLE_MILTER=ON \
50- -DENABLE_STATIC_LIB=OFF && \
51- make DESTDIR="/clamav" -j$(($(nproc) - 1)) install && \
54+ -DENABLE_STATIC_LIB=OFF \
55+ && \
56+ make DESTDIR="/clamav" -j$(($(nproc) - 1)) install \
57+ && \
5258 rm -r \
5359 "/clamav/usr/include" \
5460 "/clamav/usr/lib/pkgconfig/" \
@@ -77,38 +83,39 @@ RUN apk add --no-cache \
7783 -e "s|^\#\( LogTime\) .*|\1 yes|" \
7884 -e "s|.*\(\C lamdSocket\) .*|\1 unix:/run/clamav/clamd.sock|" \
7985 "/clamav/etc/clamav/clamav-milter.conf.sample" > "/clamav/etc/clamav/clamav-milter.conf" || \
80- exit 1 && \
86+ exit 1 \
87+ && \
8188 ctest -V
8289
83- FROM index.docker.io/library/alpine:latest
90+ FROM index.docker.io/library/debian:11-slim
8491
8592LABEL maintainer=
"ClamAV bugs <[email protected] >" 8693
8794EXPOSE 3310
8895EXPOSE 7357
8996
97+ ENV DEBIAN_FRONTEND=noninteractive
9098ENV TZ Etc/UTC
9199
92- RUN apk add --no-cache \
93- fts \
94- json-c \
95- libbz2 \
96- libcurl \
97- libltdl \
98- libmilter \
99- libstdc++ \
100+ RUN apt-get update && apt-get install -y \
101+ libbz2-1.0 \
102+ libcurl4 \
103+ libssl1.1 \
104+ libjson-c5 \
105+ libmilter1.0.1 \
106+ libncurses5 \
107+ libpcre2-8-0 \
100108 libxml2 \
101- ncurses-libs \
102- pcre2 \
103- tini \
109+ zlib1g \
104110 tzdata \
105- zlib \
106111 && \
107- addgroup -S "clamav" && \
108- adduser -D -G "clamav" -h "/var/lib/clamav" -s "/bin/false" -S "clamav" && \
112+ rm -rf /var/cache/apt/archives && \
113+ groupadd "clamav" && \
114+ useradd -g clamav -s /bin/false --home-dir /var/lib/clamav -c "Clam Antivirus" clamav && \
109115 install -d -m 755 -g "clamav" -o "clamav" "/var/log/clamav"
110116
111117COPY --from=builder "/clamav" "/"
118+
112119COPY "./dockerfiles/clamdcheck.sh" "/usr/local/bin/"
113120COPY "./dockerfiles/docker-entrypoint.sh" "/init"
114121
0 commit comments