From 3c31dbd13c28ff7e4d1c26b847173be873f3c97a Mon Sep 17 00:00:00 2001 From: Tanmoy Sarkar <57363826+tanmoysrt@users.noreply.github.com> Date: Sat, 25 May 2024 16:35:35 +0530 Subject: [PATCH] fix: fix auto updater for debian (#656) (cherry picked from commit dcb892c61424515fd7d3b2871796379c0100871f) --- swiftwave_service/cmd/swiftwave-updater.service | 2 +- swiftwave_service/cmd/update.go | 16 +++++++++++----- 2 files changed, 12 insertions(+), 6 deletions(-) diff --git a/swiftwave_service/cmd/swiftwave-updater.service b/swiftwave_service/cmd/swiftwave-updater.service index 0eedf43a94..72bee197e3 100644 --- a/swiftwave_service/cmd/swiftwave-updater.service +++ b/swiftwave_service/cmd/swiftwave-updater.service @@ -4,7 +4,7 @@ After=multi-user.target [Service] ExecStart=/bin/sh -c "/usr/bin/swiftwave update || true" -Type=simple +Type=oneshot [Install] WantedBy=multi-user.target diff --git a/swiftwave_service/cmd/update.go b/swiftwave_service/cmd/update.go index 6acd3a8589..f7844cb525 100644 --- a/swiftwave_service/cmd/update.go +++ b/swiftwave_service/cmd/update.go @@ -40,8 +40,10 @@ var updateCmd = &cobra.Command{ if isUpdated { fmt.Println("Swiftwave has been updated successfully") fmt.Println("Trying to restart the service...") - _ = exec.Command("systemctl", "daemon-reload").Run() - _ = exec.Command("systemctl", "restart", "swiftwave.service").Run() + out, _ := exec.Command("systemctl", "daemon-reload").Output() + fmt.Println(string(out)) + out, _ = exec.Command("systemctl", "restart", "swiftwave.service").Output() + fmt.Println(string(out)) os.Exit(0) } else { fmt.Println("Swiftwave is already up to date") @@ -68,12 +70,16 @@ func detectDistro() (string, error) { func updateDebianPackage(packageName string) (bool, error) { // run apt update first - output, err := exec.Command("apt", "update", "-y").Output() + cmd := exec.Command("apt", "update", "-y") + output, err := cmd.Output() fmt.Println(string(output)) if err != nil { return false, err } - output, err = exec.Command("apt", "install", "--only-upgrade", packageName).Output() + cmd = exec.Command("apt", "install", "--only-upgrade", packageName) + cmd.Env = os.Environ() + cmd.Env = append(cmd.Env, "NEEDRESTART_SUSPEND=1") + output, err = cmd.Output() fmt.Println(string(output)) if err != nil { return false, err @@ -87,7 +93,7 @@ func updateDebianPackage(packageName string) (bool, error) { } func updateRedHatPackage(packageName string) (bool, error) { - output, err := exec.Command("dnf", "update", packageName).Output() + output, err := exec.Command("dnf", "update", packageName, "-y").Output() if err != nil { return false, err }