update installation script

This commit is contained in:
PancakeTAS 2025-07-13 18:39:21 +02:00
parent 0d19e15834
commit f998647d74
No known key found for this signature in database

View file

@ -3,13 +3,34 @@
: "${INSTALL_PATH:=$HOME/.local}" : "${INSTALL_PATH:=$HOME/.local}"
BASE_URL='https://pancake.gay/lsfg-vk' BASE_URL='https://pancake.gay/lsfg-vk'
# prompt for distro
echo "Which version would you like to install?"
echo "1) Arch Linux (Artix Linux, CachyOS, Steam Deck, etc.)"
echo "2) Debian"
echo "3) Ubuntu"
echo "4) Fedora"
printf "Enter the number (1-4): "
read -r version_choice < /dev/tty
case "$version_choice" in
1) DISTRO="archlinux"; DISTRO_PRETTY="Arch Linux" ;;
2) DISTRO="debian"; DISTRO_PRETTY="Debian" ;;
3) DISTRO="ubuntu"; DISTRO_PRETTY="Ubuntu" ;;
4) DISTRO="fedora"; DISTRO_PRETTY="Fedora" ;;
*) echo "Invalid choice."; exit 1 ;;
esac
ZIP_NAME="lsfg-vk_${DISTRO}.zip"
SHA_NAME="lsfg-vk_${DISTRO}.zip.sha"
SHA_FILE="$INSTALL_PATH/share/lsfg-vk.sha"
# get local and remote versions # get local and remote versions
REMOTE_HASH=$(curl -fsSL "$BASE_URL/lsfg-vk.zip.sha") REMOTE_HASH=$(curl -fsSL "$BASE_URL/$SHA_NAME")
LOCAL_HASH=$(test -f "$INSTALL_PATH/share/lsfg-vk.sha" && cat "$INSTALL_PATH/share/lsfg-vk.sha") LOCAL_HASH=$(test -f "$SHA_FILE" && cat "$SHA_FILE")
if [ "$REMOTE_HASH" != "$LOCAL_HASH" ]; then if [ "$REMOTE_HASH" != "$LOCAL_HASH" ]; then
# prompt user for confirmation # prompt user for confirmation
echo -n "Do you wish to install the latest version of lsfg-vk? (y/n) " echo -n "Are you sure you want to install lsfg-vk for ${DISTRO_PRETTY}? (y/n) "
read -r answer < /dev/tty read -r answer < /dev/tty
if [ "$answer" != "y" ]; then if [ "$answer" != "y" ]; then
@ -18,7 +39,7 @@ if [ "$REMOTE_HASH" != "$LOCAL_HASH" ]; then
fi fi
# download lsfg-vk # download lsfg-vk
curl -fsSL -o "/tmp/lsfg-vk.zip" "$BASE_URL/lsfg-vk.zip" curl -fsSL -o "/tmp/$ZIP_NAME" "$BASE_URL/$ZIP_NAME"
if [ $? -ne 0 ]; then if [ $? -ne 0 ]; then
echo "Failed to download lsfg-vk. Please check your internet connection." echo "Failed to download lsfg-vk. Please check your internet connection."
exit 1 exit 1
@ -26,10 +47,21 @@ if [ "$REMOTE_HASH" != "$LOCAL_HASH" ]; then
# install lsfg-vk # install lsfg-vk
cd "$INSTALL_PATH" || exit 1 cd "$INSTALL_PATH" || exit 1
unzip -oqq "/tmp/lsfg-vk.zip" unzip -o "/tmp/$ZIP_NAME"
echo "$REMOTE_HASH" > share/lsfg-vk.sha echo "$REMOTE_HASH" > "$SHA_FILE"
rm -v "/tmp/$ZIP_NAME"
echo "lsfg-vk has been installed." echo "lsfg-vk for ${DISTRO_PRETTY} has been installed."
else else
echo "lsfg-vk is already up to date." echo "lsfg-vk is up to date."
# offer to uninstall
echo -n "Do you want to uninstall lsfg-vk? (y/n) "
read -r uninstall_answer < /dev/tty
if [ "$uninstall_answer" = "y" ]; then
rm -v ~/.local/lib/liblsfg-vk.so
rm -v ~/.local/share/vulkan/implicit_layer.d/VkLayer_LS_frame_generation.json
rm -v "$SHA_FILE"
echo "Uninstallation completed."
fi
fi fi