+ service: Adding freebsd arm support

This commit is contained in:
Tejas Kokje 2020-07-02 08:41:36 +00:00 committed by Simon Zolin
parent a33164bf18
commit 44aad1515a
4 changed files with 27 additions and 3 deletions

2
go.mod
View file

@ -10,7 +10,7 @@ require (
github.com/fsnotify/fsnotify v1.4.7
github.com/gobuffalo/packr v1.30.1
github.com/joomcode/errorx v1.0.1
github.com/kardianos/service v1.0.0
github.com/kardianos/service v1.1.0
github.com/krolaw/dhcp4 v0.0.0-20180925202202-7cead472c414
github.com/miekg/dns v1.1.29
github.com/pkg/errors v0.9.1

4
go.sum
View file

@ -57,8 +57,8 @@ github.com/joho/godotenv v1.3.0 h1:Zjp+RcGpHhGlrMbJzXTrZZPrWj+1vfm90La1wgB6Bhc=
github.com/joho/godotenv v1.3.0/go.mod h1:7hK45KPybAkOC6peb+G5yklZfMxEjkZhHbwpqxOKXbg=
github.com/joomcode/errorx v1.0.1 h1:CalpDWz14ZHd68fIqluJasJosAewpz2TFaJALrUxjrk=
github.com/joomcode/errorx v1.0.1/go.mod h1:kgco15ekB6cs+4Xjzo7SPeXzx38PbJzBwbnu9qfVNHQ=
github.com/kardianos/service v1.0.0 h1:HgQS3mFfOlyntWX8Oke98JcJLqt1DBcHR4kxShpYef0=
github.com/kardianos/service v1.0.0/go.mod h1:8CzDhVuCuugtsHyZoTvsOBuvonN/UDBvl0kH+BUxvbo=
github.com/kardianos/service v1.1.0 h1:QV2SiEeWK42P0aEmGcsAgjApw/lRxkwopvT+Gu6t1/0=
github.com/kardianos/service v1.1.0/go.mod h1:RrJI2xn5vve/r32U5suTbeaSGoMU6GbNPoj36CVYcHc=
github.com/karrick/godirwalk v1.10.12 h1:BqUm+LuJcXjGv1d2mj3gBiQyrQ57a0rYoAmhvJQ7RDU=
github.com/karrick/godirwalk v1.10.12/go.mod h1:RoGL9dQei4vP9ilrpETWE8CLOZ1kiN0LhBygSwrAsHA=
github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ=

View file

@ -272,6 +272,8 @@ func configureService(c *service.Config) {
// On OpenWrt we're using a different type of sysvScript
if util.IsOpenWrt() {
c.Option["SysvScript"] = openWrtScript
} else if util.IsFreeBSD() {
c.Option["SysvScript"] = freeBSDScript
}
}
@ -493,3 +495,16 @@ status() {
fi
}
`
const freeBSDScript = `#!/bin/sh
# PROVIDE: {{.Name}}
# REQUIRE: networking
# KEYWORD: shutdown
. /etc/rc.subr
name="{{.Name}}"
{{.Name}}_env="IS_DAEMON=1"
{{.Name}}_user="root"
pidfile="/var/run/${name}.pid"
command="/usr/sbin/daemon"
command_args="-P ${pidfile} -r -f {{.WorkingDirectory}}/{{.Name}}"
run_rc_command "$1"
`

View file

@ -92,3 +92,12 @@ func IsOpenWrt() bool {
return strings.Contains(string(body), "OpenWrt")
}
// IsFreeBSD checks if OS is FreeBSD
func IsFreeBSD() bool {
if runtime.GOOS == "freebsd" {
return true
}
return false
}