github.com/containers/libpod@v1.9.4-0.20220419124438-4284fd425507/contrib/gate/Dockerfile (about) 1 FROM fedora:31 2 RUN dnf -y install \ 3 btrfs-progs-devel \ 4 bzip2 \ 5 container-selinux \ 6 containernetworking-cni \ 7 device-mapper-devel \ 8 findutils \ 9 git \ 10 glib2-devel \ 11 glibc-static \ 12 golang \ 13 gpgme-devel \ 14 iptables \ 15 libassuan-devel \ 16 libseccomp-devel \ 17 libselinux-devel \ 18 lsof \ 19 make \ 20 nmap-ncat \ 21 procps-ng \ 22 python \ 23 python3-dateutil \ 24 python3-pip \ 25 python3-psutil \ 26 python3-pytoml \ 27 python3-pyyaml \ 28 python3-varlink \ 29 rsync \ 30 slirp4netns \ 31 unzip \ 32 which \ 33 xz \ 34 zip \ 35 && dnf clean all 36 37 ENV GOPATH="/var/tmp/go" \ 38 GOBIN="/var/tmp/go/bin" \ 39 PATH="/var/tmp/go/bin:/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin" \ 40 SRCPATH="/usr/src/libpod" \ 41 GOSRC="/var/tmp/go/src/github.com/containers/libpod" 42 43 # Only needed for installing build-time dependencies, then will be removed 44 COPY / $GOSRC 45 46 # Install dependencies 47 RUN set -x && \ 48 mkdir -p "$GOBIN" && \ 49 mkdir -p /etc/cni/net.d && \ 50 mkdir -p /etc/containers && \ 51 install -D -m 755 $GOSRC/contrib/gate/entrypoint.sh /usr/local/bin/ && \ 52 python3 -m pip install pre-commit 53 54 # Install cni config 55 COPY cni/87-podman-bridge.conflist /etc/cni/net.d/87-podman-bridge.conflist 56 # Make sure we have some policy for pulling images 57 COPY test/policy.json /etc/containers/policy.json 58 COPY test/redhat_sigstore.yaml /etc/containers/registries.d/registry.access.redhat.com.yaml 59 60 WORKDIR "$GOSRC" 61 RUN make install.tools && \ 62 cd / && \ 63 rm -rf "$GOSRC" && \ 64 mkdir -p "$GOSRC" 65 VOLUME ["/usr/src/libpod"] 66 # This entrypoint will synchronize the above volume ($SRCPATH) to $GOSRC before 67 # executing make. This ensures the original source remains prestine and is never 68 # modified by any lint/validation checks. 69 ENTRYPOINT ["/usr/local/bin/entrypoint.sh"]