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
This commit is contained in:
@@ -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
|
||||
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."
|
||||
|
||||
Reference in New Issue
Block a user