From e668d2ef02e66e4da228e9d7eb5da258edc48229 Mon Sep 17 00:00:00 2001 From: fiftydinar <65243233+fiftydinar@users.noreply.github.com> Date: Wed, 19 Jun 2024 16:29:54 +0200 Subject: [PATCH] fix(default-flatpaks): Last module definition overwrites the 1st one (#263) --- modules/default-flatpaks/README.md | 6 ------ modules/default-flatpaks/default-flatpaks.sh | 14 ++++++++++---- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/modules/default-flatpaks/README.md b/modules/default-flatpaks/README.md index aeb17a3..67de6e0 100644 --- a/modules/default-flatpaks/README.md +++ b/modules/default-flatpaks/README.md @@ -35,9 +35,3 @@ https://github.com/blue-build/modules/issues/146 Flatpak runtimes are not supported due to technical difficulty in implementing those: https://github.com/blue-build/modules/pull/142#issuecomment-1962458757 - -Flatpak IDs input in the last module definition overwrites the 1st one. -This scenario happens when multiple module definitions of `default-flatpaks` are used. -This means that the only flatpak list that is going to take the effect is the one in last module definition. -More details about this issue: -https://github.com/blue-build/modules/issues/231 diff --git a/modules/default-flatpaks/default-flatpaks.sh b/modules/default-flatpaks/default-flatpaks.sh index 6564f65..f6e6a4d 100644 --- a/modules/default-flatpaks/default-flatpaks.sh +++ b/modules/default-flatpaks/default-flatpaks.sh @@ -109,16 +109,22 @@ systemctl enable -f --global user-flatpak-setup.service # Check that `system` is present before configuring. Also copy template list files before writing Flatpak IDs. if [[ ! $(echo "$1" | yq -I=0 ".system") == "null" ]]; then configure_flatpak_repo "$1" "system" - cp -r "$MODULE_DIRECTORY"/default-flatpaks/config/system/install /usr/share/bluebuild/default-flatpaks/system/install - cp -r "$MODULE_DIRECTORY"/default-flatpaks/config/system/remove /usr/share/bluebuild/default-flatpaks/system/remove + if [ ! -f "/usr/share/bluebuild/default-flatpaks/system/install" ]; then + cp -r "$MODULE_DIRECTORY"/default-flatpaks/config/system/install /usr/share/bluebuild/default-flatpaks/system/install + elif [ ! -f "/usr/share/bluebuild/default-flatpaks/system/remove" ]; then + cp -r "$MODULE_DIRECTORY"/default-flatpaks/config/system/remove /usr/share/bluebuild/default-flatpaks/system/remove + fi configure_lists "$1" "system" fi # Check that `user` is present before configuring. Also copy template list files before writing Flatpak IDs. if [[ ! $(echo "$1" | yq -I=0 ".user") == "null" ]]; then configure_flatpak_repo "$1" "user" - cp -r "$MODULE_DIRECTORY"/default-flatpaks/config/user/install /usr/share/bluebuild/default-flatpaks/user/install - cp -r "$MODULE_DIRECTORY"/default-flatpaks/config/user/remove /usr/share/bluebuild/default-flatpaks/user/remove + if [ ! -f "/usr/share/bluebuild/default-flatpaks/user/install" ]; then + cp -r "$MODULE_DIRECTORY"/default-flatpaks/config/user/install /usr/share/bluebuild/default-flatpaks/user/install + elif [ ! -f "/usr/share/bluebuild/default-flatpaks/user/remove" ]; then + cp -r "$MODULE_DIRECTORY"/default-flatpaks/config/user/remove /usr/share/bluebuild/default-flatpaks/user/remove + fi configure_lists "$1" "user" fi