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

FreeBSD Manual Pages

  
 
  

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

NAME
     rcorder --	print a	dependency ordering of interdependent files

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

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

     Each file passed to rcorder should	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 should 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 se-
     ries 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.  A file containing no "PROVIDE", "REQUIRE", or "BEFORE"
     lines may be output at an arbitrary position in the dependency ordering.

     There must	be at least one	file with no dependencies in the set of	argu-
     ments passed to rcorder in	order for it to	find a starting	place in the
     dependency	ordering.

DIAGNOSTICS
     rcorder 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 program first appeared	in NetBSD 1.5.

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

BSD				April 23, 2003				   BSD

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

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=rcorder&sektion=8&manpath=NetBSD+6.0>

home | help