These sections were redundant since the respective scripts already set them. Signed-off-by: Valentine Burley <valentine.burley@collabora.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34405>
228 lines
4.8 KiB
Bash
228 lines
4.8 KiB
Bash
#!/usr/bin/env bash
|
|
# shellcheck disable=SC2086 # we want word splitting
|
|
|
|
# When changing this file, you need to bump the following
|
|
# .gitlab-ci/image-tags.yml tags:
|
|
# DEBIAN_BASE_TAG
|
|
|
|
set -e
|
|
|
|
. .gitlab-ci/setup-test-env.sh
|
|
|
|
set -o xtrace
|
|
|
|
uncollapsed_section_start debian_setup "Base Debian system setup"
|
|
|
|
export DEBIAN_FRONTEND=noninteractive
|
|
|
|
apt-get install -y curl ca-certificates gnupg2 software-properties-common
|
|
|
|
sed -i -e 's/http:\/\/deb/https:\/\/deb/g' /etc/apt/sources.list.d/*
|
|
|
|
echo "deb [trusted=yes] https://gitlab.freedesktop.org/gfx-ci/ci-deb-repo/-/raw/${PKG_REPO_REV}/ ${FDO_DISTRIBUTION_VERSION%-*} main" | tee /etc/apt/sources.list.d/gfx-ci_.list
|
|
|
|
: "${LLVM_VERSION:?llvm version not set!}"
|
|
|
|
. .gitlab-ci/container/debian/maybe-add-llvm-repo.sh
|
|
|
|
# Ephemeral packages (installed for this script and removed again at the end)
|
|
EPHEMERAL=(
|
|
autoconf
|
|
automake
|
|
bc
|
|
bison
|
|
bzip2
|
|
ccache
|
|
cmake
|
|
"clang-${LLVM_VERSION}"
|
|
dpkg-dev
|
|
flex
|
|
glslang-tools
|
|
g++
|
|
libasound2-dev
|
|
libcap-dev
|
|
"libclang-cpp${LLVM_VERSION}-dev"
|
|
"libclang-rt-${LLVM_VERSION}-dev"
|
|
libdrm-dev
|
|
libegl-dev
|
|
libelf-dev
|
|
libepoxy-dev
|
|
libexpat1-dev
|
|
libgbm-dev
|
|
libgles2-mesa-dev
|
|
liblz4-dev
|
|
libpciaccess-dev
|
|
libssl-dev
|
|
libvulkan-dev
|
|
libudev-dev
|
|
libwaffle-dev
|
|
libwayland-dev
|
|
libx11-xcb-dev
|
|
libxcb-dri2-0-dev
|
|
libxcb-dri3-dev
|
|
libxcb-present-dev
|
|
libxfixes-dev
|
|
libxcb-ewmh-dev
|
|
libxext-dev
|
|
libxkbcommon-dev
|
|
libxrandr-dev
|
|
libxrender-dev
|
|
libzstd-dev
|
|
"llvm-${LLVM_VERSION}-dev"
|
|
make
|
|
meson
|
|
openssh-server
|
|
patch
|
|
pkgconf
|
|
protobuf-compiler
|
|
python3-dev
|
|
python3-pip
|
|
python3-setuptools
|
|
python3-wheel
|
|
wayland-protocols
|
|
xz-utils
|
|
)
|
|
|
|
DEPS=(
|
|
apt-utils
|
|
clinfo
|
|
curl
|
|
git
|
|
git-lfs
|
|
inetutils-syslogd
|
|
iptables
|
|
jq
|
|
kmod
|
|
libasan8
|
|
libcap2
|
|
libdrm2
|
|
libegl1
|
|
libepoxy0
|
|
libexpat1
|
|
libfdt1
|
|
"libclang-common-${LLVM_VERSION}-dev"
|
|
"libclang-cpp${LLVM_VERSION}"
|
|
"libllvm${LLVM_VERSION}"
|
|
liblz4-1
|
|
libpng16-16
|
|
libpython3.11
|
|
libubsan1
|
|
libvulkan1
|
|
libwayland-client0
|
|
libwayland-server0
|
|
libxcb-ewmh2
|
|
libxcb-randr0
|
|
libxcb-shm0
|
|
libxcb-xfixes0
|
|
libxkbcommon0
|
|
libxrandr2
|
|
libxrender1
|
|
ocl-icd-libopencl1
|
|
pciutils
|
|
python3-lxml
|
|
python3-mako
|
|
python3-numpy
|
|
python3-packaging
|
|
python3-pil
|
|
python3-renderdoc
|
|
python3-requests
|
|
python3-simplejson
|
|
python3-six
|
|
python3-yaml
|
|
socat
|
|
spirv-tools
|
|
sysvinit-core
|
|
vulkan-tools
|
|
waffle-utils
|
|
weston
|
|
xwayland
|
|
xinit
|
|
xserver-xorg-video-amdgpu
|
|
xserver-xorg-video-ati
|
|
xauth
|
|
xvfb
|
|
zlib1g
|
|
zstd
|
|
)
|
|
|
|
apt-get update
|
|
apt-get dist-upgrade -y
|
|
|
|
apt-get install --purge -y \
|
|
sysvinit-core libelogind0
|
|
|
|
apt-get install -y --no-remove "${DEPS[@]}"
|
|
|
|
apt-get install -y --no-install-recommends "${EPHEMERAL[@]}"
|
|
|
|
. .gitlab-ci/container/container_pre_build.sh
|
|
|
|
# Needed for ci-fairy, this revision is able to upload files to MinIO
|
|
# and doesn't depend on git
|
|
pip3 install --break-system-packages git+http://gitlab.freedesktop.org/freedesktop/ci-templates@ffe4d1b10aab7534489f0c4bbc4c5899df17d3f2
|
|
|
|
# Needed for manipulation with traces yaml files.
|
|
pip3 install --break-system-packages yq
|
|
|
|
section_end debian_setup
|
|
|
|
############### Download prebuilt kernel
|
|
|
|
if [ "$DEBIAN_ARCH" = amd64 ]; then
|
|
uncollapsed_section_start kernel "Downloading kernel for crosvm"
|
|
export KERNEL_IMAGE_NAME=bzImage
|
|
mkdir -p /kernel
|
|
# shellcheck disable=SC2153 # KERNEL_IMAGE_BASE is set in the root .gitlab-ci.yml file
|
|
curl -L --retry 4 -f --retry-all-errors --retry-delay 60 \
|
|
-o "/kernel/${KERNEL_IMAGE_NAME}" "${KERNEL_IMAGE_BASE}/${DEBIAN_ARCH}/${KERNEL_IMAGE_NAME}"
|
|
section_end kernel
|
|
fi
|
|
|
|
############### Build mold
|
|
|
|
. .gitlab-ci/container/build-mold.sh
|
|
|
|
############### Build LLVM-SPIRV translator
|
|
|
|
. .gitlab-ci/container/build-llvm-spirv.sh
|
|
|
|
############### Build libclc
|
|
|
|
. .gitlab-ci/container/build-libclc.sh
|
|
|
|
############### Build Wayland
|
|
|
|
. .gitlab-ci/container/build-wayland.sh
|
|
|
|
############### Install Rust toolchain
|
|
|
|
. .gitlab-ci/container/build-rust.sh
|
|
|
|
############### Build Crosvm
|
|
|
|
# crosvm build fails on ARMv7 due to Xlib type-size issues
|
|
if [ "$DEBIAN_ARCH" != "armhf" ]; then
|
|
. .gitlab-ci/container/build-crosvm.sh
|
|
fi
|
|
|
|
############### Build dEQP runner
|
|
|
|
. .gitlab-ci/container/build-deqp-runner.sh
|
|
|
|
############### Build apitrace
|
|
|
|
. .gitlab-ci/container/build-apitrace.sh
|
|
|
|
############### Uninstall the build software
|
|
|
|
uncollapsed_section_switch debian_cleanup "Cleaning up base Debian system"
|
|
|
|
apt-get purge -y "${EPHEMERAL[@]}"
|
|
|
|
# Properly uninstall rustup including cargo and init scripts on shells
|
|
rustup self uninstall -y
|
|
|
|
. .gitlab-ci/container/container_post_build.sh
|
|
|
|
section_end debian_cleanup
|