git: ba793728a840 - main - rc.subr: don't require service to be enabled for `status`
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Thu, 21 Sep 2023 23:30:56 UTC
The branch main has been updated by emaste:
URL: https://cgit.FreeBSD.org/src/commit/?id=ba793728a840041e93e38bcbff4a7233dc63b722
commit ba793728a840041e93e38bcbff4a7233dc63b722
Author: Daniel Tameling <tamelingdaniel@gmail.com>
AuthorDate: 2023-07-01 08:43:40 +0000
Commit: Ed Maste <emaste@FreeBSD.org>
CommitDate: 2023-09-21 23:28:40 +0000
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 17ca904ff1e7..332718dc6f2c 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