]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/commit
MFC r342792, r342805: Provide rc_service variable for rc service scripts
authorkevans <kevans@FreeBSD.org>
Tue, 15 Jan 2019 16:12:47 +0000 (16:12 +0000)
committerkevans <kevans@FreeBSD.org>
Tue, 15 Jan 2019 16:12:47 +0000 (16:12 +0000)
commit4ce65c996f72962c359c989cb44698c648c08c9a
tree51c8725871587deb31790e44d2342b36a4a4f0c7
parent5c2dc4965571d306fec98cc07f59e3d9b0770f35
MFC r342792, r342805: Provide rc_service variable for rc service scripts

r342792: 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).

r342805: rc.subr: Fix typo

Originally intended as 'in case in needs to be re-invoked', but it was later
decided (by myself) that 're-invoke itself' makes it more clear that the
script is expected to use this in a way.

PR: 234614
etc/rc.subr
share/man/man8/rc.subr.8