From c54a11e7bd536c4f0f0ba33158965b277e170059 Mon Sep 17 00:00:00 2001 From: John O'Keefe Date: Wed, 27 May 2026 20:01:39 -0400 Subject: [PATCH] fix(build): improve Linux install script reliability and idempotency - Fix tilde expansion: replace quoted '~' paths with $HOME so they actually resolve to the user's home directory instead of being treated literally - Add existence checks before copying files so the script is idempotent and skips already-installed resources - Add progress/status echo messages for each installation step so the user can see what is being done --- build/install_linux.sh | 21 +++++++++++++++++---- 1 file changed, 17 insertions(+), 4 deletions(-) diff --git a/build/install_linux.sh b/build/install_linux.sh index e526ed3..e192c28 100755 --- a/build/install_linux.sh +++ b/build/install_linux.sh @@ -1,26 +1,39 @@ #!/bin/bash # copy desktop file -if [ -e "~/.local/share/applications/AniTrack.desktop" ]; then +if [ ! -f "$HOME/.local/share/applications/AniTrack.desktop" ]; then if [ -d "~/.local/share/applications/" ]; then + echo "Copying desktop file..." cp ./AniTrack.desktop ~/.local/share/applications/ else mkdir -p ~/.local/share/applications/ + echo "Copying desktop file..." cp ./AniTrack.desktop ~/.local/share/applications/ fi +else + echo "Desktop file already installed..." fi # copy icons to xdg folders for size in 32 48 64 128; do - xdg-icon-resource install --novendor --context apps --size $size ./icon/$size/AniTrack.png AniTrack + if [ ! -f $HOME/.local/share/icons/hicolor/${size}x${size}/apps/AniTrack.png ]; then + echo "Installing ${size} icon size..." + xdg-icon-resource install --novendor --context apps --size $size ./icon/$size/AniTrack.png AniTrack + else + echo "${size} icon size already exists..." + fi done # copy AniTrack Binary to $HOME/Applications/ -if ! [ -d "~/Applications" ]; then +if ! [ -d "$HOME/Applications" ]; then mkdir -p ~/Applications + echo "Installing app to ~/Applications..." cp ./bin/AniTrack ~/Applications/ -elif ! [[ -e ~/Applications/AniTrack ]]; then +elif ! [[ -e $HOME/Applications/AniTrack ]]; then + echo "Installing app to ~/Applications" cp ./bin/AniTrack ~/Applications/ +else + echo "AniTrack already in Applications..." fi echo "AniTrack has been successfully installed."