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: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7762>
This commit is contained in:
Jordan Petridis 2024-10-27 14:33:39 +02:00 committed by GStreamer Marge Bot
parent b3b15764ac
commit dba08b2405
3 changed files with 24 additions and 26 deletions

View file

@ -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'

View file

@ -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

View file

@ -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 \