diff --git a/internal/home/service.go b/internal/home/service.go index cb8f9b8b..eff2e393 100644 --- a/internal/home/service.go +++ b/internal/home/service.go @@ -649,11 +649,6 @@ status() { // freeBSDScript is the source of the daemon script for FreeBSD. Keep as close // as possible to the https://github.com/kardianos/service/blob/18c957a3dc1120a2efe77beb401d476bade9e577/service_freebsd.go#L204. -// -// TODO(a.garipov): Don't use .WorkingDirectory here. There are currently no -// guarantees that it will actually be the required directory. -// -// See https://github.com/AdguardTeam/AdGuardHome/issues/2614. const freeBSDScript = `#!/bin/sh # PROVIDE: {{.Name}} # REQUIRE: networking @@ -667,7 +662,9 @@ name="{{.Name}}" pidfile_child="/var/run/${name}.pid" pidfile="/var/run/${name}_daemon.pid" command="/usr/sbin/daemon" -command_args="-P ${pidfile} -p ${pidfile_child} -T ${name} -r {{.WorkingDirectory}}/{{.Name}}" +daemon_args="-P ${pidfile} -p ${pidfile_child} -r -t ${name}" +command_args="${daemon_args} {{.Path}}{{range .Arguments}} {{.}}{{end}}" + run_rc_command "$1" `