Skip to content

Commit 21fcdaa

Browse files
committed
xinstall bin seems broken in some case so work around that.
1 parent ff97f0d commit 21fcdaa

File tree

1 file changed

+11
-3
lines changed

1 file changed

+11
-3
lines changed

update/update.go

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -736,11 +736,19 @@ func updatercscript() {
736736

737737
selfbin, _ := os.Executable()
738738
ugobin := "/." + defines.ToolName
739-
cpCmd = exec.Command("install", "-m", "755", selfbin, defines.STAGEDIR+ugobin)
739+
//install binary is broken in certain freebsd versions use cp+chmod
740+
cpCmd = exec.Command("cp", selfbin, defines.STAGEDIR+ugobin)
740741
err = cpCmd.Run()
741742
if err != nil {
742-
logger.LogToFile("Failed pkg upgrade!")
743-
ws.SendMsg("Failed pkg upgrade!", "fatal")
743+
logger.LogToFile("Failed pkg upgrade: Couldn't copy rc-updater!")
744+
ws.SendMsg("Failed pkg upgrade: Couldn't copy rc-updater!", "fatal")
745+
log.Fatal(err)
746+
}
747+
cpCmd = exec.Command("chmod", "755", selfbin, defines.STAGEDIR+ugobin)
748+
err = cpCmd.Run()
749+
if err != nil {
750+
logger.LogToFile("Failed pkg upgrade: Counldn't chmod rc-updater!")
751+
ws.SendMsg("Failed pkg upgrade: Couldn't chmod rc-updater!", "fatal")
744752
log.Fatal(err)
745753
}
746754

0 commit comments

Comments
 (0)