@@ -11,34 +11,52 @@ COPY ./*.py /opt/app/
11
11
COPY requirements.txt /opt/app/requirements.txt
12
12
13
13
# Install packages
14
- RUN yum update -y
15
- RUN yum install -y cpio python3-pip yum-utils zip unzip less
16
- RUN yum install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
17
-
18
- # This had --no-cache-dir, tracing through multiple tickets led to a problem in wheel
19
- RUN pip3 install -r requirements.txt
20
- RUN rm -rf /root/.cache/pip
14
+ RUN yum update -y && \
15
+ amazon-linux-extras install epel -y && \
16
+ yum install -y cpio yum-utils tar.x86_64 gzip zip python3-pip shadow-utils.x86_64 && \
17
+ pip3 install -r requirements.txt && \
18
+ rm -rf /root/.cache/pip
21
19
22
20
# Download libraries we need to run in lambda
23
21
WORKDIR /tmp
24
- RUN yumdownloader -x \* i686 --archlist=x86_64 clamav clamav-lib clamav-update json-c pcre2 libprelude gnutls libtasn1 lib64nettle nettle
25
- RUN rpm2cpio clamav-0*.rpm | cpio -idmv
26
- RUN rpm2cpio clamav-lib*.rpm | cpio -idmv
27
- RUN rpm2cpio clamav-update*.rpm | cpio -idmv
28
- RUN rpm2cpio json-c*.rpm | cpio -idmv
29
- RUN rpm2cpio pcre*.rpm | cpio -idmv
30
- RUN rpm2cpio gnutls* | cpio -idmv
31
- RUN rpm2cpio nettle* | cpio -idmv
32
- RUN rpm2cpio lib* | cpio -idmv
33
- RUN rpm2cpio *.rpm | cpio -idmv
34
- RUN rpm2cpio libtasn1* | cpio -idmv
22
+ RUN yumdownloader -x \* i686 --archlist=x86_64 \
23
+ clamav clamav-lib clamav-update json-c \
24
+ pcre2 libtool-ltdl libxml2 bzip2-libs \
25
+ xz-libs libprelude gnutls nettle
26
+
27
+ RUN rpm2cpio clamav-0*.rpm | cpio -vimd && \
28
+ rpm2cpio clamav-lib*.rpm | cpio -vimd && \
29
+ rpm2cpio clamav-update*.rpm | cpio -vimd && \
30
+ rpm2cpio json-c*.rpm | cpio -vimd && \
31
+ rpm2cpio pcre*.rpm | cpio -vimd && \
32
+ rpm2cpio libtool-ltdl*.rpm | cpio -vimd && \
33
+ rpm2cpio libxml2*.rpm | cpio -vimd && \
34
+ rpm2cpio bzip2-libs*.rpm | cpio -vimd && \
35
+ rpm2cpio xz-libs*.rpm | cpio -vimd && \
36
+ rpm2cpio libprelude*.rpm | cpio -vimd && \
37
+ rpm2cpio gnutls*.rpm | cpio -vimd && \
38
+ rpm2cpio nettle*.rpm | cpio -vimd
39
+
35
40
36
41
# Copy over the binaries and libraries
37
- RUN cp /tmp/usr/bin/clamscan /tmp/usr/bin/freshclam /tmp/usr/lib64/* /opt/app/bin/
42
+ RUN cp /tmp/usr/bin/clamscan \
43
+ /tmp/usr/bin/freshclam \
44
+ /tmp/usr/lib64/* \
45
+ /usr/lib64/libpcre.so.1 \
46
+ /opt/app/bin/
38
47
39
48
# Fix the freshclam.conf settings
40
- RUN echo "DatabaseMirror database.clamav.net" > /opt/app/bin/freshclam.conf
41
- RUN echo "CompressLocalDatabase yes" >> /opt/app/bin/freshclam.conf
49
+ RUN echo "DatabaseMirror database.clamav.net" > /opt/app/bin/freshclam.conf && \
50
+ echo "CompressLocalDatabase yes" >> /opt/app/bin/freshclam.conf && \
51
+ echo "ScriptedUpdates no" >> /opt/app/bin/freshclam.conf && \
52
+ echo "DatabaseDirectory /var/lib/clamav" >> /opt/app/bin/freshclam.conf
53
+
54
+ RUN groupadd clamav
55
+ RUN useradd -g clamav -s /bin/false -c "Clam Antivirus" clamav
56
+ RUN useradd -g clamav -s /bin/false -c "Clam Antivirus" clamupdate
57
+
58
+ ENV LD_LIBRARY_PATH=/opt/app/bin
59
+ RUN ldconfig
42
60
43
61
# Create the zip file
44
62
WORKDIR /opt/app
0 commit comments