github.com/anchore/syft@v1.38.2/syft/pkg/cataloger/binary/test-fixtures/elf-test-fixtures/Dockerfile (about) 1 FROM rockylinux:8 AS base 2 3 RUN dnf update -y; \ 4 dnf install make automake gcc gcc-c++ kernel-devel -y; \ 5 dnf clean all 6 RUN mkdir -p /usr/local/bin/elftests/elfbinwithnestedlib 7 RUN mkdir -p /usr/local/bin/elftests/elfbinwithsisterlib 8 RUN mkdir -p /usr/local/bin/elftests/elfbinwithcorrupt 9 10 COPY ./elfbinwithnestedlib /usr/local/bin/elftests/elfbinwithnestedlib 11 COPY ./elfbinwithsisterlib /usr/local/bin/elftests/elfbinwithsisterlib 12 COPY ./elfbinwithcorrupt /usr/local/bin/elftests/elfbinwithcorrupt 13 14 ENV LD_LIBRARY_PATH=/usr/local/bin/elftests/elfbinwithnestedlib/bin/lib 15 16 WORKDIR /usr/local/bin/elftests/elfbinwithnestedlib/ 17 RUN make 18 19 WORKDIR /usr/local/bin/elftests/elfbinwithsisterlib 20 RUN make 21 WORKDIR /usr/local/bin/elftests/elfbinwithcorrupt 22 RUN make 23 24 # let's make the test image smaller, since we only require the built binaries and supporting libraries 25 FROM busybox:1.36.1-musl 26 27 COPY --from=base /usr/local/bin/elftests /usr/local/bin/elftests 28 COPY --from=base /var/lib/rpm /var/lib/rpm 29 COPY --from=base '/usr/lib64/libstdc++.so.6.0.25' '/usr/lib64/libstdc++.so.6.0.25' 30 COPY --from=base '/usr/lib64/libstdc++.so.6' '/usr/lib64/libstdc++.so.6' 31 COPY --from=base '/usr/lib64/libc.so.6' '/usr/lib64/libc.so.6' 32 COPY --from=base '/usr/lib64/libc.so' '/usr/lib64/libc.so' 33 34 # prove we can operate over symlinks (/lib64 -> usr/lib64) 35 RUN ln -s /usr/lib64 /lib64