feat: implement effortless RPM removal via YAML configuration

You can now easily remove RPMs from your custom image, without having to edit the build.sh script.

This also changes the old "rpms" config key, to "rpm-install", for consistency with the new setting.
This commit is contained in:
Arcitec
2023-05-09 18:00:12 +02:00
committed by Eino Rauhala
parent 0b63c7b454
commit bf19fa5eca
2 changed files with 17 additions and 4 deletions

View File

@@ -29,11 +29,17 @@ if [[ ${#buildscripts[@]} -gt 0 ]]; then
echo "---"
fi
# Remove the default firefox (from fedora) in favor of the flatpak.
rpm-ostree override remove firefox firefox-langpacks
# Remove RPMs.
get_yaml_array remove_rpms '.rpm-remove[]'
if [[ ${#remove_rpms[@]} -gt 0 ]]; then
echo "-- Removing RPMs defined in recipe.yml --"
echo "Removing: ${remove_rpms[@]}"
rpm-ostree override remove "${remove_rpms[@]}"
echo "---"
fi
# Install RPMs.
get_yaml_array install_rpms '.rpms[]'
get_yaml_array install_rpms '.rpm-install[]'
if [[ ${#install_rpms[@]} -gt 0 ]]; then
echo "-- Installing RPMs defined in recipe.yml --"
echo "Installing: ${install_rpms[@]}"

View File

@@ -30,10 +30,17 @@ extrarepos:
# example:
# - https://copr.fedorainfracloud.org/coprs/atim/starship/repo/fedora-38/atim-starship-fedora-38.repo
# These RPMs will be removed from the system image. This step happens during
# image build, before installing custom RPMs (from the "rpm-install" category).
rpm-remove:
# Remove the native firefox (from Fedora) in favor of the Flatpak.
- firefox
- firefox-langpacks
# These RPMs will be installed from your enabled repositories (Fedora's own repos,
# any "extrarepos" you've added, etc). The installation is automatically performed
# via rpm-ostree during the image build, and will be pre-installed in the final image.
rpms:
rpm-install:
# Needed for yafti (the first boot installer). Remove if you're not using yafti.
- python3-pip
# GNOME's GTK4 Theme, Libadwaita. It already comes with silverblue, but not other spins.