From 5e3de747d37b4b7042485a6733b2cd8a883b16ef Mon Sep 17 00:00:00 2001 From: TrainDoctor Date: Sun, 30 Oct 2022 16:37:19 -0700 Subject: Systemd service updating (#240) * Add services and updated installer files * Loader updates service file during update! * Testing update branch doesn't exist lol * Update to dfl 3.7.12 * Fix services and add working service updater * Revert services but replace their aliases * Fix install scripts as well * Move leftover service files to .systemd dir * No wonder it's not trimming the file... * fix whitespace * Remove unused imports * Remove another un-used import Co-authored-by: AAGaming --- dist/install_prerelease.sh | 26 ++++++++++++++++++++++---- 1 file changed, 22 insertions(+), 4 deletions(-) (limited to 'dist/install_prerelease.sh') 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 -- cgit v1.2.3