From bf19fa5eca5b6440f4cfe83aa33c2c2e5797d33e Mon Sep 17 00:00:00 2001 From: Arcitec <38923130+Arcitec@users.noreply.github.com> Date: Tue, 9 May 2023 18:00:12 +0200 Subject: [PATCH] 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. --- build.sh | 12 +++++++++--- recipe.yml | 9 ++++++++- 2 files changed, 17 insertions(+), 4 deletions(-) diff --git a/build.sh b/build.sh index fea47eb..4180f07 100644 --- a/build.sh +++ b/build.sh @@ -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[@]}" diff --git a/recipe.yml b/recipe.yml index 5b79525..74548fe 100644 --- a/recipe.yml +++ b/recipe.yml @@ -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.