gstreamer/ci/docker/fedora/install-deps.sh
Jordan Petridis 83694a1094 ci: Remove pip install version limits for meson/hotdoc
We used to have them pinned to avoid unexpected issues
when we wanted to update the image, however we haven't
needed them lately and we should be good to install the
latest stable version always.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6656>
2024-04-24 15:01:27 +00:00

111 lines
2.6 KiB
Bash

#! /bin/bash
set -eux
# Fedora base image disable installing documentation files. See https://pagure.io/atomic-wg/issue/308
# We need them to cleanly build our doc.
sed -i '/tsflags=nodocs/d' /etc/dnf/dnf.conf
dnf -y swap coreutils-single coreutils-full
# Add rpm fusion repositories in order to access all of the gst plugins
sudo dnf install -y \
"https://mirrors.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm" \
"https://mirrors.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-$(rpm -E %fedora).noarch.rpm"
dnf upgrade -y && dnf distro-sync -y
dnf install -y $(<./ci/docker/fedora/deps.txt)
# Install the dependencies of gstreamer
dnf builddep -y gstreamer1 \
gstreamer1-plugins-base \
gstreamer1-plugins-good \
gstreamer1-plugins-good-extras \
gstreamer1-plugins-good-qt \
gstreamer1-plugins-ugly \
gstreamer1-plugins-ugly-free \
gstreamer1-plugins-bad-free \
gstreamer1-plugins-bad-free-extras \
gstreamer1-plugins-bad-freeworld \
gstreamer1-libav \
gstreamer1-rtsp-server \
gstreamer1-vaapi \
python3-gstreamer1
dnf remove -y meson -x ninja-build
pip3 install meson hotdoc python-gitlab tomli junitparser
# Remove gst-devel packages installed by builddep above
dnf remove -y "gstreamer1*devel"
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 \
-e bat \
-e bluez \
-e boost \
-e ccache \
-e clang \
-e cmake \
-e colord \
-e compiler-rt \
-e cpp \
-e cups \
-e demos \
-e flexiblas \
-e flite \
-e gcc \
-e gcc-debuginfo \
-e gcc-debugsource \
-e gdal \
-e gdb \
-e geocode \
-e git \
-e glusterfs \
-e gpg \
-e GraphicsMagick \
-e groff \
-e gstreamer1 \
-e java \
-e leptonica \
-e libdap \
-e libdb \
-e libdnf \
-e libspatialite \
-e llvm \
-e lua \
-e MUMPS \
-e NetworkManager \
-e nodejs \
-e openblas \
-e opencv \
-e openexr \
-e perl \
-e poppler \
-e qemu \
-e qt5 \
-e qt6 \
-e spice \
-e sqlite \
-e suitesparse \
-e systemd \
-e tesseract \
-e tests \
-e tools \
-e tpm2 \
-e unbound \
-e valgrind \
-e vim \
-e vtk \
-e xen \
-e xerces \
-e xorg \
)
dnf debuginfo-install -y --best --allowerasing --skip-broken $debug_packages
echo "Removing DNF cache"
dnf clean all
rm -R /root/*
rm -rf /var/cache/dnf /var/log/dnf*