Files
fluffy-pancake/build/90-build.sh.bak
T

113 lines
4.2 KiB
Bash
Raw Normal View History

2026-02-17 17:27:26 +01:00
#!/usr/bin/bash
set -eoux pipefail
###############################################################################
# cleanup-function (Unverändert, da sehr effektiv für Image-Größe)
###############################################################################
cleanup() {
echo "Starting final cleanup..."
# 1. Ungenutzte Pakete entfernen
dnf5 autoremove -y || true
2026-04-22 16:31:01 +02:00
# 2. Bereinigung Cache (Das ist das Wichtigste für die Layer-Größe)
dnf5 clean all || true
# 3. Entfernen von temporären Dateien und Caches
# Wir löschen KEINE Verzeichnisse unter /var/lib/rpm oder /var/lib/dnf,
# sondern nur die temporären Metadaten/Caches.
rm -rf /tmp/* /var/tmp/* /var/cache/dnf/* /var/cache/dnf5/* || true
# 4. Reinigung der Logs/Run-Verzeichnisse
rm -rf /run/* || true
echo "Cleanup complete! Image is lean and clean."
}
2026-04-22 16:31:01 +02:00
2026-02-17 17:27:26 +01:00
###############################################################################
2026-03-26 18:59:43 +01:00
# Fedora version (used for RPM Fusion)
2026-02-17 17:27:26 +01:00
###############################################################################
2026-03-26 18:59:43 +01:00
FEDORA_VERSION="$(rpm -E %fedora)"
2026-02-17 17:27:26 +01:00
2026-03-26 18:59:43 +01:00
###############################################################################
# Enable RPM Fusion (free + nonfree)
###############################################################################
dnf5 install -y \
https://mirrors.rpmfusion.org/free/fedora/rpmfusion-free-release-${FEDORA_VERSION}.noarch.rpm \
https://mirrors.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-${FEDORA_VERSION}.noarch.rpm
###############################################################################
# Transaction 1: Multimedia Stack (Mesa + Codecs + Group)
# Zusammengefasst, um Abhängigkeiten in einem Schritt zu lösen.
2026-03-26 18:59:43 +01:00
###############################################################################
echo "Installing Multimedia stack (Mesa Freeworld, Codecs & Groups)..."
2026-03-26 19:41:51 +01:00
dnf5 install -y \
mesa-va-drivers-freeworld \
mesa-vdpau-drivers-freeworld \
mesa-vulkan-drivers-freeworld \
2026-03-26 18:59:43 +01:00
ffmpeg \
ffmpeg-libs \
libavcodec-freeworld \
gstreamer1-libav \
gstreamer1-plugins-bad-freeworld \
2026-03-26 19:49:47 +01:00
gstreamer1-plugins-ugly \
--allowerasing
2026-03-26 18:59:43 +01:00
# Die Gruppeninstallation bleibt separat, da sie eine eigene logische Einheit ist
dnf5 group install -y multimedia --with-optional --allowerasing
2026-02-17 17:27:26 +01:00
###############################################################################
# Transaction 2: Virtualization, Tools & Hardware Helpers
# Zusammengefasst für effizientere Paketauflösung.
###############################################################################
echo "Installing Virtualization, Plasma Setup and Hardware Helpers..."
2026-02-17 18:43:19 +01:00
dnf5 install -y \
2026-02-28 19:59:16 +01:00
libvirt-daemon \
libvirt-daemon-driver-qemu \
libvirt-daemon-config-network \
libvirt-client \
qemu-kvm \
qemu-img \
virt-manager \
2026-04-03 17:41:41 +02:00
virt-viewer \
distrobox \
plasma-setup \
libva-utils \
intel-media-driver \
--allowerasing || true
2026-02-28 22:18:46 +01:00
2026-03-26 18:59:43 +01:00
###############################################################################
# Transaction 3: Steam (i686 dependencies)
# Getrennt, da Architektur-Wechsel (i686) oft eigene Transaktionen erfordern.
2026-03-26 18:59:43 +01:00
###############################################################################
echo "Installing Steam and i686 libraries..."
2026-03-26 18:59:43 +01:00
dnf5 install -y \
steam \
mesa-dri-drivers.i686 \
mesa-libGL.i686 \
mesa-libEGL.i686 \
--allowerasing
2026-03-26 18:59:43 +01:00
###############################################################################
# Cleanup of Unwanted Packages
2026-03-26 18:59:43 +01:00
###############################################################################
echo "Removing Firefox and langpacks..."
dnf5 remove -y firefox firefox-langpacks* || true
2026-03-26 18:59:43 +01:00
2026-03-27 12:41:20 +01:00
###############################################################################
# Services Configuration
2026-03-27 12:41:20 +01:00
###############################################################################
echo "Enabling services..."
2026-02-28 19:40:36 +01:00
systemctl enable libvirtd.service
systemctl enable virtlogd.service
2026-03-26 18:59:43 +01:00
systemctl enable podman.socket
systemctl enable bluetooth.service
2026-03-27 12:41:20 +01:00
systemctl enable plasma-setup.service
2026-03-27 14:49:25 +01:00
systemctl enable bootc-fetch-apply-updates.timer
2026-03-26 18:59:43 +01:00
###############################################################################
# Final Cleanup
2026-03-26 18:59:43 +01:00
###############################################################################
cleanup
2026-02-17 17:27:26 +01:00
echo "Custom build complete!"