From 13cbe0fdbf958bcc0a3c1c5042ba483198ff72b7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Slavi=C5=A1a=20Are=C5=BEina?= <58952836+tremor021@users.noreply.github.com> Date: Sat, 13 Dec 2025 11:30:06 +0100 Subject: [PATCH] Refactor (#9873) --- ct/spoolman.sh | 27 ++++++++++++--------------- install/spoolman-install.sh | 22 ++++++++-------------- 2 files changed, 20 insertions(+), 29 deletions(-) diff --git a/ct/spoolman.sh b/ct/spoolman.sh index b6b7ab8b2..f59d961b2 100644 --- a/ct/spoolman.sh +++ b/ct/spoolman.sh @@ -27,32 +27,29 @@ function update_script() { msg_error "No ${APP} Installation Found!" exit fi - RELEASE=$(curl -fsSL https://github.com/Donkie/Spoolman/releases/latest | grep "title>Release" | cut -d " " -f 4) - if [[ ! -f /opt/${APP}_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]]; then + if check_for_gh_release "spoolman" "Donkie/Spoolman"; then msg_info "Stopping Service" systemctl stop spoolman msg_ok "Stopped Service" - msg_info "Updating ${APP} to ${RELEASE}" - cd /opt - rm -rf spoolman_bak - mv spoolman spoolman_bak - curl -fsSL "https://github.com/Donkie/Spoolman/releases/download/${RELEASE}/spoolman.zip" -o $(basename "https://github.com/Donkie/Spoolman/releases/download/${RELEASE}/spoolman.zip") - $STD unzip spoolman.zip -d spoolman - cd spoolman + msg_info "Creating Backup" + [ -d /opt/spoolman_bak ] && rm -rf /opt/spoolman_bak + mv /opt/spoolman /opt/spoolman_bak + msg_ok "Created Backup" + + fetch_and_deploy_gh_release "spoolman" "Donkie/Spoolman" "prebuild" "latest" "/opt/spoolman" "spoolman.zip" + + msg_info "Updating Spoolman" + cd /opt/spoolman $STD pip3 install -r requirements.txt - curl -fsSL "https://raw.githubusercontent.com/Donkie/Spoolman/master/.env.example" -o ".env" - rm -rf /opt/spoolman.zip - echo "${RELEASE}" >/opt/${APP}_version.txt - msg_ok "Updated ${APP} to ${RELEASE}" + cp /opt/spoolman_bak/.env /opt/spoolman + msg_ok "Updated Spoolman" msg_info "Starting Service" systemctl start spoolman msg_ok "Started Service" msg_ok "Updated successfully!" - else - msg_ok "No update required. ${APP} is already at ${RELEASE}" fi exit } diff --git a/install/spoolman-install.sh b/install/spoolman-install.sh index 0217a825d..50cdff124 100644 --- a/install/spoolman-install.sh +++ b/install/spoolman-install.sh @@ -17,12 +17,10 @@ update_os msg_info "Installing Dependencies" $STD apt install -y \ build-essential \ - make \ - libpq-dev \ - ca-certificates + libpq-dev msg_ok "Installed Dependencies" -msg_info "Setup Python3" +msg_info "Setting up Python3" $STD apt install -y \ python3-dev \ python3-setuptools \ @@ -30,17 +28,13 @@ $STD apt install -y \ python3-pip msg_ok "Setup Python3" -msg_info "Installing Spoolman" -RELEASE=$(curl -fsSL https://github.com/Donkie/Spoolman/releases/latest | grep "title>Release" | cut -d " " -f 4) -cd /opt -curl -fsSL "https://github.com/Donkie/Spoolman/releases/download/$RELEASE/spoolman.zip" -o "spoolman.zip" -$STD unzip spoolman.zip -d spoolman -rm -rf spoolman.zip -cd spoolman +fetch_and_deploy_gh_release "spoolman" "Donkie/Spoolman" "prebuild" "latest" "/opt/spoolman" "spoolman.zip" + +msg_info "Setting up Spoolman" +cd /opt/spoolman $STD pip3 install --upgrade --ignore-installed -r requirements.txt -curl -fsSL "https://raw.githubusercontent.com/Donkie/Spoolman/master/.env.example" -o ".env" -echo "${RELEASE}" >/opt/${APPLICATION}_version.txt -msg_ok "Installed Spoolman" +cp .env.example .env +msg_ok "Setup Spoolman" msg_info "Creating Service" cat <<'EOF' >/etc/systemd/system/spoolman.service