svn commit: r298515 - in head: etc share/examples/csh share/man/man8
Lars Engels
lme at FreeBSD.org
Sat Apr 23 16:19:36 UTC 2016
Author: lme (ports committer)
Date: Sat Apr 23 16:19:34 2016
New Revision: 298515
URL: https://svnweb.freebsd.org/changeset/base/298515
Log:
- Add two new subcommands to rc.subr:
"describe" shows an rc script's description
"extracommands" shows an rc script's non-standard commands like "reload", "configtest", "keygen", etc
- Update the rc(8) manpage and the tcsh(1) completion examples to reflect these changes
Approved by: bapt
Sponsored by: Essen Linuxhotel Hackathon 2016
Differential Revision: D452
Modified:
head/etc/rc.subr
head/share/examples/csh/dot.cshrc
head/share/man/man8/rc.8
Modified: head/etc/rc.subr
==============================================================================
--- head/etc/rc.subr Sat Apr 23 16:10:54 2016 (r298514)
+++ head/etc/rc.subr Sat Apr 23 16:19:34 2016 (r298515)
@@ -844,6 +844,10 @@ check_startmsgs()
#
# enabled Return true if the service is enabled.
#
+# describe Show the service's description
+#
+# extracommands Show the service's extra commands
+#
# Variables available to methods, and after run_rc_command() has
# completed:
#
@@ -912,7 +916,7 @@ run_rc_command()
eval _override_command=\$${name}_program
command=${_override_command:-$command}
- _keywords="start stop restart rcvar enabled $extra_commands"
+ _keywords="start stop restart rcvar enabled describe extracommands $extra_commands"
rc_pid=
_pidcmd=
_procname=${procname:-${command}}
@@ -962,12 +966,13 @@ run_rc_command()
if [ "$_elem" != "$rc_arg" ]; then
continue
fi
- # if ${rcvar} is set, $1 is not "rcvar"
+ # if ${rcvar} is set, $1 is not "rcvar" and not "describe"
# and ${rc_pid} is not set, then run
# checkyesno ${rcvar}
# and return if that failed
#
- if [ -n "${rcvar}" -a "$rc_arg" != "rcvar" -a "$rc_arg" != "stop" ] ||
+ if [ -n "${rcvar}" -a "$rc_arg" != "rcvar" -a "$rc_arg" != "stop" \
+ -a "$rc_arg" != "describe" ] ||
[ -n "${rcvar}" -a "$rc_arg" = "stop" -a -z "${rc_pid}" ]; then
if ! checkyesno ${rcvar}; then
if [ -n "${rc_quiet}" ]; then
@@ -1004,6 +1009,16 @@ run_rc_command()
case "$rc_arg" in # default operations...
+ describe)
+ if [ -n "$desc" ]; then
+ echo "$desc"
+ fi
+ ;;
+
+ extracommands)
+ echo "$extra_commands"
+ ;;
+
status)
_run_rc_precmd || return 1
if [ -n "$rc_pid" ]; then
Modified: head/share/examples/csh/dot.cshrc
==============================================================================
--- head/share/examples/csh/dot.cshrc Sat Apr 23 16:10:54 2016 (r298514)
+++ head/share/examples/csh/dot.cshrc Sat Apr 23 16:19:34 2016 (r298515)
@@ -98,7 +98,7 @@ complete rsync "c,*:/,F:/," \
complete scp "c,*:/,F:/," \
"c,*:,F:$HOME," \
'c/*@/$hosts/:/'
-complete service 'c/-/(e l r v)/' 'p/1/`service -l`/' 'n/*/(start stop reload restart status rcvar onestart onestop)/'
+complete service 'c/-/(e l r v)/' 'p/1/`service -l`/' 'n/*/(start stop reload restart status rcvar describe extracommands onestart onestop oneextracommands)/'
complete svn 'C at file:///@`'"${HOME}/etc/tcsh/complete.d/svn"'`@@' \
'n at ls@(file:/// svn+ssh:// svn://)@@' \
'n at help@(add blame cat checkout cleanup commit copy delete export help import info list ls lock log merge mkdir move propdel \
Modified: head/share/man/man8/rc.8
==============================================================================
--- head/share/man/man8/rc.8 Sat Apr 23 16:10:54 2016 (r298514)
+++ head/share/man/man8/rc.8 Sat Apr 23 16:19:34 2016 (r298515)
@@ -323,6 +323,10 @@ If the script starts a process (rather t
operation), show the status of the process.
Otherwise it is not necessary to support this argument.
Defaults to displaying the process ID of the program (if running).
+.It Cm describe
+Print a short description of what the script does.
+.It Cm extracommands
+Print the script's non-standard commands.
.It Cm poll
If the script starts a process (rather than performing a one-off
operation), wait for the command to exit.
More information about the svn-src-all
mailing list