OSSP CVS Repository

ossp - Difference in ossp-pkg/rc/rc.pod versions 1.25 and 1.26
Not logged in
[Honeypot]  [Browse]  [Home]  [Login]  [Reports
[Search]  [Ticket]  [Timeline
  [History

ossp-pkg/rc/rc.pod 1.25 -> 1.26

--- rc.pod       2002/01/31 10:11:43     1.25
+++ rc.pod       2002/01/31 21:14:10     1.26
@@ -52,10 +52,15 @@
 [B<--RequireUmask umask>]
 [B<--RequireOwner uid|name>]
 [B<--RequireGroup gid|name>]
+[B<--ParseEnvAss regex>]
 [B<--ParseSectionDef regex>]
 [B<--ParseSectionRef regex>]
+[B<--ParseSectionParam regex>]
+[B<--ParseTerminal regex>]
 [B<--NameConfig> name]
 [B<--NameCommon> name]
+[B<--NameDefault> name]
+[B<--NameError> name]
 I<rcfile>
 I<section>
 
@@ -176,13 +181,25 @@
 
 group of the F<rcfile> must match gid|name, otherwise it's ignored.
 
+=item B<--ParseConfigAss regex>
+
+regex matching the variable assignments in a F<rcfile>.
+
 =item B<--ParseSectionDef regex>
 
-regex matching a section within a F<rcfile>.
+regex matching a section label in a F<rcfile>.
 
 =item B<--ParseSectionRef regex>
 
-regex matching a reference within a F<rcfile>.
+regex matching a reference in a F<rcfile>.
+
+=item B<--ParseSectionParam regex>
+
+regex matching a section parameter in a F<rcfile>.
+
+=item B<--ParseTerminal regex>
+
+regex matching a terminal symbol in a F<rcfile>. See LANGUAGE.
 
 =item B<--NameConfig> name
 
@@ -192,6 +209,14 @@
 
 name of the common section, defaults to %common.
 
+=item B<--NameDefault> name
+
+name of the default section, defaults to %default.
+
+=item B<--NameError> name
+
+name of the error section, defaults to %error.
+
 Every command line longoption corresponds to a keyword in the F<rc.conf> file.
 When prefixed with 'OSSP_RC_' and its name in upper case, an option can be set
 as an environment variable. First, options from the F<rc.conf> file are read.
@@ -206,17 +231,54 @@
 'OSSP_RC_' and be all upper case. As a security measure, one environment
 variable exists that is not found as an option elsewhere. This variable
 deactivates B<OSSP rc>, and each subsequent usage will return success and
-print a 'No commands run: OSSP_RC_DEACT set to yes' error message to the
-standard output.
+write 'No commands run: OSSP_RC_DEACT set to yes' to the console and syslog
+with LOG_USER and LOG_ERR (see syslog(3)).
 
 B<OSSP_RC_DEACT> - Set to 'yes' or 'true' to totally deactivate B<OSSP rc>
 
+=head1 COMMAND INTERPRETER
+
+As long as a valid interpreter path is specified in the section labels of a
+F<rcfile>, the runcommands resulting from a --eval, --exec, or --print
+operation can be written in any runtime-interpreted language. This means that
+a perl programmer can write runcommands in perl, and specify the perl
+interpreter path in the corresponding section label of the F<rcfile>. A
+different programming language can be used for each section, even though this
+would complicate inclusion of script from the B<%common> section and
+F<rc.func> sections (because each section is associated with only one
+interpreter). If the command interpreter in a section label is not specified,
+then the Bourne shell will be used by default. See FILES/rc.foo for details.
+
 =head1 RETURN VALUE
 
 -1 Error in rc
  0 Success
  1 Error in command executed by rc
 
+=head1 ERROR HANDLING
+
+Rich and fine-tuned error handling is possible by writing one or both of the
+following sections into F<rcfile>(s). These sections typically reference the
+local F<rcfile>'s variables ${rc_errcode} and ${rc_errstring} for more
+information about which error was encountered and its text.
+
+=item B<%error>
+
+If an error condition arises during an F<rcfile>'s processing, control will
+pass to the B<%error> section whose commands will begin to run. Should no such
+B<%error> section exist, rc will stop any rcfile processing and write error
+strings to the console and syslog using LOG_USER and LOG_ERR (see syslog(3)).
+An empty B<%error> section in each F<rcfile> is synonymous to a
+C<IgnoreAllErrors> option (which doesn't exist).
+
+=item B<%default>
+
+The commands in the B<%default> section are run when the corresponding
+F<rcfile> contains no section label matching the one(s) specified on the
+command line. If the appropriate section label doesn't exist and neither does
+B<%default>, then an error is assumed and control flows to the B<%error>
+section.
+
 =head1 EXAMPLES
 
 A runcommand consists of a single program name and one or more sections. The
@@ -227,16 +289,22 @@
  /usr/local/bin/rc --info
  /sbin/rc --query lmtp2nntp
  /cw/etc/rc --conf /etc/rc.conf --debug smtpd stop
- /sfw/etc/rc --silent ntpd start sync stop start
+ /sfw/etc/rc.d/rc.ntpd --silent start sync stop start
  /usr/local/bin/rc httpd reload # sends a HUP signal
 
-Arguments may also be passed in to B<OSSP rc>, which will forward them to each
-section as it is called.
-
- /mybin/rc sshd start LOG_USER  # calls logger(1) and passes LOG_USER
- /etc/rc lmtp2nntp start 2      # sleep for 2 seconds before returning
- /etc/rc.d/rc.rsyncd restart 4  # leave a 4 second pause between start and stop
- /cw/etc/rc.d/rc.ftpd start 32  # a maximum of 32 users can connect
+Arguments in the form of name=value pairs may be passed to the section(s)
+given on the command line. In the F<rcfile>, such arguments will appear as
+normal configuration variables. They can be referenced as such (by default as
+${myarg}). On the command line, the arguments following a section will be
+local to the section and unusable by the others. If a argument is needed by
+more than one section, then repeat its definition after each section given on
+the command line.
+
+ /mybin/rc all start sFac="LOG_USER"  # pass LOG_USER as an argument to 'start'
+ /etc/rc lmtp2nntp start nSleep=2     # sleep for 2 seconds before returning
+ /etc/rc.d/rc.rsyncd restart nSleep=4 # pause 4 seconds between start and stop
+ /cw/etc/rc.d/rc.ftpd start nMax=32   # a maximum of 32 users can connect
+ rc -rdv all stop nSleep=2 start nSleep=4 sLevel="LOG_INFO" bQuiet=1
 
 To evaluate a runcommand for all programs with an identical section name, a
 short expression can be written into a F<.profile> file. When the shell
@@ -259,7 +327,7 @@
 more information, inspect the /etc/rc structures provided by the FreeBSD,
 Solaris, and Red Hat distributions.
 
-rc-sample(5), rc.conf(1), and rcfile(1).
+rc-sample(5).
 
 =head1 AUTHORS
 

CVSTrac 2.0.1