]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/commit
MFC r342792, r342805: Provide rc_service variable for rc service scripts
authorKyle Evans <kevans@FreeBSD.org>
Tue, 15 Jan 2019 15:52:23 +0000 (15:52 +0000)
committerKyle Evans <kevans@FreeBSD.org>
Tue, 15 Jan 2019 15:52:23 +0000 (15:52 +0000)
commit85400249720c83df31ee9b7fc1b476aae26b5c8b
treee23651a5f682db5d3a39e80ba573b793118be1c1
parente4f3668640c3a6c56def4dc5472f8294ad0f0f75
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
libexec/rc/rc.subr
share/man/man8/rc.subr.8