diff --git a/etc/rc b/etc/rc index d9de5eda0bd9..6072cc316fe8 100644 --- a/etc/rc +++ b/etc/rc @@ -71,36 +71,32 @@ elif [ -r /etc/rc.conf ]; then . /etc/rc.conf fi -# Deal with dependancies. - case ${amd_enable} in +chkdepend() { + svc=$1 + svc_var=$2 + dep=$3 + dep_var=$4 + + eval svc_val=\${$svc_var} + eval dep_val=\${$dep_var} + + case ${svc_val} in [Yy][Ee][Ss]) - case ${portmap_enable} in + case ${dep_val} in [Yy][Ee][Ss]) - ;; + ;; *) - portmap_enable="YES" - echo "DEPENDENCY NOTE: portmap will be enabled" \ - "to support amd" - ;; + eval ${dep_var}="YES" + echo "DEPENDENCY NOTE: ${dep} will be enabled" \ + "to support ${svc}" + ;; esac ;; esac - case ${nfs_server_enable} in - [Yy][Ee][Ss]) - if [ -r /etc/exports ]; then - case ${portmap_enable} in - [Yy][Ee][Ss]) - ;; - *) - portmap_enable="YES" - echo "DEPENDENCY NOTE: portmap will be enabled" \ - "to support NFS" - ;; - esac - fi - ;; - esac +} +chkdepend amd amd_enable portmap portmap_enable +chkdepend NFS nfs_server_enable portmap portmap_enable # First pass at entropy recovery so the rebooting /dev/random can reseed. #