From 395eeb6cdb7650bd32439c07d3abb2fe3a1d4d94 Mon Sep 17 00:00:00 2001 From: Liang Ding Date: Fri, 9 Sep 2022 08:51:44 +0800 Subject: [PATCH] =?UTF-8?q?:art:=20=E6=A1=8C=E9=9D=A2=E7=AB=AF=E8=87=AA?= =?UTF-8?q?=E5=8A=A8=E4=B8=8B=E8=BD=BD=E6=9B=B4=E6=96=B0=E5=AE=89=E8=A3=85?= =?UTF-8?q?=E5=8C=85=20https://github.com/siyuan-note/siyuan/issues/5837?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- kernel/model/conf.go | 18 +----------------- kernel/model/updater.go | 20 ++++++++++++++++++++ 2 files changed, 21 insertions(+), 17 deletions(-) diff --git a/kernel/model/conf.go b/kernel/model/conf.go index 12acd6848..017b27e59 100644 --- a/kernel/model/conf.go +++ b/kernel/model/conf.go @@ -19,7 +19,6 @@ package model import ( "bytes" "os" - "os/exec" "path/filepath" "runtime" "sort" @@ -389,22 +388,7 @@ func Close(force bool, execInstallPkg int) (exitCode int) { } if 2 == execInstallPkg && "" != newVerInstallPkgPath { // 执行新版本安装 - logging.LogInfof("installing the new version [%s]", newVerInstallPkgPath) - var cmd *exec.Cmd - if gulu.OS.IsWindows() { - cmd = exec.Command(newVerInstallPkgPath) - } else if gulu.OS.IsDarwin() { - cmd = exec.Command("open", newVerInstallPkgPath) - } else if gulu.OS.IsLinux() { - cmd = exec.Command("sh", "-c", newVerInstallPkgPath) - } - util.CmdAttr(cmd) - data, cmdErr := cmd.CombinedOutput() - if nil != cmdErr { - logging.LogErrorf("exec install new version failed: %s", cmdErr) - return - } - logging.LogDebugf("exec install new version output [%s]", data) + execNewVerInstallPkg(newVerInstallPkgPath) } } diff --git a/kernel/model/updater.go b/kernel/model/updater.go index b3db3cd6a..fb5270928 100644 --- a/kernel/model/updater.go +++ b/kernel/model/updater.go @@ -22,6 +22,7 @@ import ( "fmt" "io" "os" + "os/exec" "path" "path/filepath" "runtime" @@ -34,6 +35,25 @@ import ( "github.com/siyuan-note/siyuan/kernel/util" ) +func execNewVerInstallPkg(newVerInstallPkgPath string) { + logging.LogInfof("installing the new version [%s]", newVerInstallPkgPath) + var cmd *exec.Cmd + if gulu.OS.IsWindows() { + cmd = exec.Command(newVerInstallPkgPath) + } else if gulu.OS.IsDarwin() { + cmd = exec.Command("open", newVerInstallPkgPath) + } else if gulu.OS.IsLinux() { + cmd = exec.Command("sh", "-c", newVerInstallPkgPath) + } + util.CmdAttr(cmd) + data, cmdErr := cmd.CombinedOutput() + if nil != cmdErr { + logging.LogErrorf("exec install new version failed: %s", cmdErr) + return + } + logging.LogInfof("installed new version output [%s]", data) +} + func GetNewVerInstallPkgPath() string { if skipNewVerInstallPkg() { return ""