]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/commit
rc.subr: Provide rc_service variable for service scripts
authorkevans <kevans@FreeBSD.org>
Sat, 5 Jan 2019 21:23:25 +0000 (21:23 +0000)
committerkevans <kevans@FreeBSD.org>
Sat, 5 Jan 2019 21:23:25 +0000 (21:23 +0000)
commit87678f95adb7f055058aee97d4ca02ce78a76f8a
tree201afc36d040291b2188f715255cadfd1bbc996a
parent08b9a57c7b40d27694ce2a7bdddaa0da7f40543a
rc.subr: Provide rc_service variable for service scripts

Some rc scripts in ports (e.g. uwsgi, apache, openvpn) allow for
'application profiles' that usually require the rc script to be invoked
again for each active profile. Because there's no consistent way to
determine the path because it differs between manual/service(8) invocations
and /etc/rc invocations, this leads to patterns like these:

- www/uwsgi hardcodes the script path
- security/openvpn guesses either $_file or $0 based on $0 = /etc/rc

Instead of forcing rc scripts to guess, provide an rc_service variable to
the scripts that gets set appropriately both for direct execution or when a
script is being executed via run_rc_script (e.g. /etc/rc).

This is our analog of an OpenRC variable with the same name, different case
(RC_SERVICE).

PR: 234614
Reported by: koobs
Reviewed by: dteske, jilles
MFC after: 3 days
libexec/rc/rc.subr
share/man/man8/rc.subr.8