From dba08b24059d7feb5ef739f3361ad8a4cc90b71f Mon Sep 17 00:00:00 2001 From: Jordan Petridis Date: Sun, 27 Oct 2024 14:33:39 +0200 Subject: [PATCH] ci/fedora: Remove the usage of builddep when creating the image Instead list all the dependencies we want explicitly so we have more control over them and avoid changes we didn't anticipate based on the fedora package metadata and updates. Part-of: --- .gitlab-image-tags.yml | 2 +- ci/docker/fedora/deps.txt | 17 +++++++++++++++++ ci/docker/fedora/install-deps.sh | 31 ++++++------------------------- 3 files changed, 24 insertions(+), 26 deletions(-) diff --git a/.gitlab-image-tags.yml b/.gitlab-image-tags.yml index 469879fda4..d798861ad5 100644 --- a/.gitlab-image-tags.yml +++ b/.gitlab-image-tags.yml @@ -5,7 +5,7 @@ variables: # If you are hacking on them or need a them to rebuild, its enough # to change any part of the string of the image you want. ### - FEDORA_TAG: '2024-10-27.4' + FEDORA_TAG: '2024-10-27.5' DEBIAN_TAG: '2024-10-27.0' diff --git a/ci/docker/fedora/deps.txt b/ci/docker/fedora/deps.txt index 749f41eaa6..ae122ba674 100644 --- a/ci/docker/fedora/deps.txt +++ b/ci/docker/fedora/deps.txt @@ -9,23 +9,31 @@ clang-tidy-sarif clang-tools-extra-devel cmake curl +diffutils dnf-plugins-core elfutils +elfutils-debuginfod-client elfutils-devel +exempi-devel faac-devel +faad2-devel ffmpeg ffmpeg-devel ffmpeg-libs flex flite-devel +game-music-emu-devel gcc gcc-c++ gdb +gettext-common-devel +gettext-devel git-core git-lfs glslc gpac-devel gsl-devel +gsm-devel gssdp-devel gtest-devel gtk-doc @@ -33,7 +41,15 @@ gupnp-devel gupnp-igd-devel intel-mediasdk-devel iproute +jasper-devel +ladspa-devel +lame-devel +liba52-devel +libICE-devel +libmpcdec-devel libnice-devel +libSM-devel +libuuid-devel libxslt-devel libyaml-devel llvm-devel @@ -82,6 +98,7 @@ soundtouch-devel subunit-devel systemd-udev vulkan-loader +wildmidi-devel xorg-x11-server-Xvfb xset diff --git a/ci/docker/fedora/install-deps.sh b/ci/docker/fedora/install-deps.sh index 2e9aee0a8c..511291be88 100644 --- a/ci/docker/fedora/install-deps.sh +++ b/ci/docker/fedora/install-deps.sh @@ -19,36 +19,17 @@ dnf config-manager --set-enabled '*-debuginfo' dnf upgrade -y && dnf distro-sync -y # Install the dependencies of gstreamer -dnf builddep -y --setopt=install_weak_deps=false --skip-broken --allowerasing --best \ - gstreamer1 \ - gstreamer1-plugins-bad-free \ - gstreamer1-plugins-bad-free-extras \ - gstreamer1-plugins-bad-freeworld \ - gstreamer1-plugins-base \ - gstreamer1-plugins-good \ - gstreamer1-plugins-good-extras \ - gstreamer1-plugins-ugly \ - gstreamer1-plugins-ugly-free \ - gstreamer1-rtsp-server - -dnf remove -y \ - 'ffmpeg-free*' \ - 'fdk-aac-free*' - dnf install --setopt=install_weak_deps=false -y $(<./ci/docker/fedora/deps.txt) -dnf remove -y meson -x ninja-build +# Install devhelp files for hotdoc +dnf install -y glib2-doc gdk-pixbuf2-devel gtk3-devel-docs gtk4-devel-docs libsoup-doc + +# Make sure we don't end up installing these from some transient dependency +dnf remove -y "gstreamer1*-devel" rust cargo meson 'fdk-aac-free*' + pip3 install meson==1.5.2 python-gitlab tomli junitparser pip3 install git+https://github.com/hotdoc/hotdoc.git@8c1cc997f5bc16e068710a8a8121f79ac25cbcce -# Remove gst-devel packages installed by builddep above -dnf remove -y "gstreamer1*devel" - -# We use rustup to install the rust toolchain, we don't need fedora's -dnf remove -y rust cargo - -dnf install -y glib2-doc gdk-pixbuf2-devel gtk3-devel-docs gtk4-devel-docs libsoup-doc - # Install most debug symbols, except the big ones from things we use debug_packages=$(rpm -qa | grep -v -i \ -e bash \