From beca95d5b90a8184b05c1fbc1552b12551c7896e Mon Sep 17 00:00:00 2001 From: Cuong Manh Le Date: Fri, 3 Feb 2023 20:32:12 +0700 Subject: [PATCH] cmd/ctrld: fix systemd dependencies config See https://github.com/systemd/systemd/issues/22360 --- cmd/ctrld/cli.go | 6 +----- cmd/ctrld/prog_linux.go | 9 +++++++++ cmd/ctrld/prog_others.go | 4 ++++ 3 files changed, 14 insertions(+), 5 deletions(-) diff --git a/cmd/ctrld/cli.go b/cmd/ctrld/cli.go index 805db1a..9f97f3b 100644 --- a/cmd/ctrld/cli.go +++ b/cmd/ctrld/cli.go @@ -186,11 +186,7 @@ func initCLI() { if os.Args[1] == "service" { osArgs = os.Args[3:] } - if runtime.GOOS == "linux" { - sc.Dependencies = []string{ - "After=NetworkManager-wait-online.service", - } - } + setDependencies(sc) sc.Arguments = append([]string{"run"}, osArgs...) if dir, err := os.UserHomeDir(); err == nil { // WorkingDirectory is not supported on Windows. diff --git a/cmd/ctrld/prog_linux.go b/cmd/ctrld/prog_linux.go index d1d5ee2..7d4f87a 100644 --- a/cmd/ctrld/prog_linux.go +++ b/cmd/ctrld/prog_linux.go @@ -9,3 +9,12 @@ func (p *prog) preRun() { p.setDNS() } } + +func setDependencies(svc *service.Config) { + svc.Dependencies = []string{ + "Wants=network-online.target", + "After=network-online.target", + "Wants=NetworkManager-wait-online.service", + "After=NetworkManager-wait-online.service", + } +} diff --git a/cmd/ctrld/prog_others.go b/cmd/ctrld/prog_others.go index 10310d5..9d72f91 100644 --- a/cmd/ctrld/prog_others.go +++ b/cmd/ctrld/prog_others.go @@ -3,4 +3,8 @@ package main +import "github.com/kardianos/service" + func (p *prog) preRun() {} + +func setDependencies(svc *service.Config) {}