ci: Split building of libdrm to its own script
As we are doing that in several places already and we'll need to build
in others as well.
Signed-off-by: Tomeu Vizoso <tomeu.vizoso@collabora.com>
Reviewed-by: Rohan Garg <rohan.garg@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5903>
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 738ca9c..0943b5d 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -203,7 +203,7 @@
- .fdo.container-build@debian
- .container
variables:
- FDO_DISTRIBUTION_TAG: &x86_build-base "2020-07-21-tracie"
+ FDO_DISTRIBUTION_TAG: &x86_build-base "2020-07-28-libdrm"
.use-x86_build-base:
extends:
@@ -221,7 +221,7 @@
extends:
- .use-x86_build-base
variables:
- FDO_DISTRIBUTION_TAG: &x86_build "2020-07-27-fdtools"
+ FDO_DISTRIBUTION_TAG: &x86_build "2020-07-28-libdrm-2"
.use-x86_build:
variables:
@@ -235,7 +235,7 @@
extends:
- .use-x86_build-base
variables:
- FDO_DISTRIBUTION_TAG: &i386_build "2020-07-21-tracie"
+ FDO_DISTRIBUTION_TAG: &i386_build "2020-07-28-libdrm"
.use-i386_build:
variables:
@@ -249,7 +249,7 @@
extends:
- .use-x86_build-base
variables:
- FDO_DISTRIBUTION_TAG: &ppc64el_build "2020-07-21-tracie"
+ FDO_DISTRIBUTION_TAG: &ppc64el_build "2020-07-28-libdrm"
.use-ppc64el_build:
variables:
@@ -263,7 +263,7 @@
extends:
- .use-x86_build-base
variables:
- FDO_DISTRIBUTION_TAG: &s390x_build "2020-07-21-tracie"
+ FDO_DISTRIBUTION_TAG: &s390x_build "2020-07-28-libdrm"
.use-s390x_build:
variables:
@@ -276,7 +276,7 @@
x86_test-base:
extends: x86_build-base
variables:
- FDO_DISTRIBUTION_TAG: &x86_test-base "2020-07-21-tracie"
+ FDO_DISTRIBUTION_TAG: &x86_test-base "2020-07-28-libdrm"
.use-x86_test-base:
extends:
@@ -293,19 +293,19 @@
x86_test-gl:
extends: .use-x86_test-base
variables:
- FDO_DISTRIBUTION_TAG: &x86_test-gl "2020-07-21-tracie"
+ FDO_DISTRIBUTION_TAG: &x86_test-gl "2020-07-28-libdrm"
# Debian 10 based x86 test image for VK
x86_test-vk:
extends: .use-x86_test-base
variables:
- FDO_DISTRIBUTION_TAG: &x86_test-vk "2020-07-21-gfxreconstruct-dev"
+ FDO_DISTRIBUTION_TAG: &x86_test-vk "2020-07-28-libdrm"
# Debian 9 based x86 build image (old LLVM)
x86_build_old:
extends: x86_build-base
variables:
- FDO_DISTRIBUTION_TAG: &x86_build_old "2020-07-21-tracie"
+ FDO_DISTRIBUTION_TAG: &x86_build_old "2020-07-28-libdrm"
FDO_DISTRIBUTION_VERSION: stretch-slim
.use-x86_build_old:
@@ -321,7 +321,7 @@
- .fdo.container-build@debian@arm64v8
- .container
variables:
- FDO_DISTRIBUTION_TAG: &arm_build "2020-07-21-tracie"
+ FDO_DISTRIBUTION_TAG: &arm_build "2020-07-28-libdrm"
.use-arm_build:
variables:
@@ -336,7 +336,7 @@
- .fdo.container-build@debian
- .container
variables:
- FDO_DISTRIBUTION_TAG: &arm_test-base "2020-07-18-nginx"
+ FDO_DISTRIBUTION_TAG: &arm_test-base "2020-07-28-libdrm"
.use-arm_test-base:
extends:
@@ -354,7 +354,7 @@
extends:
- .use-arm_test-base
variables:
- FDO_DISTRIBUTION_TAG: &arm64_test "2020-07-18-nginx"
+ FDO_DISTRIBUTION_TAG: &arm64_test "2020-07-28-libdrm"
.use-arm64_test:
variables:
diff --git a/.gitlab-ci/build-libdrm.sh b/.gitlab-ci/build-libdrm.sh
new file mode 100644
index 0000000..1a57041
--- /dev/null
+++ b/.gitlab-ci/build-libdrm.sh
@@ -0,0 +1,14 @@
+#!/bin/bash
+
+set -ex
+
+export LIBDRM_VERSION=libdrm-2.4.102
+
+wget https://dri.freedesktop.org/libdrm/$LIBDRM_VERSION.tar.xz
+tar -xvf $LIBDRM_VERSION.tar.xz && rm $LIBDRM_VERSION.tar.xz
+cd $LIBDRM_VERSION
+meson build -D vc4=true -D freedreno=true -D etnaviv=true $EXTRA_MESON_ARGS
+ninja -C build install
+cd ..
+rm -rf $LIBDRM_VERSION
+
diff --git a/.gitlab-ci/container/arm_build.sh b/.gitlab-ci/container/arm_build.sh
index 56ad78d..3827057 100644
--- a/.gitlab-ci/container/arm_build.sh
+++ b/.gitlab-ci/container/arm_build.sh
@@ -50,11 +50,7 @@
. .gitlab-ci/container/container_pre_build.sh
# dependencies where we want a specific version
-export LIBDRM_VERSION=libdrm-2.4.102
-
-wget https://dri.freedesktop.org/libdrm/$LIBDRM_VERSION.tar.xz
-tar -xvf $LIBDRM_VERSION.tar.xz && rm $LIBDRM_VERSION.tar.xz
-cd $LIBDRM_VERSION; meson build -D vc4=true -D freedreno=true -D etnaviv=true; ninja -C build install; cd ..
-rm -rf $LIBDRM_VERSION
+EXTRA_MESON_ARGS=
+. .gitlab-ci/build-libdrm.sh
. .gitlab-ci/container/container_post_build.sh
diff --git a/.gitlab-ci/container/baremetal_build.sh b/.gitlab-ci/container/baremetal_build.sh
index d6d8c67..e7e92ba 100644
--- a/.gitlab-ci/container/baremetal_build.sh
+++ b/.gitlab-ci/container/baremetal_build.sh
@@ -22,6 +22,7 @@
libffi-dev:$arch \
libgbm-dev:$arch \
libgles2-mesa-dev:$arch \
+ libpciaccess-dev:$arch \
libpcre3-dev:$arch \
libpng-dev:$arch \
libpython3-dev:$arch \
diff --git a/.gitlab-ci/container/cross_build.sh b/.gitlab-ci/container/cross_build.sh
index c3e4393..1154a49 100644
--- a/.gitlab-ci/container/cross_build.sh
+++ b/.gitlab-ci/container/cross_build.sh
@@ -39,16 +39,8 @@
# dependencies where we want a specific version
-export LIBDRM_VERSION=libdrm-2.4.102
-
-wget https://dri.freedesktop.org/libdrm/$LIBDRM_VERSION.tar.xz
-tar -xvf $LIBDRM_VERSION.tar.xz && rm $LIBDRM_VERSION.tar.xz
-cd $LIBDRM_VERSION
-meson --cross-file=/cross_file-${arch}.txt build -D libdir=lib/$(dpkg-architecture -A $arch -qDEB_TARGET_MULTIARCH)
-ninja -C build install
-cd ..
-rm -rf $LIBDRM_VERSION
-
+EXTRA_MESON_ARGS="--cross-file=/cross_file-${arch}.txt -D libdir=lib/$(dpkg-architecture -A $arch -qDEB_TARGET_MULTIARCH)"
+. .gitlab-ci/build-libdrm.sh
apt-get purge -y \
$STABLE_EPHEMERAL
diff --git a/.gitlab-ci/container/x86_build.sh b/.gitlab-ci/container/x86_build.sh
index 1c6fd1b..51f0da7 100644
--- a/.gitlab-ci/container/x86_build.sh
+++ b/.gitlab-ci/container/x86_build.sh
@@ -56,7 +56,6 @@
export WAYLAND_RELEASES=https://wayland.freedesktop.org/releases
export XORGMACROS_VERSION=util-macros-1.19.0
-export LIBDRM_VERSION=libdrm-2.4.102
export XCBPROTO_VERSION=xcb-proto-1.13
export LIBXCB_VERSION=libxcb-1.13
export LIBWAYLAND_VERSION=wayland-1.15.0
@@ -77,12 +76,7 @@
cd $LIBXCB_VERSION; ./configure; make install; cd ..
rm -rf $LIBXCB_VERSION
-wget https://dri.freedesktop.org/libdrm/$LIBDRM_VERSION.tar.xz
-tar -xvf $LIBDRM_VERSION.tar.xz && rm $LIBDRM_VERSION.tar.xz
-cd $LIBDRM_VERSION
-meson build -D vc4=true -D freedreno=true -D etnaviv=true -D libdir=lib/x86_64-linux-gnu; ninja -C build install
-cd ..
-rm -rf $LIBDRM_VERSION
+. .gitlab-ci/build-libdrm.sh
wget $WAYLAND_RELEASES/$LIBWAYLAND_VERSION.tar.xz
tar -xvf $LIBWAYLAND_VERSION.tar.xz && rm $LIBWAYLAND_VERSION.tar.xz
diff --git a/.gitlab-ci/container/x86_test-gl.sh b/.gitlab-ci/container/x86_test-gl.sh
index daed59c..d7672d9 100644
--- a/.gitlab-ci/container/x86_test-gl.sh
+++ b/.gitlab-ci/container/x86_test-gl.sh
@@ -15,6 +15,7 @@
libgbm-dev \
libgles2-mesa-dev \
libpcre3-dev \
+ libpciaccess-dev \
libpng-dev \
libvulkan-dev \
libwaffle-dev \
@@ -61,6 +62,10 @@
. .gitlab-ci/build-renderdoc.sh
+############### Build libdrm
+
+. .gitlab-ci/build-libdrm.sh
+
############### Uninstall the build software
ccache --show-stats
diff --git a/.gitlab-ci/create-rootfs.sh b/.gitlab-ci/create-rootfs.sh
index 21c2844..8422bab 100644
--- a/.gitlab-ci/create-rootfs.sh
+++ b/.gitlab-ci/create-rootfs.sh
@@ -10,8 +10,6 @@
strace \
libsensors5 \
libexpat1 \
- libdrm2 \
- libdrm-nouveau2 \
libx11-6 \
libx11-xcb1 \
firmware-qcom-media \
diff --git a/.gitlab-ci/lava-gitlab-ci.yml b/.gitlab-ci/lava-gitlab-ci.yml
index 7ce2762..1be28ef 100644
--- a/.gitlab-ci/lava-gitlab-ci.yml
+++ b/.gitlab-ci/lava-gitlab-ci.yml
@@ -1,5 +1,5 @@
variables:
- DISTRIBUTION_TAG: "2020-07-18"
+ DISTRIBUTION_TAG: "2020-07-28"
.kernel+rootfs:
stage: container-2