# Copyright 2021 The Chromium OS Authors. All rights reserved. # Use of this source code is governed by a BSD-style license that can be # found in the LICENSE file. # # Docker container to build crosvm for the host architecture. # Build-argument of the image tag of dependencies to use. Set to the same # version as `ci/image_tag` ARG TAG # Stage containing VM data to be used later. # (COPY --from does not allow the use of ARGs) FROM gcr.io/crosvm-packages/crosvm_test_vm_amd64:${TAG} as vm # Main stage FROM gcr.io/crosvm-packages/crosvm_base:${TAG} # Install libraries needed to compile crosvm and it's dependencies. RUN apt-get install --yes --no-install-recommends \ libcap-dev \ libdbus-1-dev \ libdrm-dev \ libepoxy-dev \ libssl-dev \ libwayland-dev \ qemu-system-x86 RUN apt-get install --yes -t testing --no-install-recommends \ libdrm-dev \ libepoxy-dev # Allow GCC/Rust to find packages and libraries stored on the scratch volume. ENV LIBRARY_PATH=/workspace/scratch/lib ENV LD_LIBRARY_PATH=/workspace/scratch/lib ENV PKG_CONFIG_PATH=/workspace/scratch/lib/pkgconfig # Include test VM inside this container COPY --from=vm \ /workspace/vm/* \ /workspace/vm/ COPY --from=vm \ /root/.ssh /root/.ssh # Setup entrypoint and interactive shell WORKDIR /workspace/src/platform/crosvm COPY bashrc /root/.bashrc COPY entrypoint /workspace ENTRYPOINT ["/workspace/entrypoint"]