diff options
author | flz <flz@FreeBSD.org> | 2006-08-22 11:17:29 +0000 |
---|---|---|
committer | flz <flz@FreeBSD.org> | 2006-08-22 11:17:29 +0000 |
commit | 54b7b1d84ef94edba4668e1a3eb0ae3f5af47ddf (patch) | |
tree | 83b9d9ba19106202890ea4e049a6ed5c3c9d6ea0 /etc/rc.subr | |
parent | 0c8554603327db9744c6c76b143eedd695c14561 (diff) | |
download | FreeBSD-src-54b7b1d84ef94edba4668e1a3eb0ae3f5af47ddf.zip FreeBSD-src-54b7b1d84ef94edba4668e1a3eb0ae3f5af47ddf.tar.gz |
Backout this commit since it breaks startup and some scripts in
certain conditions. I haven't been able to find a better solution yet:
- Set a two read-only variables (${prefix} and ${etcdir}). This is
especially useful when using /etc/rc.d scripts with third-party
software installed from ports.
- Fix rc.d/sshd to work with openssh from ports using ${etcdir}
instead of hardcoded /etc.
- Reflect prefix/etcdir changes in rc.subr.8.
src/etc/rc.d/sshd: rev 1.9 -> 1.10
src/etc/rc.subr: rev 1.51 -> 1.52
src/share/man/man8/rc.subr.8: rev 1.11 -> 1.12
Approved by: cperciva (mentor)
Diffstat (limited to 'etc/rc.subr')
-rw-r--r-- | etc/rc.subr | 35 |
1 files changed, 5 insertions, 30 deletions
diff --git a/etc/rc.subr b/etc/rc.subr index 3a2fd16..36144cd 100644 --- a/etc/rc.subr +++ b/etc/rc.subr @@ -506,6 +506,9 @@ run_rc_command() ;; esac + eval _override_command=\$${name}_program + command=${command:+${_override_command:-$command}} + _keywords="start stop restart rcvar $extra_commands" rc_pid= _pidcmd= @@ -873,8 +876,6 @@ run_rc_script() # load_rc_config() { - local _tmp - _name=$1 if [ -z "$_name" ]; then err 3 'USAGE: load_rc_config name' @@ -893,35 +894,9 @@ load_rc_config() fi _rc_conf_loaded=true fi - - eval _override_command=\$${name}_program - command=${command:+${_override_command:-$command}} - - if [ -z "${command}" ]; then - _tmp=`/bin/realpath $0` - prefix=${_tmp%/etc/rc.d/*}/ - else - prefix=${command%/*bin/*}/ - fi - if [ "${prefix}" = "/" -o "${prefix}" = "/usr/" ] ; then - etcdir="/etc" - else - etcdir="${prefix}etc" - fi - - # XXX - Deprecated - if [ -f /etc/rc.conf.d/${_name} -a ${etcdir} != "/etc" ]; then + if [ -f /etc/rc.conf.d/"$_name" ]; then debug "Sourcing /etc/rc.conf.d/${_name}" - warn "Warning: /etc/rc.conf.d/${_name} is deprecated, please use ${etcdir}/rc.conf.d/${_name} instead." - if [ -f ${etcdir}/rc.conf.d/${_name} ]; then - warn "Warning: Both /etc/rc.conf.d/${_name} and ${etcdir}/rc.conf.d/${_name} exist." - fi - . /etc/rc.conf.d/${_name} - fi - - if [ -f ${etcdir}/rc.conf.d/${_name} ]; then - debug "Sourcing ${etcdir}/rc.conf.d/${_name}" - . ${etcdir}/rc.conf.d/${_name} + . /etc/rc.conf.d/"$_name" fi # XXX - Deprecated variable name support |