summaryrefslogtreecommitdiff
path: root/dist
diff options
context:
space:
mode:
authorParty Wumpus <48649272+PartyWumpus@users.noreply.github.com>2023-01-09 18:16:20 +0000
committerGitHub <noreply@github.com>2023-01-09 10:16:20 -0800
commite8b4c4a3070e4ee1e9f6c330c568d9e76e629f48 (patch)
tree251ed7cd13991618c81c0d8394b857bec9a72ef7 /dist
parente92b66068aaa3f43e65e187e09f0982c798e960a (diff)
downloaddecky-loader-e8b4c4a3070e4ee1e9f6c330c568d9e76e629f48.tar.gz
decky-loader-e8b4c4a3070e4ee1e9f6c330c568d9e76e629f48.zip
Fix the download button (#330)
* Remove .desktop file from build.yml * Make download button link to decky-installer repo * Point download button to the .desktop file not the .sh file woops * Delete decky_installer.desktop * Delete user_install_script.sh
Diffstat (limited to 'dist')
-rw-r--r--dist/decky_installer.desktop8
-rw-r--r--dist/user_install_script.sh165
2 files changed, 0 insertions, 173 deletions
diff --git a/dist/decky_installer.desktop b/dist/decky_installer.desktop
deleted file mode 100644
index 07e3b6d5..00000000
--- a/dist/decky_installer.desktop
+++ /dev/null
@@ -1,8 +0,0 @@
-#!/usr/bin/env xdg-open
-[Desktop Entry]
-Name=Install Decky
-Exec=sh -c 'curl -O --output-dir /tmp/ https://raw.githubusercontent.com/SteamDeckHomebrew/decky-loader/main/dist/user_install_script.sh 2> /dev/null && bash /tmp/user_install_script.sh'
-Icon=steamdeck-gaming-return
-Terminal=true
-Type=Application
-StartupNotify=false
diff --git a/dist/user_install_script.sh b/dist/user_install_script.sh
deleted file mode 100644
index 21f0f2f4..00000000
--- a/dist/user_install_script.sh
+++ /dev/null
@@ -1,165 +0,0 @@
-#!/bin/sh
-
-# if a password was set by decky, this will run when the program closes
-temp_pass_cleanup() {
- echo $PASS | sudo -S -k passwd -d deck
-}
-
-# if the script is not root yet, get the password and rerun as root
-if (( $EUID != 0 )); then
- PASS_STATUS=$(passwd -S deck 2> /dev/null)
- if [ "$PASS_STATUS" = "" ]; then
- echo "Deck user not found. Continuing anyway, as it probably just means user is on a non-steamos system."
- fi
-
- if [ "${PASS_STATUS:5:2}" = "NP" ]; then # if no password is set
- if ( zenity --title="Decky Installer" --width=300 --height=200 --question --text="You appear to have not set an admin password.\nDecky can still install by temporarily setting your password to 'Decky!' and continuing, then removing it when the installer finishes\nAre you okay with that?" ); then
- yes "Decky!" | passwd deck
- trap temp_pass_cleanup EXIT # make sure password is removed when application closes
- PASS="Decky!"
- else exit 1; fi
- else
- # get password
- FINISHED="false"
- while [ "$FINISHED" != "true" ]; do
- PASS=$(zenity --title="Decky Installer" --width=300 --height=100 --entry --hide-text --text="Enter your sudo/admin password")
- if [[ $? -eq 1 ]] || [[ $? -eq 5 ]]; then
- exit 1
- fi
- if ( echo "$PASS" | sudo -S -k true ); then
- FINISHED="true"
- else
- zenity --title="Decky Installer" --width=150 --height=40 --info --text "Incorrect Password"
- fi
- done
- fi
-
- if ! [ $USER = "deck" ]; then
- zenity --title="Decky Installer" --width=300 --height=100 --warning --text "You appear to not be on a deck.\nDecky should still mostly work, but you may not get full functionality."
- fi
-
- # get user dir before rerunning as root, otherwise it'll just be 'home/root'
- USER_DIR="$(getent passwd $USER | cut -d: -f6)"
- HOMEBREW_FOLDER="${USER_DIR}/homebrew"
- echo "$PASS" | sudo -S -k sh "$0" "$USER_DIR" "$HOMEBREW_FOLDER" # rerun script as root
- exit 1
-fi
-
-# all code below should be run as root
-USER_DIR=$1
-HOMEBREW_FOLDER=$2
-
-# if decky is already installed, then also add an 'uninstall' prompt
-if [[ -f "${USER_DIR}/homebrew/services/PluginLoader" ]] ; then
- BRANCH=$(zenity --title="Decky Installer" --width=360 --height=170 --list --radiolist --text "Select Option:" --hide-header --column "Buttons" --column "Choice" --column "Info" TRUE "release" "(Recommended option)" FALSE "prerelease" "(May be unstable)" FALSE "uninstall decky loader" "")
-else
- BRANCH=$(zenity --title="Decky Installer" --width=300 --height=100 --list --radiolist --text "Select Branch:" --hide-header --column "Buttons" --column "Choice" --column "Info" TRUE "release" "(Recommended option)" FALSE "prerelease" "(May be unstable)" )
-fi
-if [[ $? -eq 1 ]] || [[ $? -eq 5 ]]; then
- exit 1
-fi
-
-# uninstall if uninstall option was selected
-if [ "$BRANCH" == "uninstall decky loader" ] ; then
- (
- echo "30" ; echo "# Disabling and removing services" ;
- sudo systemctl disable --now plugin_loader.service > /dev/null
- sudo rm -f "${USER_DIR}/.config/systemd/user/plugin_loader.service"
- sudo rm -f "/etc/systemd/system/plugin_loader.service"
-
- echo "60" ; echo "# Removing Temporary Files" ;
- rm -rf "/tmp/plugin_loader"
- rm -rf "/tmp/user_install_script.sh"
-
- echo "90" ; echo "# Cleaning services folder" ;
- sudo rm "${HOMEBREW_FOLDER}/services/PluginLoader"
- echo "100" ; echo "# Uninstall finished, installer can now be closed";
- ) |
- zenity --progress \
- --title="Decky Installer" \
- --width=300 --height=100 \
- --text="Uninstalling..." \
- --percentage=0 \
- --no-cancel
- exit 1
-fi
-
-# otherwise install decky loader
-(
-echo "15" ; echo "# Creating file structure" ;
-rm -rf "${HOMEBREW_FOLDER}/services"
-sudo mkdir -p "${HOMEBREW_FOLDER}/services"
-sudo mkdir -p "${HOMEBREW_FOLDER}/plugins"
-touch "${USER_DIR}/.steam/steam/.cef-enable-remote-debugging"
-
-echo "30" ; echo "# Finding latest $BRANCH";
-if [ $BRANCH = 'prerelease' ] ; then
- RELEASE=$(curl -s 'https://api.github.com/repos/SteamDeckHomebrew/decky-loader/releases' | jq -r "first(.[] | select(.prerelease == "true"))")
-else
- RELEASE=$(curl -s 'https://api.github.com/repos/SteamDeckHomebrew/decky-loader/releases' | jq -r "first(.[] | select(.prerelease == "false"))")
-fi
-VERSION=$(jq -r '.tag_name' <<< ${RELEASE} )
-DOWNLOADURL=$(jq -r '.assets[].browser_download_url | select(endswith("PluginLoader"))' <<< ${RELEASE})
-
-echo "45" ; echo "# Installing version $VERSION" ;
-curl -L $DOWNLOADURL -o ${HOMEBREW_FOLDER}/services/PluginLoader 2>&1 | stdbuf -oL tr '\r' '\n' | sed -u 's/^ *\([0-9][0-9]*\).*\( [0-9].*$\)/\1\n#Download Speed\:\2/' | zenity --progress --title "Downloading Decky" --text="Download Speed: 0" --width=300 --height=100 --auto-close --no-cancel 2>/dev/null
-chmod +x ${HOMEBREW_FOLDER}/services/PluginLoader
-echo $VERSION > ${HOMEBREW_FOLDER}/services/.loader.version
-
-echo "70" ; echo "# Kiling plugin_loader if it exists" ;
-systemctl --user stop plugin_loader 2> /dev/null
-systemctl --user disable plugin_loader 2> /dev/null
-systemctl stop plugin_loader 2> /dev/null
-systemctl disable plugin_loader 2> /dev/null
-
-echo "85" ; echo "# Setting up systemd" ;
-curl -L https://raw.githubusercontent.com/SteamDeckHomebrew/decky-loader/main/dist/plugin_loader-${BRANCH}.service --output ${HOMEBREW_FOLDER}/services/plugin_loader-${BRANCH}.service
-cat > "${HOMEBREW_FOLDER}/services/plugin_loader-backup.service" <<- EOM
-[Unit]
-Description=SteamDeck Plugin Loader
-After=network-online.target
-Wants=network-online.target
-[Service]
-Type=simple
-User=root
-Restart=always
-ExecStart=${HOMEBREW_FOLDER}/services/PluginLoader
-WorkingDirectory=${HOMEBREW_FOLDER}/services
-KillSignal=SIGKILL
-Environment=PLUGIN_PATH=${HOMEBREW_FOLDER}/plugins
-Environment=LOG_LEVEL=INFO
-[Install]
-WantedBy=multi-user.target
-EOM
-
-# if .service file doesn't exist for whatever reason, use backup file instead
-if [[ -f "${HOMEBREW_FOLDER}/services/plugin_loader-${BRANCH}.service" ]]; then
- printf "Grabbed latest ${BRANCH} service.\n"
- sed -i -e "s|\${HOMEBREW_FOLDER}|${HOMEBREW_FOLDER}|" "${HOMEBREW_FOLDER}/services/plugin_loader-${BRANCH}.service"
- cp -f "${HOMEBREW_FOLDER}/services/plugin_loader-${BRANCH}.service" "/etc/systemd/system/plugin_loader.service"
-else
- printf "Could not curl latest ${BRANCH} systemd service, using built-in service as a backup!\n"
- rm -f "/etc/systemd/system/plugin_loader.service"
- cp "${HOMEBREW_FOLDER}/services/plugin_loader-backup.service" "/etc/systemd/system/plugin_loader.service"
-fi
-
-mkdir -p ${HOMEBREW_FOLDER}/services/.systemd
-cp ${HOMEBREW_FOLDER}/services/plugin_loader-${BRANCH}.service ${HOMEBREW_FOLDER}/services/.systemd/plugin_loader-${BRANCH}.service
-cp ${HOMEBREW_FOLDER}/services/plugin_loader-backup.service ${HOMEBREW_FOLDER}/services/.systemd/plugin_loader-backup.service
-rm ${HOMEBREW_FOLDER}/services/plugin_loader-backup.service ${HOMEBREW_FOLDER}/services/plugin_loader-${BRANCH}.service
-
-systemctl daemon-reload
-systemctl start plugin_loader
-systemctl enable plugin_loader
-echo "100" ; echo "# Install finished, installer can now be closed";
-) |
-zenity --progress \
- --title="Decky Installer" \
- --width=300 --height=100 \
- --text="Installing..." \
- --percentage=0 \
- --no-cancel # not actually sure how to make the cancel work properly, so it's just not there unless someone else can figure it out
-
-if [ "$?" = -1 ] ; then
- zenity --title="Decky Installer" --width=150 --height=70 --error --text="Download interrupted."
-fi