Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
RCORDER(8)		FreeBSD	System Manager's Manual		    RCORDER(8)

NAME
     rcorder --	print a	dependency ordering of interdependent files

SYNOPSIS
     rcorder [-k keep] [-s skip] file ...

DESCRIPTION
     The rcorder utility is designed to	print out a dependency ordering	of a
     set of interdependent files.  Typically it	is used	to find	an execution
     sequence for a set	of shell scripts in which certain files	must be	exe-
     cuted before others.

     Each file passed to rcorder must be annotated with	special	lines (which
     look like comments	to the shell) which indicate the dependencies the
     files have	upon certain points in the sequence, known as ``conditions'',
     and which indicate, for each file,	which ``conditions'' may be expected
     to	be filled by that file.

     Within each file, a block containing a series of ``REQUIRE'',
     ``PROVIDE'', ``BEFORE'' and ``KEYWORD'' lines must	appear.	 The format of
     the lines is rigid.  Each line must begin with a single `#', followed by
     a single space, followed by ``PROVIDE:'', ``REQUIRE:'', ``BEFORE:'', or
     ``KEYWORD:''.  No deviation is permitted.	Each dependency	line is	then
     followed by a series of conditions, separated by whitespace.  Multiple
     ``PROVIDE'', ``REQUIRE'', ``BEFORE'' and ``KEYWORD'' lines	may appear,
     but all such lines	must appear in a sequence without any intervening
     lines, as once a line that	does not follow	the format is reached, parsing
     stops.

     The options are as	follows:

     -k	     Add the specified keyword to the ``keep list''.  If any -k	option
	     is	given, only those files	containing the matching	keyword	are
	     listed.

     -s	     Add the specified keyword to the ``skip list''.  If any -s	option
	     is	given, files containing	the matching keyword are not listed.

     An	example	block follows:

	   # REQUIRE: networking syslog
	   # REQUIRE: usr
	   # PROVIDE: dns nscd

     This block	states that the	file in	which it appears depends upon the
     ``networking'', ``syslog'', and ``usr'' conditions, and provides the
     ``dns'' and ``nscd'' conditions.

     A file may	contain	zero ``PROVIDE'' lines,	in which case it provides no
     conditions, and may contain zero ``REQUIRE'' lines, in which case it has
     no	dependencies.  There must be at	least one file with no dependencies in
     the set of	arguments passed to rcorder in order for it to find a starting
     place in the dependency ordering.

DIAGNOSTICS
     The rcorder utility may print one of the following	error messages and
     exit with a non-zero status if it encounters an error while processing
     the file list.

     Requirement %s has	no providers, aborting.	 No file has a ``PROVIDE''
     line corresponding	to a condition present in a ``REQUIRE''	line in
     another file.

     Circular dependency on provision %s, aborting.  A set of files has	a cir-
     cular dependency which was	detected while processing the stated condi-
     tion.

     Circular dependency on file %s, aborting.	A set of files has a circular
     dependency	which was detected while processing the	stated file.

SEE ALSO
     rc(8)

HISTORY
     The rcorder utility first appeared	in NetBSD 1.5.

AUTHORS
     Written by	Perry E. Metzger <perry@piermont.com> and Matthew R. Green
     <mrg@eterna.com.au>.

BUGS
     The ``REQUIRE'' keyword is	misleading: It doesn't describe	which daemons
     have to be	running	before a script	will be	started.  It describes which
     scripts must be placed before it in the dependency	ordering.  For exam-
     ple, if your script has a ``REQUIRE'' on ``named'', it means the script
     must be placed after the ``named''	script in the dependency ordering, not
     necessarily that it requires named(8) to be started or enabled.

FreeBSD	11.1			August 5, 2011			  FreeBSD 11.1

NAME | SYNOPSIS | DESCRIPTION | DIAGNOSTICS | SEE ALSO | HISTORY | AUTHORS | BUGS

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=rcorder&sektion=8&manpath=FreeBSD+11.0-RELEASE+and+Ports>

home | help