diff options
Diffstat (limited to 'dist')
| -rw-r--r-- | dist/install_prerelease.sh | 26 | ||||
| -rw-r--r-- | dist/install_release.sh | 23 | ||||
| -rw-r--r-- | dist/plugin_loader-prerelease.service | 14 | ||||
| -rw-r--r-- | dist/plugin_loader-release.service | 14 |
4 files changed, 71 insertions, 6 deletions
diff --git a/dist/install_prerelease.sh b/dist/install_prerelease.sh index 8b9be30e..fedc3eaf 100644 --- a/dist/install_prerelease.sh +++ b/dist/install_prerelease.sh @@ -7,8 +7,8 @@ echo "Installing Steam Deck Plugin Loader pre-release..." USER_DIR="$(getent passwd $SUDO_USER | cut -d: -f6)" HOMEBREW_FOLDER="${USER_DIR}/homebrew" -# # Create folder structure -rm -rf ${HOMEBREW_FOLDER}/services +# Create folder structure +rm -rf "${HOMEBREW_FOLDER}/services" sudo -u $SUDO_USER mkdir -p "${HOMEBREW_FOLDER}/services" sudo -u $SUDO_USER mkdir -p "${HOMEBREW_FOLDER}/plugins" @@ -26,8 +26,10 @@ systemctl --user disable plugin_loader 2> /dev/null systemctl stop plugin_loader 2> /dev/null systemctl disable plugin_loader 2> /dev/null -rm -f "/etc/systemd/system/plugin_loader.service" -cat > "/etc/systemd/system/plugin_loader.service" <<- EOM + +curl -L https://raw.githubusercontent.com/SteamDeckHomebrew/decky-loader/service-updater/dist/plugin_loader-prerelease.service --output ${HOMEBREW_FOLDER}/services/plugin_loader-prerelease.service + +cat > "${HOMEBREW_FOLDER}/services/plugin_loader-backup.service" <<- EOM [Unit] Description=SteamDeck Plugin Loader After=network-online.target @@ -43,6 +45,22 @@ Environment=LOG_LEVEL=DEBUG [Install] WantedBy=multi-user.target EOM + +if [[ -f "${HOMEBREW_FOLDER}/services/plugin_loader-prerelease.service" ]]; then + printf "Grabbed latest prerelease service.\n" + sed -i -e "s|\${HOMEBREW_FOLDER}|${HOMEBREW_FOLDER}|" "${HOMEBREW_FOLDER}/services/plugin_loader-prerelease.service" + cp -f "${HOMEBREW_FOLDER}/services/plugin_loader-prerelease.service" "/etc/systemd/system/plugin_loader.service" +else + printf "Could not curl latest prerelease 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-prerelease.service ${HOMEBREW_FOLDER}/services/.systemd/plugin_loader-prerelease.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-prerelease.service + systemctl daemon-reload systemctl start plugin_loader systemctl enable plugin_loader diff --git a/dist/install_release.sh b/dist/install_release.sh index f4f1f91d..f27aaf2c 100644 --- a/dist/install_release.sh +++ b/dist/install_release.sh @@ -26,8 +26,10 @@ systemctl --user disable plugin_loader 2> /dev/null systemctl stop plugin_loader 2> /dev/null systemctl disable plugin_loader 2> /dev/null -rm -f "/etc/systemd/system/plugin_loader.service" -cat > "/etc/systemd/system/plugin_loader.service" <<- EOM + +curl -L https://raw.githubusercontent.com/SteamDeckHomebrew/decky-loader/service-updater/dist/plugin_loader-release.service --output ${HOMEBREW_FOLDER}/services/plugin_loader-release.service + +cat > "${HOMEBREW_FOLDER}/services/plugin_loader-backup.service" <<- EOM [Unit] Description=SteamDeck Plugin Loader After=network-online.target @@ -39,9 +41,26 @@ Restart=always ExecStart=${HOMEBREW_FOLDER}/services/PluginLoader WorkingDirectory=${HOMEBREW_FOLDER}/services Environment=PLUGIN_PATH=${HOMEBREW_FOLDER}/plugins +Environment=LOG_LEVEL=INFO [Install] WantedBy=multi-user.target EOM + +if [[ -f "${HOMEBREW_FOLDER}/services/plugin_loader-release.service" ]]; then + printf "Grabbed latest release service.\n" + sed -i -e "s|\${HOMEBREW_FOLDER}|${HOMEBREW_FOLDER}|" "${HOMEBREW_FOLDER}/services/plugin_loader-release.service" + cp -f "${HOMEBREW_FOLDER}/services/plugin_loader-release.service" "/etc/systemd/system/plugin_loader.service" +else + printf "Could not curl latest release 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-release.service ${HOMEBREW_FOLDER}/services/.systemd/plugin_loader-release.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-release.service + systemctl daemon-reload systemctl start plugin_loader systemctl enable plugin_loader diff --git a/dist/plugin_loader-prerelease.service b/dist/plugin_loader-prerelease.service new file mode 100644 index 00000000..a36a2435 --- /dev/null +++ b/dist/plugin_loader-prerelease.service @@ -0,0 +1,14 @@ +[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 +Environment=PLUGIN_PATH=${HOMEBREW_FOLDER}/plugins +Environment=LOG_LEVEL=DEBUG +[Install] +WantedBy=multi-user.target
\ No newline at end of file diff --git a/dist/plugin_loader-release.service b/dist/plugin_loader-release.service new file mode 100644 index 00000000..20fbe7b8 --- /dev/null +++ b/dist/plugin_loader-release.service @@ -0,0 +1,14 @@ +[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 +Environment=PLUGIN_PATH=${HOMEBREW_FOLDER}/plugins +Environment=LOG_LEVEL=INFO +[Install] +WantedBy=multi-user.target
\ No newline at end of file |
