summaryrefslogtreecommitdiff
path: root/doc/s6-rc-compile.html
diff options
context:
space:
mode:
Diffstat (limited to 'doc/s6-rc-compile.html')
-rw-r--r--doc/s6-rc-compile.html31
1 files changed, 22 insertions, 9 deletions
diff --git a/doc/s6-rc-compile.html b/doc/s6-rc-compile.html
index c00ced8..acaf3c6 100644
--- a/doc/s6-rc-compile.html
+++ b/doc/s6-rc-compile.html
@@ -115,15 +115,23 @@ contents, i.e. all the services it represents will be marked as essential. </li>
<h3> For bundles </h3>
<ul>
- <li> A regular file named <tt>contents</tt>. This file must be a list
+ <li> A directory named <tt>contents.d</tt>. This directory must contain
+files, no matter their type, no matter their contents, named after services.
+(Typically, empty regular files are used.)
+All the services named in this directory will be represented by the bundle
+named <em>service</em>. </li>
+ <li> If <tt>contents.d</tt> does not exist, the bundle contents can be read
+from a regular file named <tt>contents</tt>. This file must be a list
of service names, one per line. Whitespace at the beginning of a line
is ignored, but trailing whitespace is not. Lines starting with a <tt>#</tt>
character are ignored. The file defines the services that will be
-represented by the bundle named <em>service</em>. </li>
+represented by the bundle named <em>service</em>. Note that this format is
+deprecated. </li>
</ul>
<p>
- It is possible to use bundle names in a <tt>contents</tt> file.
+ It is possible to use bundle names in a <tt>contents.d</tt> directory or a
+<tt>contents</tt> file.
However, if s6-rc-compile detects a cycle in bundle definitions, it will
complain and exit 1.
</p>
@@ -143,22 +151,27 @@ must contain an integer, which is the maximum number of milliseconds
stop; if stopping the service takes longer than this value, s6-rc will declare
the transition a failure. If the file does not exist, or contains 0, no timeout
is defined and s6-rc will wait indefinitely for the service to stop. </li>
- <li> An optional regular file named <tt>dependencies</tt>. This file must be a list
+ <li> An optional directory named <tt>dependencies.d</tt>. This directory must contain
+files, no matter their type, no matter their contents, named after services.
+(Typically, empty regular files are used.) All the services named in this directory
+will be <em>direct dependencies</em> of <em>service</em>, i.e. the services that must
+be up in order for <em>service</em> to work properly. </li>
+ <li> If <tt>dependencies.d</tt> does not exist: an optional regular file named
+<tt>dependencies</tt>. This file must be a list
of service names, one per line. Whitespace at the beginning of a line
is ignored, but trailing whitespace is not. Lines starting with a <tt>#</tt>
character are ignored. The file defines the <em>direct dependencies</em> of
-<em>service</em>, i.e. the services that must be up in order for
-<em>service</em> to work properly. </li>
+<em>service</em>. Note that this format is deprecated. </li>
</ul>
<p>
It is unnecessary to manually define complete sets of dependencies in the
-<tt>dependencies</tt> file, because
+<tt>dependencies.d</tt> directory or the <tt>dependencies</tt> file, because
<a href="s6-rc.html">s6-rc</a> will properly handle dependency chains.
If <em>A</em> depends on <em>B</em>, no matter the underlying
implementation of <em>B</em>, and the current implementation of <em>B</em>
depends on <em>C</em>, then you should just put <em>B</em> in
-<tt><em>A</em>/dependencies</tt>; when starting the set,
+<tt><em>A</em>/dependencies.d</tt>; when starting the set,
<a href="s6-rc.html">s6-rc</a> will start <em>C</em> first, then
<em>B</em>, then <em>A</em>. If the underlying implementation of <em>B</em>
changes and does not depend on <em>C</em>, then you will just have to
@@ -168,7 +181,7 @@ will still be correct.
<p>
Of course, if <em>A</em> depends on <em>C</em> anyway, you should add
-both <em>B</em> and <em>C</em> to <tt><em>A</em>/dependencies</tt>.
+both <em>B</em> and <em>C</em> to <tt><em>A</em>/dependencies.d</tt>.
</p>
<p>