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 # 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. # 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' DEBIAN_TAG: '2024-10-27.0'

View file

@ -9,23 +9,31 @@ clang-tidy-sarif
clang-tools-extra-devel clang-tools-extra-devel
cmake cmake
curl curl
diffutils
dnf-plugins-core dnf-plugins-core
elfutils elfutils
elfutils-debuginfod-client
elfutils-devel elfutils-devel
exempi-devel
faac-devel faac-devel
faad2-devel
ffmpeg ffmpeg
ffmpeg-devel ffmpeg-devel
ffmpeg-libs ffmpeg-libs
flex flex
flite-devel flite-devel
game-music-emu-devel
gcc gcc
gcc-c++ gcc-c++
gdb gdb
gettext-common-devel
gettext-devel
git-core git-core
git-lfs git-lfs
glslc glslc
gpac-devel gpac-devel
gsl-devel gsl-devel
gsm-devel
gssdp-devel gssdp-devel
gtest-devel gtest-devel
gtk-doc gtk-doc
@ -33,7 +41,15 @@ gupnp-devel
gupnp-igd-devel gupnp-igd-devel
intel-mediasdk-devel intel-mediasdk-devel
iproute iproute
jasper-devel
ladspa-devel
lame-devel
liba52-devel
libICE-devel
libmpcdec-devel
libnice-devel libnice-devel
libSM-devel
libuuid-devel
libxslt-devel libxslt-devel
libyaml-devel libyaml-devel
llvm-devel llvm-devel
@ -82,6 +98,7 @@ soundtouch-devel
subunit-devel subunit-devel
systemd-udev systemd-udev
vulkan-loader vulkan-loader
wildmidi-devel
xorg-x11-server-Xvfb xorg-x11-server-Xvfb
xset xset

View file

@ -19,36 +19,17 @@ dnf config-manager --set-enabled '*-debuginfo'
dnf upgrade -y && dnf distro-sync -y dnf upgrade -y && dnf distro-sync -y
# Install the dependencies of gstreamer # 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 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 meson==1.5.2 python-gitlab tomli junitparser
pip3 install git+https://github.com/hotdoc/hotdoc.git@8c1cc997f5bc16e068710a8a8121f79ac25cbcce 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 # Install most debug symbols, except the big ones from things we use
debug_packages=$(rpm -qa | grep -v -i \ debug_packages=$(rpm -qa | grep -v -i \
-e bash \ -e bash \