xref: /minix3/sbin/rcorder/rcorder.8 (revision 045e0ed35ce62cdaaec13869c12d6745bf07a525)
1*045e0ed3SDavid van Moolenbroek.\"	$NetBSD: rcorder.8,v 1.10 2014/03/18 18:20:39 riastradh Exp $
2*045e0ed3SDavid van Moolenbroek.\"
3*045e0ed3SDavid van Moolenbroek.\" Copyright (c) 1998
4*045e0ed3SDavid van Moolenbroek.\" 	Perry E. Metzger.  All rights reserved.
5*045e0ed3SDavid van Moolenbroek.\"
6*045e0ed3SDavid van Moolenbroek.\" Redistribution and use in source and binary forms, with or without
7*045e0ed3SDavid van Moolenbroek.\" modification, are permitted provided that the following conditions
8*045e0ed3SDavid van Moolenbroek.\" are met:
9*045e0ed3SDavid van Moolenbroek.\" 1. Redistributions of source code must retain the above copyright
10*045e0ed3SDavid van Moolenbroek.\"    notice, this list of conditions and the following disclaimer.
11*045e0ed3SDavid van Moolenbroek.\" 2. Redistributions in binary form must reproduce the above copyright
12*045e0ed3SDavid van Moolenbroek.\"    notice, this list of conditions and the following disclaimer in the
13*045e0ed3SDavid van Moolenbroek.\"    documentation and/or other materials provided with the distribution.
14*045e0ed3SDavid van Moolenbroek.\" 3. All advertising materials mentioning features or use of this software
15*045e0ed3SDavid van Moolenbroek.\"    must display the following acknowledgment:
16*045e0ed3SDavid van Moolenbroek.\"	This product includes software developed for the NetBSD Project
17*045e0ed3SDavid van Moolenbroek.\"	by Perry E. Metzger.
18*045e0ed3SDavid van Moolenbroek.\" 4. The name of the author may not be used to endorse or promote products
19*045e0ed3SDavid van Moolenbroek.\"    derived from this software without specific prior written permission.
20*045e0ed3SDavid van Moolenbroek.\"
21*045e0ed3SDavid van Moolenbroek.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
22*045e0ed3SDavid van Moolenbroek.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
23*045e0ed3SDavid van Moolenbroek.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
24*045e0ed3SDavid van Moolenbroek.\" IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
25*045e0ed3SDavid van Moolenbroek.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
26*045e0ed3SDavid van Moolenbroek.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
27*045e0ed3SDavid van Moolenbroek.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
28*045e0ed3SDavid van Moolenbroek.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
29*045e0ed3SDavid van Moolenbroek.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
30*045e0ed3SDavid van Moolenbroek.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
31*045e0ed3SDavid van Moolenbroek.\"
32*045e0ed3SDavid van Moolenbroek.\"
33*045e0ed3SDavid van Moolenbroek.Dd April 23, 2003
34*045e0ed3SDavid van Moolenbroek.Dt RCORDER 8
35*045e0ed3SDavid van Moolenbroek.Os
36*045e0ed3SDavid van Moolenbroek.Sh NAME
37*045e0ed3SDavid van Moolenbroek.Nm rcorder
38*045e0ed3SDavid van Moolenbroek.Nd print a dependency ordering of interdependent files
39*045e0ed3SDavid van Moolenbroek.Sh SYNOPSIS
40*045e0ed3SDavid van Moolenbroek.Nm
41*045e0ed3SDavid van Moolenbroek.Op Fl k Ar keep
42*045e0ed3SDavid van Moolenbroek.Op Fl s Ar skip
43*045e0ed3SDavid van Moolenbroek.Ar
44*045e0ed3SDavid van Moolenbroek.Sh DESCRIPTION
45*045e0ed3SDavid van Moolenbroek.Nm
46*045e0ed3SDavid van Moolenbroekis designed to print out a dependency ordering of a set of
47*045e0ed3SDavid van Moolenbroekinterdependent files.
48*045e0ed3SDavid van MoolenbroekTypically it is used to find an execution sequence for a set of
49*045e0ed3SDavid van Moolenbroekshell scripts in which certain files must be executed before others.
50*045e0ed3SDavid van Moolenbroek.Pp
51*045e0ed3SDavid van MoolenbroekEach file passed to
52*045e0ed3SDavid van Moolenbroek.Nm
53*045e0ed3SDavid van Moolenbroekshould be annotated with special lines (which look like comments to the
54*045e0ed3SDavid van Moolenbroekshell) which indicate the dependencies the files have upon certain
55*045e0ed3SDavid van Moolenbroekpoints in the sequence, known as
56*045e0ed3SDavid van Moolenbroek.Dq conditions ,
57*045e0ed3SDavid van Moolenbroekand which indicate, for each file, which
58*045e0ed3SDavid van Moolenbroek.Dq conditions
59*045e0ed3SDavid van Moolenbroekmay be expected to be filled by that file.
60*045e0ed3SDavid van Moolenbroek.Pp
61*045e0ed3SDavid van MoolenbroekWithin each file, a block containing a series of
62*045e0ed3SDavid van Moolenbroek.Dq REQUIRE ,
63*045e0ed3SDavid van Moolenbroek.Dq PROVIDE ,
64*045e0ed3SDavid van Moolenbroek.Dq BEFORE
65*045e0ed3SDavid van Moolenbroekand
66*045e0ed3SDavid van Moolenbroek.Dq KEYWORD
67*045e0ed3SDavid van Moolenbroeklines should appear.
68*045e0ed3SDavid van MoolenbroekThe format of the lines is rigid.
69*045e0ed3SDavid van MoolenbroekEach line must begin with a single
70*045e0ed3SDavid van Moolenbroek.Dq # ,
71*045e0ed3SDavid van Moolenbroekfollowed by a single space, followed by
72*045e0ed3SDavid van Moolenbroek.Dq PROVIDE: ,
73*045e0ed3SDavid van Moolenbroek.Dq REQUIRE: ,
74*045e0ed3SDavid van Moolenbroek.Dq BEFORE: ,
75*045e0ed3SDavid van Moolenbroekor
76*045e0ed3SDavid van Moolenbroek.Dq KEYWORD: .
77*045e0ed3SDavid van MoolenbroekNo deviation is permitted.
78*045e0ed3SDavid van MoolenbroekEach dependency line is then followed by a series of conditions,
79*045e0ed3SDavid van Moolenbroekseparated by whitespace.
80*045e0ed3SDavid van MoolenbroekMultiple
81*045e0ed3SDavid van Moolenbroek.Dq PROVIDE ,
82*045e0ed3SDavid van Moolenbroek.Dq REQUIRE ,
83*045e0ed3SDavid van Moolenbroek.Dq BEFORE
84*045e0ed3SDavid van Moolenbroekand
85*045e0ed3SDavid van Moolenbroek.Dq KEYWORD
86*045e0ed3SDavid van Moolenbroeklines may appear, but all such lines must appear in a sequence without
87*045e0ed3SDavid van Moolenbroekany intervening lines, as once a line that does not follow the format
88*045e0ed3SDavid van Moolenbroekis reached, parsing stops.
89*045e0ed3SDavid van Moolenbroek.Pp
90*045e0ed3SDavid van MoolenbroekThe options are as follows:
91*045e0ed3SDavid van Moolenbroek.Bl -tag -width Ds
92*045e0ed3SDavid van Moolenbroek.It Fl k
93*045e0ed3SDavid van MoolenbroekAdd the specified keyword to the
94*045e0ed3SDavid van Moolenbroek.Dq keep list .
95*045e0ed3SDavid van MoolenbroekIf any
96*045e0ed3SDavid van Moolenbroek.Fl k
97*045e0ed3SDavid van Moolenbroekoption is given, only those files containing the matching keyword are listed.
98*045e0ed3SDavid van Moolenbroek.It Fl s
99*045e0ed3SDavid van MoolenbroekAdd the specified keyword to the
100*045e0ed3SDavid van Moolenbroek.Dq skip list .
101*045e0ed3SDavid van MoolenbroekIf any
102*045e0ed3SDavid van Moolenbroek.Fl s
103*045e0ed3SDavid van Moolenbroekoption is given, files containing the matching keyword are not listed.
104*045e0ed3SDavid van Moolenbroek.El
105*045e0ed3SDavid van Moolenbroek.Pp
106*045e0ed3SDavid van Moolenbroek An example block follows:
107*045e0ed3SDavid van Moolenbroek.Bd -literal -offset indent
108*045e0ed3SDavid van Moolenbroek# REQUIRE: networking syslog
109*045e0ed3SDavid van Moolenbroek# REQUIRE: usr
110*045e0ed3SDavid van Moolenbroek# PROVIDE: dns nscd
111*045e0ed3SDavid van Moolenbroek.Ed
112*045e0ed3SDavid van Moolenbroek.Pp
113*045e0ed3SDavid van MoolenbroekThis block states that the file in which it appears depends upon the
114*045e0ed3SDavid van Moolenbroek.Dq networking ,
115*045e0ed3SDavid van Moolenbroek.Dq syslog ,
116*045e0ed3SDavid van Moolenbroekand
117*045e0ed3SDavid van Moolenbroek.Dq usr
118*045e0ed3SDavid van Moolenbroekconditions, and provides the
119*045e0ed3SDavid van Moolenbroek.Dq dns
120*045e0ed3SDavid van Moolenbroekand
121*045e0ed3SDavid van Moolenbroek.Dq nscd
122*045e0ed3SDavid van Moolenbroekconditions.
123*045e0ed3SDavid van Moolenbroek.Pp
124*045e0ed3SDavid van MoolenbroekA file may contain zero
125*045e0ed3SDavid van Moolenbroek.Dq PROVIDE
126*045e0ed3SDavid van Moolenbroeklines, in which case it provides no conditions, and may contain zero
127*045e0ed3SDavid van Moolenbroek.Dq REQUIRE
128*045e0ed3SDavid van Moolenbroeklines, in which case it has no dependencies.
129*045e0ed3SDavid van MoolenbroekA file containing no
130*045e0ed3SDavid van Moolenbroek.Dq PROVIDE ,
131*045e0ed3SDavid van Moolenbroek.Dq REQUIRE ,
132*045e0ed3SDavid van Moolenbroekor
133*045e0ed3SDavid van Moolenbroek.Dq BEFORE
134*045e0ed3SDavid van Moolenbroeklines may be output at an arbitrary position in the dependency
135*045e0ed3SDavid van Moolenbroekordering.
136*045e0ed3SDavid van Moolenbroek.Pp
137*045e0ed3SDavid van MoolenbroekThere must be at least one file with no dependencies in the set of
138*045e0ed3SDavid van Moolenbroekarguments passed to
139*045e0ed3SDavid van Moolenbroek.Nm
140*045e0ed3SDavid van Moolenbroekin order for it to find a starting place in the dependency ordering.
141*045e0ed3SDavid van Moolenbroek.Sh DIAGNOSTICS
142*045e0ed3SDavid van Moolenbroek.Nm
143*045e0ed3SDavid van Moolenbroekmay print one of the following error messages and exit with a non-zero
144*045e0ed3SDavid van Moolenbroekstatus if it encounters an error while processing the file list.
145*045e0ed3SDavid van Moolenbroek.Bl -diag
146*045e0ed3SDavid van Moolenbroek.It "Requirement %s has no providers, aborting."
147*045e0ed3SDavid van MoolenbroekNo file has a
148*045e0ed3SDavid van Moolenbroek.Dq PROVIDE
149*045e0ed3SDavid van Moolenbroekline corresponding to a condition present in a
150*045e0ed3SDavid van Moolenbroek.Dq REQUIRE
151*045e0ed3SDavid van Moolenbroekline in another file.
152*045e0ed3SDavid van Moolenbroek.It "Circular dependency on provision %s, aborting."
153*045e0ed3SDavid van MoolenbroekA set of files has a circular dependency which was detected while
154*045e0ed3SDavid van Moolenbroekprocessing the stated condition.
155*045e0ed3SDavid van Moolenbroek.It "Circular dependency on file %s, aborting."
156*045e0ed3SDavid van MoolenbroekA set of files has a circular dependency which was detected while
157*045e0ed3SDavid van Moolenbroekprocessing the stated file.
158*045e0ed3SDavid van Moolenbroek.El
159*045e0ed3SDavid van Moolenbroek.Sh SEE ALSO
160*045e0ed3SDavid van Moolenbroek.Xr rc 8
161*045e0ed3SDavid van Moolenbroek.Sh HISTORY
162*045e0ed3SDavid van MoolenbroekThe
163*045e0ed3SDavid van Moolenbroek.Nm
164*045e0ed3SDavid van Moolenbroekprogram first appeared in
165*045e0ed3SDavid van Moolenbroek.Nx 1.5 .
166*045e0ed3SDavid van Moolenbroek.Sh AUTHORS
167*045e0ed3SDavid van Moolenbroek.An -nosplit
168*045e0ed3SDavid van MoolenbroekWritten by
169*045e0ed3SDavid van Moolenbroek.An Perry E. Metzger Aq Mt perry@piermont.com
170*045e0ed3SDavid van Moolenbroekand
171*045e0ed3SDavid van Moolenbroek.An Matthew R. Green Aq Mt mrg@eterna.com.au .
172