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"]