2019-03-18 17:51:07 +03:00
|
|
|
#!/bin/bash
|
2023-04-28 14:18:07 +03:00
|
|
|
#
|
2021-06-21 23:34:43 +03:00
|
|
|
# Constructs the base container image used to build Weston within CI. Per the
|
|
|
|
# comment at the top of .gitlab-ci.yml, any changes in this file must bump the
|
|
|
|
# $FDO_DISTRIBUTION_TAG variable so we know the container has to be rebuilt.
|
2019-03-18 17:51:07 +03:00
|
|
|
|
2019-11-21 16:03:03 +03:00
|
|
|
set -o xtrace -o errexit
|
2019-03-18 17:51:07 +03:00
|
|
|
|
2020-06-03 16:02:34 +03:00
|
|
|
# These get temporary installed for building Linux and then force-removed.
|
|
|
|
LINUX_DEV_PKGS="
|
|
|
|
bc
|
|
|
|
bison
|
|
|
|
flex
|
|
|
|
"
|
|
|
|
|
2020-02-17 16:32:18 +03:00
|
|
|
# These get temporary installed for building Mesa and then force-removed.
|
|
|
|
MESA_DEV_PKGS="
|
|
|
|
bison
|
|
|
|
flex
|
|
|
|
gettext
|
|
|
|
libwayland-egl-backend-dev
|
|
|
|
libxrandr-dev
|
2021-08-16 18:49:52 +03:00
|
|
|
libxshmfence-dev
|
|
|
|
libxrandr-dev
|
2023-05-17 14:22:26 +03:00
|
|
|
llvm-${LLVM_VERSION}-dev
|
2020-02-17 16:32:18 +03:00
|
|
|
python3-mako
|
|
|
|
"
|
|
|
|
|
|
|
|
# Needed for running the custom-built mesa
|
|
|
|
MESA_RUNTIME_PKGS="
|
2023-05-17 14:22:26 +03:00
|
|
|
libllvm${LLVM_VERSION}
|
2020-02-17 16:32:18 +03:00
|
|
|
"
|
|
|
|
|
2019-03-18 17:51:07 +03:00
|
|
|
apt-get update
|
2019-11-21 16:04:28 +03:00
|
|
|
apt-get -y --no-install-recommends install \
|
|
|
|
autoconf \
|
|
|
|
automake \
|
|
|
|
build-essential \
|
2023-05-17 14:22:26 +03:00
|
|
|
clang-${LLVM_VERSION} \
|
2019-11-21 16:04:28 +03:00
|
|
|
curl \
|
|
|
|
doxygen \
|
2022-06-28 11:47:18 +03:00
|
|
|
graphviz \
|
2021-08-16 18:49:52 +03:00
|
|
|
freerdp2-dev \
|
2019-11-21 16:06:30 +03:00
|
|
|
gcovr \
|
2019-11-21 16:04:28 +03:00
|
|
|
git \
|
2023-04-28 14:18:07 +03:00
|
|
|
hwdata \
|
2019-11-21 16:06:30 +03:00
|
|
|
lcov \
|
2020-07-06 09:58:02 +03:00
|
|
|
libasound2-dev \
|
|
|
|
libbluetooth-dev \
|
2019-11-21 16:04:28 +03:00
|
|
|
libcairo2-dev \
|
|
|
|
libcolord-dev \
|
|
|
|
libdbus-1-dev \
|
2021-08-16 18:49:52 +03:00
|
|
|
libdrm-dev \
|
2019-11-21 16:04:28 +03:00
|
|
|
libegl1-mesa-dev \
|
2021-08-16 18:49:52 +03:00
|
|
|
libelf-dev \
|
2019-11-21 16:04:28 +03:00
|
|
|
libevdev-dev \
|
|
|
|
libexpat1-dev \
|
|
|
|
libffi-dev \
|
|
|
|
libgbm-dev \
|
|
|
|
libgdk-pixbuf2.0-dev \
|
|
|
|
libgles2-mesa-dev \
|
|
|
|
libglu1-mesa-dev \
|
|
|
|
libgstreamer1.0-dev \
|
|
|
|
libgstreamer-plugins-base1.0-dev \
|
|
|
|
libinput-dev \
|
2020-07-06 09:58:02 +03:00
|
|
|
libjack-jackd2-dev \
|
2019-11-21 16:04:28 +03:00
|
|
|
libjpeg-dev \
|
|
|
|
libjpeg-dev \
|
|
|
|
libmtdev-dev \
|
|
|
|
libpam0g-dev \
|
|
|
|
libpango1.0-dev \
|
2022-06-02 03:32:15 +03:00
|
|
|
libpciaccess-dev \
|
2019-11-21 16:04:28 +03:00
|
|
|
libpixman-1-dev \
|
|
|
|
libpng-dev \
|
2020-07-06 09:58:02 +03:00
|
|
|
libpulse-dev \
|
|
|
|
libsbc-dev \
|
2019-11-21 16:04:28 +03:00
|
|
|
libsystemd-dev \
|
|
|
|
libtool \
|
|
|
|
libudev-dev \
|
|
|
|
libva-dev \
|
|
|
|
libvpx-dev \
|
2020-07-06 09:58:02 +03:00
|
|
|
libvulkan-dev \
|
2019-11-21 16:04:28 +03:00
|
|
|
libwebp-dev \
|
|
|
|
libx11-dev \
|
|
|
|
libx11-xcb-dev \
|
|
|
|
libxcb1-dev \
|
|
|
|
libxcb-composite0-dev \
|
2021-08-16 18:49:52 +03:00
|
|
|
libxcb-dri2-0-dev \
|
|
|
|
libxcb-dri3-dev \
|
|
|
|
libxcb-glx0-dev \
|
|
|
|
libxcb-present-dev \
|
|
|
|
libxcb-randr0-dev \
|
|
|
|
libxcb-shm0-dev \
|
|
|
|
libxcb-sync-dev \
|
2019-11-21 16:04:28 +03:00
|
|
|
libxcb-xfixes0-dev \
|
|
|
|
libxcb-xkb-dev \
|
|
|
|
libxcursor-dev \
|
2022-07-05 14:35:38 +03:00
|
|
|
libxcb-cursor-dev \
|
2021-08-16 18:49:52 +03:00
|
|
|
libxdamage-dev \
|
|
|
|
libxext-dev \
|
|
|
|
libxfixes-dev \
|
2019-11-21 16:04:28 +03:00
|
|
|
libxkbcommon-dev \
|
|
|
|
libxml2-dev \
|
2021-08-16 18:49:52 +03:00
|
|
|
libxxf86vm-dev \
|
2023-05-17 14:22:26 +03:00
|
|
|
lld-${LLVM_VERSION} \
|
|
|
|
llvm-${LLVM_VERSION} \
|
|
|
|
llvm-${LLVM_VERSION}-dev \
|
2019-11-21 16:04:28 +03:00
|
|
|
mesa-common-dev \
|
|
|
|
ninja-build \
|
|
|
|
pkg-config \
|
|
|
|
python3-pip \
|
2021-08-16 18:49:52 +03:00
|
|
|
python3-pygments \
|
2019-11-21 16:04:28 +03:00
|
|
|
python3-setuptools \
|
2020-06-03 16:02:34 +03:00
|
|
|
qemu-system \
|
|
|
|
sysvinit-core \
|
2021-08-16 18:49:52 +03:00
|
|
|
x11proto-dev \
|
2019-12-11 14:12:52 +03:00
|
|
|
xwayland \
|
gitlab-ci: Use virtme-ng for running our tests
virtme-ng is the an update version of virtme, and this patch uses
that instead of the one we had partially modified.
Besides that this partially reverts ad039cdfd2b47, 'backend-drm: Enable
atomic async flip support' and makes our CI happier. Specifically
ad039cdfd2b47 updated our kernel version from 6.3 to 6.9 but did not do
a FDO bum,p and with that, no container images were rebuilt. Effectively
we were still using 6.3.
Now, with the FDO bump, in this patch, we noticed that the drm-writeback
test is failing with linux kernel version 6.9.
So far, only 6.3 and 6.4 kernel versions seems to be working, that is,
without that drm writeback test timing out. The safest bet for the
time being, would be to keep our CI just use 6.3 kernel, until we
have proper version to update to.
Signed-off-by: Daniel Stone <daniel.stone@collabora.com>
Signed-off-by: Marius Vlad <marius.vlad@collabora.com>
2024-07-24 19:35:20 +03:00
|
|
|
python3-argcomplete \
|
|
|
|
flake8 pylint \
|
|
|
|
cargo rustc \
|
|
|
|
iproute2 udev \
|
2021-06-22 01:53:51 +03:00
|
|
|
$MESA_DEV_PKGS \
|
2021-06-22 01:49:32 +03:00
|
|
|
$MESA_RUNTIME_PKGS \
|
|
|
|
$LINUX_DEV_PKGS \
|
2019-11-21 16:04:28 +03:00
|
|
|
|
2020-02-17 16:32:18 +03:00
|
|
|
|
2021-06-22 01:53:51 +03:00
|
|
|
# Actually build our dependencies ...
|
|
|
|
./.gitlab-ci/build-deps.sh
|
2020-07-06 09:58:02 +03:00
|
|
|
|
2021-04-14 23:37:36 +03:00
|
|
|
|
2021-06-22 01:53:51 +03:00
|
|
|
# And remove packages which are only required for our build dependencies,
|
|
|
|
# which we don't need bloating the image whilst we build and run Weston.
|
2021-06-22 01:49:32 +03:00
|
|
|
apt-get -y --autoremove purge $LINUX_DEV_PKGS $MESA_DEV_PKGS
|