17ec681f3Smrg#!/bin/bash
27ec681f3Smrg
37ec681f3Smrgset -e
47ec681f3Smrgset -o xtrace
57ec681f3Smrg
67ec681f3Smrgexport DEBIAN_FRONTEND=noninteractive
77ec681f3Smrg
87ec681f3Smrg# Ephemeral packages (installed for this script and removed again at the end)
97ec681f3SmrgSTABLE_EPHEMERAL=" \
107ec681f3Smrg      autoconf \
117ec681f3Smrg      automake \
127ec681f3Smrg      bc \
137ec681f3Smrg      bison \
147ec681f3Smrg      bzip2 \
157ec681f3Smrg      ccache \
167ec681f3Smrg      clang-11 \
177ec681f3Smrg      cmake \
187ec681f3Smrg      flex \
197ec681f3Smrg      g++ \
207ec681f3Smrg      glslang-tools \
217ec681f3Smrg      libasound2-dev \
227ec681f3Smrg      libcap-dev \
237ec681f3Smrg      libclang-cpp11-dev \
247ec681f3Smrg      libelf-dev \
257ec681f3Smrg      libfdt-dev \
267ec681f3Smrg      libgbm-dev \
277ec681f3Smrg      libgles2-mesa-dev \
287ec681f3Smrg      libllvmspirvlib-dev \
297ec681f3Smrg      libpciaccess-dev \
307ec681f3Smrg      libpng-dev \
317ec681f3Smrg      libudev-dev \
327ec681f3Smrg      libvulkan-dev \
337ec681f3Smrg      libwaffle-dev \
347ec681f3Smrg      libwayland-dev \
357ec681f3Smrg      libx11-xcb-dev \
367ec681f3Smrg      libxcb-dri2-0-dev \
377ec681f3Smrg      libxext-dev \
387ec681f3Smrg      libxkbcommon-dev \
397ec681f3Smrg      libxrender-dev \
407ec681f3Smrg      llvm-11-dev \
417ec681f3Smrg      llvm-spirv \
427ec681f3Smrg      make \
437ec681f3Smrg      meson \
447ec681f3Smrg      ocl-icd-opencl-dev \
457ec681f3Smrg      patch \
467ec681f3Smrg      pkg-config \
477ec681f3Smrg      python3-distutils \
487ec681f3Smrg      wayland-protocols \
497ec681f3Smrg      wget \
507ec681f3Smrg      xz-utils \
517ec681f3Smrg      "
527ec681f3Smrg
537ec681f3Smrgapt-get install -y --no-remove \
547ec681f3Smrg      $STABLE_EPHEMERAL \
557ec681f3Smrg      clinfo \
567ec681f3Smrg      inetutils-syslogd \
577ec681f3Smrg      iptables \
587ec681f3Smrg      libclang-common-11-dev \
597ec681f3Smrg      libclang-cpp11 \
607ec681f3Smrg      libcap2 \
617ec681f3Smrg      libegl1 \
627ec681f3Smrg      libfdt1 \
637ec681f3Smrg      libllvmspirvlib11 \
647ec681f3Smrg      libxcb-shm0 \
657ec681f3Smrg      ocl-icd-libopencl1 \
667ec681f3Smrg      python3-lxml \
677ec681f3Smrg      python3-renderdoc \
687ec681f3Smrg      python3-simplejson \
697ec681f3Smrg      spirv-tools \
707ec681f3Smrg      sysvinit-core
717ec681f3Smrg
727ec681f3Smrg
737ec681f3Smrg. .gitlab-ci/container/container_pre_build.sh
747ec681f3Smrg
757ec681f3Smrg############### Build kernel
767ec681f3Smrg
777ec681f3Smrgexport DEFCONFIG="arch/x86/configs/x86_64_defconfig"
787ec681f3Smrgexport KERNEL_IMAGE_NAME=bzImage
797ec681f3Smrgexport KERNEL_ARCH=x86_64
807ec681f3Smrgexport DEBIAN_ARCH=amd64
817ec681f3Smrg
827ec681f3Smrgmkdir -p /lava-files/
837ec681f3Smrg. .gitlab-ci/container/build-kernel.sh
847ec681f3Smrg
857ec681f3Smrg############### Build libdrm
867ec681f3Smrg
877ec681f3Smrg. .gitlab-ci/container/build-libdrm.sh
887ec681f3Smrg
897ec681f3Smrg############### Build libclc
907ec681f3Smrg
917ec681f3Smrg. .gitlab-ci/container/build-libclc.sh
927ec681f3Smrg
937ec681f3Smrg############### Build virglrenderer
947ec681f3Smrg
957ec681f3Smrg. .gitlab-ci/container/build-virglrenderer.sh
967ec681f3Smrg
977ec681f3Smrg############### Build piglit
987ec681f3Smrg
997ec681f3SmrgPIGLIT_OPTS="-DPIGLIT_BUILD_CL_TESTS=ON -DPIGLIT_BUILD_DMA_BUF_TESTS=ON" . .gitlab-ci/container/build-piglit.sh
1007ec681f3Smrg
1017ec681f3Smrg############### Build Crosvm
1027ec681f3Smrg
1037ec681f3Smrg. .gitlab-ci/container/build-rust.sh
1047ec681f3Smrg. .gitlab-ci/container/build-crosvm.sh
1057ec681f3Smrgrm -rf /root/.cargo
1067ec681f3Smrg
1077ec681f3Smrg############### Build dEQP GL
1087ec681f3Smrg
1097ec681f3SmrgDEQP_TARGET=surfaceless . .gitlab-ci/container/build-deqp.sh
1107ec681f3Smrg
1117ec681f3Smrg############### Build apitrace
1127ec681f3Smrg
1137ec681f3Smrg. .gitlab-ci/container/build-apitrace.sh
1147ec681f3Smrg
1157ec681f3Smrg############### Uninstall the build software
1167ec681f3Smrg
1177ec681f3Smrgccache --show-stats
1187ec681f3Smrg
1197ec681f3Smrgapt-get purge -y \
1207ec681f3Smrg      $STABLE_EPHEMERAL
1217ec681f3Smrg
1227ec681f3Smrgapt-get autoremove -y --purge
123