crosvm/tools/install-deps
Ryuichiro Chiba df7a2e51bf e2e_tests: Add a tool to dev_container and guest rootfs
Add a tool used in vsock tests to dev_container and guest rootfs

BUG=b:254375643
TEST=`./tools/presubmit` with the new guest rootfs on the new
dev_container

Change-Id: I135e6d2d413bedffef0fd69edd4ab14080429e3a
Reviewed-on: https://chromium-review.googlesource.com/c/crosvm/crosvm/+/3974349
Reviewed-by: Dennis Kempin <denniskempin@google.com>
Reviewed-by: Takaya Saeki <takayas@chromium.org>
Commit-Queue: Ryuichiro Chiba <chibar@chromium.org>
Reviewed-by: Keiichi Watanabe <keiichiw@chromium.org>
2022-11-07 04:00:40 +00:00

90 lines
2.2 KiB
Bash
Executable file

#!/usr/bin/env bash
# Copyright 2021 The ChromiumOS Authors
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
set -ex
sudo apt-get update
sudo apt-get install --yes --no-install-recommends \
ca-certificates \
clang \
cloud-image-utils \
curl \
dpkg-dev \
expect \
gcc \
git \
jq \
libasound2-dev \
libavcodec-dev \
libavutil-dev \
libclang-dev \
libdbus-1-dev \
libdrm-dev \
libepoxy-dev \
libglib2.0-dev \
libguestfs-tools \
libslirp-dev \
libssl-dev \
libswscale-dev \
libudev-dev \
libva-dev \
libwayland-dev \
libxext-dev \
make \
mold \
nasm \
ncat \
ninja-build \
openssh-client \
pkg-config \
python3 \
python3-pip \
python3-setuptools \
qemu-system-x86 \
rsync \
screen \
tmux \
wget \
wine64 \
gcc-mingw-w64-x86-64-win32 \
wayland-protocols
pip3 install \
meson \
mdformat \
argh \
mypy \
black
if ! command -v rustup &>/dev/null; then
wget "https://static.rust-lang.org/rustup/archive/1.25.1/x86_64-unknown-linux-gnu/rustup-init"
echo "5cc9ffd1026e82e7fb2eec2121ad71f4b0f044e88bca39207b3f6b769aaa799c *rustup-init" | sha256sum -c -
chmod +x rustup-init
./rustup-init -y --no-modify-path --profile minimal --default-toolchain none
rm rustup-init
fi
# Install required rust components.
# This will also ensure the toolchain required by ./rust-toolchain is installed.
rustup component add cargo clippy rustfmt
# LLVM tools are used to generate and process coverage files
rustup component add llvm-tools-preview
# Allow cross-compilation via mingw64
rustup target add x86_64-pc-windows-gnu
# The bindgen tool is required to build a crosvm dependency.
cargo install -f bindgen --version=0.60.1
# binutils are wrappers to call the rustup bundled versions of llvm tools.
cargo install -f cargo-binutils
# Install dependencies used to generate mdbook documentation.
$(dirname "$0")/install-docs-deps
# Install wine related dependencies if this is a local install and not a docker build
if [[ -z "${DOCKER_WINE_SETUP}" ]]; then
$(dirname "$0")/install-wine-deps
fi