From 0cd058320fcbb9a9eeff7f9cea6a0a038e443fe6 Mon Sep 17 00:00:00 2001 From: marbocub Date: Wed, 7 Jun 2023 04:09:47 +0900 Subject: [PATCH] feat: allow to install Mainsail/Fluidd without Moonraker (#347) Co-authored-by: th33xitus --- scripts/fluidd.sh | 22 ++++++++++++++++++---- scripts/mainsail.sh | 26 +++++++++++++++++++++----- 2 files changed, 39 insertions(+), 9 deletions(-) diff --git a/scripts/fluidd.sh b/scripts/fluidd.sh index 345a1c4..5b3407c 100644 --- a/scripts/fluidd.sh +++ b/scripts/fluidd.sh @@ -16,10 +16,24 @@ set -e #===================================================# function install_fluidd() { - ### exit early if moonraker not found if [[ -z $(moonraker_systemd) ]]; then - local error="Moonraker not installed! Please install Moonraker first!" - print_error "${error}" && return + local error="Moonraker not installed! It's recommended to install Moonraker first!" + print_error "${error}" + while true; do + local yn + read -p "${cyan}###### Proceed to install Fluidd without installing Moonraker? (y/N):${white} " yn + case "${yn}" in + Y|y|Yes|yes) + select_msg "Yes" + break;; + N|n|No|no|"") + select_msg "No" + abort_msg "Exiting Fluidd setup ...\n" + return;; + *) + error_msg "Invalid Input!";; + esac + done fi ### checking dependencies @@ -30,7 +44,7 @@ function install_fluidd() { status_msg "Initializing Fluidd installation ..." ### first, we create a backup of the full klipper_config dir - safety first! - backup_klipper_config_dir + #backup_klipper_config_dir ### check for other enabled web interfaces unset SET_LISTEN_PORT diff --git a/scripts/mainsail.sh b/scripts/mainsail.sh index 67fef87..da220f7 100644 --- a/scripts/mainsail.sh +++ b/scripts/mainsail.sh @@ -16,10 +16,24 @@ set -e #===================================================# function install_mainsail() { - ### exit early if moonraker not found if [[ -z $(moonraker_systemd) ]]; then - local error="Moonraker not installed! Please install Moonraker first!" - print_error "${error}" && return + local error="Moonraker not installed! It's recommended to install Moonraker first!" + print_error "${error}" + while true; do + local yn + read -p "${cyan}###### Proceed to install Mainsail without installing Moonraker? (y/N):${white} " yn + case "${yn}" in + Y|y|Yes|yes) + select_msg "Yes" + break;; + N|n|No|no|"") + select_msg "No" + abort_msg "Exiting Mainsail setup ...\n" + return;; + *) + error_msg "Invalid Input!";; + esac + done fi ### checking dependencies @@ -157,6 +171,7 @@ function download_mainsail_macros() { } function download_mainsail() { + local services local url url=$(get_mainsail_download_url) @@ -179,8 +194,9 @@ function download_mainsail() { exit 1 fi - ### check for moonraker multi-instance and if multi-instance was found, enable mainsails remoteMode - if [[ $(moonraker_systemd | wc -w) -gt 1 ]]; then + ### check for moonraker multi-instance and if no-instance or multi-instance was found, enable mainsails remoteMode + services=$(moonraker_systemd) + if [[ ( -z "${services}" ) || ( $(echo "${services}" | wc -w) -gt 1 ) ]]; then enable_mainsail_remotemode fi }