Files
fluffy-pancake/build/10-build.sh
T

141 lines
4.4 KiB
Bash
Raw Normal View History

2026-02-17 17:27:26 +01:00
#!/usr/bin/bash
set -eoux pipefail
###############################################################################
# cleanup-function
###############################################################################
cleanup() {
echo "Starting final cleanup..."
2026-04-11 14:42:11 +02:00
# 1. Standard DNF Reinigung (entfernt Metadaten und Paket-Caches)
dnf5 clean all || true
2026-04-11 14:42:11 +02:00
# 2. Tiefenreinigung der Repository-Strukturen
# Wir löschen alles ab Ebene 2, um die schweren Repo-Ordner zu entfernen,
# aber lassen /var/lib/dnf und /var/lib/rpm selbst (Ebene 0 & 1) bestehen!
find /var/lib/dnf -mindepth 2 -delete || true
find /var/lib/rpm -mindepth 2 -delete || true
# 3. Reinigung der temporären Verzeichnisse (Löst die /run, /tmp, /var/tmp Warnungen)
# Wir löschen den Inhalt, aber nicht das Verzeichnis selbst.
rm -rf /run/* /tmp/* /var/tmp/* || true
# 4. Entfernen von eventuellen 'countme' Dateien (Spezialfall für DNF5/RPM)
find /var/lib/dnf -name "countme" -delete || true
find /var/lib/rpm -name "countme" -delete || true
echo "Cleanup complete! Image is lean and clean."
}
2026-04-11 14:42:11 +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
###############################################################################
# Multimedia stack (Mesa freeworld + codecs)
###############################################################################
# Replace Fedora Mesa with freeworld variants
2026-03-26 19:41:51 +01:00
dnf5 install -y \
mesa-va-drivers-freeworld \
mesa-vdpau-drivers-freeworld \
mesa-vulkan-drivers-freeworld \
--with-optional \
2026-03-26 19:41:51 +01:00
--allowerasing
2026-03-26 19:41:51 +01:00
2026-03-26 18:59:43 +01:00
# Install full multimedia group (RPM Fusion maintained)
dnf5 group install -y multimedia \
--with-optional \
--allowerasing
# Explicit codec safety net
dnf5 install -y \
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
###############################################################################
# Virtualization stack (desktop-focused, minimal)
###############################################################################
2026-02-17 17:27:26 +01:00
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
2026-02-28 22:18:46 +01:00
2026-03-26 18:59:43 +01:00
###############################################################################
# Steam (RPM Fusion nonfree)
###############################################################################
dnf5 install -y \
steam \
mesa-dri-drivers.i686 \
mesa-libGL.i686 \
mesa-libEGL.i686
###############################################################################
# Optional: hardware video acceleration helpers
###############################################################################
dnf5 install -y \
libva-utils \
intel-media-driver || true
2026-03-27 12:41:20 +01:00
###############################################################################
# Install Plasma Setup
###############################################################################
dnf5 install -y \
plasma-setup
2026-03-27 15:36:21 +01:00
###############################################################################
# Remove Firefox and langpacks
###############################################################################
dnf5 remove -y \
firefox \
firefox-langpacks*
2026-03-27 12:41:20 +01:00
2026-03-26 18:59:43 +01:00
###############################################################################
# Services
###############################################################################
2026-02-17 17:27:26 +01:00
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-09 10:27:12 +01:00
2026-03-26 18:59:43 +01:00
###############################################################################
# Cleanup
###############################################################################
cleanup
2026-02-17 17:27:26 +01:00
echo "Custom build complete!"