From 9832e01049dd49bb66dd8fc447c72eefba7fc2cd Mon Sep 17 00:00:00 2001 From: Cuong Manh Le Date: Wed, 15 Feb 2023 23:25:29 +0700 Subject: [PATCH] freebsd: ensure config directory is created Otherwise, freebsdService.Install will fail because config file could not be created. Fixes #359 --- service_freebsd.go | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/service_freebsd.go b/service_freebsd.go index 66bb574..752f5fe 100644 --- a/service_freebsd.go +++ b/service_freebsd.go @@ -8,11 +8,13 @@ import ( "fmt" "os" "os/signal" + "path/filepath" "syscall" "text/template" ) const version = "freebsd" +const configDir = "/usr/local/etc/rc.d" type freebsdSystem struct{} @@ -88,7 +90,11 @@ func (s *freebsdService) template() *template.Template { } func (s *freebsdService) configPath() (cp string, err error) { - cp = "/usr/local/etc/rc.d/" + s.Config.Name + if oserr := os.MkdirAll(configDir, 0755); oserr != nil { + err = oserr + return + } + cp = filepath.Join(configDir, s.Config.Name) return }