From ba793728a840041e93e38bcbff4a7233dc63b722 Mon Sep 17 00:00:00 2001 From: Daniel Tameling Date: Sat, 1 Jul 2023 10:43:40 +0200 Subject: [PATCH] rc.subr: don't require service to be enabled for `status` For a service that sets an rcvar, there is a check whether it has been enabled before the actual command is executed. If the check fails, one gets a message to enable it and the returned exit status is 0. However, this is usually undesirable for the status command, which is a) supposed to check whether the service is running anyway and b) returns a non-zero exit code if that is not the case. Thus, skip the check for the status command. PR: 272282 Reviewed by: emaste MFC after: 3 days --- libexec/rc/rc.subr | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/libexec/rc/rc.subr b/libexec/rc/rc.subr index 17ca904ff1e..332718dc6f2 100644 --- a/libexec/rc/rc.subr +++ b/libexec/rc/rc.subr @@ -1041,13 +1041,14 @@ run_rc_command() continue fi # if ${rcvar} is set, $1 is not "rcvar", "describe", - # "enable" or "delete", and ${rc_pid} is not set, run: + # "enable", "delete" or "status", and ${rc_pid} is + # not set, run: # checkyesno ${rcvar} # and return if that failed # if [ -n "${rcvar}" -a "$rc_arg" != "rcvar" -a "$rc_arg" != "stop" \ -a "$rc_arg" != "delete" -a "$rc_arg" != "enable" \ - -a "$rc_arg" != "describe" ] || + -a "$rc_arg" != "describe" -a "$rc_arg" != "status" ] || [ -n "${rcvar}" -a "$rc_arg" = "stop" -a -z "${rc_pid}" ]; then if ! checkyesno ${rcvar}; then if [ -n "${rc_quiet}" ]; then