aboutsummaryrefslogtreecommitdiffstats
path: root/doc
diff options
context:
space:
mode:
Diffstat (limited to 'doc')
-rw-r--r--doc/faq.html7
-rw-r--r--doc/index.html5
-rw-r--r--doc/overview.html10
-rw-r--r--doc/s6-rc-bundle.html138
-rw-r--r--doc/s6-rc-compile.html26
-rw-r--r--doc/s6-rc.html3
-rw-r--r--doc/upgrade.html13
7 files changed, 27 insertions, 175 deletions
diff --git a/doc/faq.html b/doc/faq.html
index 23797f1..59b1d82 100644
--- a/doc/faq.html
+++ b/doc/faq.html
@@ -339,13 +339,6 @@ you don't want up anymore: <tt>s6-rc -p change runlevel-2</tt>.
<p>
Bundles are easy to use, they're flexible, and they're powerful.
They give you the same level of functionality as runlevels would, and more.
-You can even add bundles to compiled service databases - including the
-live one - or remove bundles from them without having to recompile them:
-that's what the <a href="s6-rc-bundle.html">s6-rc-bundle</a> utility is
-for.
-</p>
-
-<p>
When in doubt, use bundles.
</p>
diff --git a/doc/index.html b/doc/index.html
index 426bdb5..1278c18 100644
--- a/doc/index.html
+++ b/doc/index.html
@@ -69,8 +69,8 @@ requirement if you link against the shared version of the skalibs library. </li>
<ul>
<li> The current released version of s6-rc is
-<a href="s6-rc-0.6.2.0.tar.gz">0.6.2.0</a>.
-You can access its checksum <a href="s6-rc-0.6.2.0.tar.gz.sha256">here</a>. </li>
+<a href="s6-rc-0.7.0.0.tar.gz">0.7.0.0</a>.
+You can access its checksum <a href="s6-rc-0.7.0.0.tar.gz.sha256">here</a>. </li>
<li> Alternatively, you can checkout a copy of the
<a href="//git.skarnet.org/cgi-bin/cgit.cgi/s6-rc/">s6-rc
git repository</a>:
@@ -106,7 +106,6 @@ the previous versions of s6-rc and the current one. </li>
<ul>
<li> <a href="s6-rc-compile.html">The <tt>s6-rc-compile</tt> program</a> </li>
<li> <a href="s6-rc-db.html">The <tt>s6-rc-db</tt> program</a> </li>
- <li> <a href="s6-rc-bundle.html">The <tt>s6-rc-bundle</tt> program</a> </li>
</ul>
<h4> Online tools: managing your live services </h4>
diff --git a/doc/overview.html b/doc/overview.html
index e563256..1dfd4dc 100644
--- a/doc/overview.html
+++ b/doc/overview.html
@@ -219,16 +219,6 @@ provided in the packages, an invocation of
keep the live state up to date.
</p>
-<h2> Live bundle modifications </h2>
-
-<p>
- It is possible to change bundle definitions in a compiled service
-database, including the live one, without recompiling everything by
-calling <a href="s6-rc-compile.html">s6-rc-compile</a>. The
-<a href="s6-rc-bundle.html">s6-rc-bundle</a> tool can edit compiled
-databases to add bundles to them, or delete bundles from them.
-</p>
-
<h2> Management of source definition directories </h2>
<p>
diff --git a/doc/s6-rc-bundle.html b/doc/s6-rc-bundle.html
deleted file mode 100644
index fbe8d06..0000000
--- a/doc/s6-rc-bundle.html
+++ /dev/null
@@ -1,138 +0,0 @@
-<html>
- <head>
- <meta name="viewport" content="width=device-width, initial-scale=1.0" />
- <meta name="color-scheme" content="dark light" />
- <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
- <meta http-equiv="Content-Language" content="en" />
- <title>s6-rc: the s6-rc-bundle program</title>
- <meta name="Description" content="s6-rc: the s6-rc-bundle program" />
- <meta name="Keywords" content="s6-rc offline database dump command rc init dependency state management services" />
- <!-- <link rel="stylesheet" type="text/css" href="//skarnet.org/default.css" /> -->
- </head>
-<body>
-
-<p>
-<a href="index.html">s6-rc</a><br />
-<a href="//skarnet.org/software/">Software</a><br />
-<a href="//skarnet.org/">skarnet.org</a>
-</p>
-
-<h1> The s6-rc-bundle program </h1>
-
-<p>
- s6-rc-bundle is a tool to add or delete bundles from a compiled
-service database without having to recompile it from source.
-</p>
-
-<p>
- It is an <em>offline tool</em>, i.e. you can run it on any
-compiled service database without actually having a live set
-of services managed by s6-rc. However, if you do have a live
-set, you can still run s6-rc-bundle on the current database (and
-it is the default); it won't interfere with your normal service
-operation.
-</p>
-
-<h2> Interface </h2>
-
-<pre>
- s6-rc-bundle help
- s6-rc-bundle [ -f ] [ -l <em>live</em> ] [ -c <em>compiled</em> ] [ -b ] add <em>bundlename</em> <em>contents...</em>
- s6-rc-bundle [ -f ] [ -l <em>live</em> ] [ -c <em>compiled</em> ] [ -b ] delete <em>bundlenames...</em>
- s6-rc-bundle [ -f ] [ -l <em>live</em> ] [ -c <em>compiled</em> ] [ -b ] multiple <em>args...</em>
-</pre>
-
-<ul>
- <li> s6-rc-bundle expects to find a <em>compiled service database</em>
-in <em>compiled</em>; by default it uses the service database
-used by the live state in <em>live</em>. </li>
- <li> Depending on the arguments, it adds a bundle definition to this database, or
-deletes a bundle definition from it, or performs multiple additions/deletions. </li>
-</ul>
-
-<h2> Options </h2>
-
-<ul>
- <li> <tt>-c&nbsp;<em>compiled</em></tt>&nbsp;: operate on a
-compiled service database in <em>compiled</em> instead of
-the current live one. </li>
- <li> <tt>-l&nbsp;<em>live</em></tt>&nbsp;: assume the live
-state is in <em>live</em>. This option is ignored if the
-<tt>-c</tt> option has been given. Default is
-<tt>/run/s6-rc</tt>. The default can be changed at package
-compilation time, by giving the <tt>--livedir=<em>live</em></tt>
-option to <tt>./configure</tt>. </li>
- <li> <tt>-f</tt>&nbsp;: force. s6-rc-bundle will not complain
-when given a nonexisting name to delete (it will do nothing), or
-when given an existing name to add (it will replace the definition).
-By default, s6-rc-bundle will complain and exit when asked to delete a
-nonexistent name or to add an existing name. </li>
- <li> <tt>-b</tt>&nbsp;: blocking lock. If the database is currently
-being used by another program, s6-rc-bundle will wait until that
-other program has released its lock on the database, then proceed.
-By default, s6-rc-bundle fails with an error message if the database
-is currently in use. </li>
-</ul>
-
-<h2> Exit codes </h2>
-
-<ul>
- <li> 0: success </li>
- <li> 1: identifier already exists in service database </li>
- <li> 3: identifier not found in service database </li>
- <li> 4: invalid or corrupted service database </li>
- <li> 5: wrong identifier type for the given command </li>
- <li> 100: wrong usage </li>
- <li> 111: system call failed </li>
-</ul>
-
-<h2> Subcommands </h2>
-
-<h3> s6-rc-bundle help </h3>
-
-<p>
- Prints a help message on stdout.
-</p>
-
-<h3> s6-rc-bundle add <em>bundlename</em> <em>contents...</em> </h3>
-
-<p>
- Adds a bundle named <em>bundlename</em> to the database, representing
-the services listed in <em>contents</em>. The arguments in <em>contents...</em>
-are resolved <em>before</em> the database is modified by the
-s6-rc-bundle invocation.
-</p>
-
-<h3> s6-rc-bundle delete <em>bundlenames...</em> </h3>
-
-<p>
- Deletes bundles listed in <em>bundlenames...</em>.
-</p>
-
-<h3> s6-rc-bundle multiple <em>args...</em> </h3>
-
-<p>
- Performs multiple bundle deletions and additions. This subcommand is best
-used in an <a href="//skarnet.org/software/execline/">execline</a>
-script, because it uses
-<a href="//skarnet.org/software/execline/el_semicolon.html">blocks</a>.
-</p>
-
-<p>
-<em>args...</em> is composed of:
-</p>
-
-<ul>
- <li> One block listing bundle names that will be
-deleted from the database. </li>
- <li> Zero or more addition definitions, each of them composed of:
- <ul>
- <li> One argument that is the name of the bundle to add </li>
- <li> One block listing the services contained in the
-new bundle. The names in the block are resolved before any addition
-or deletion is made to the database. </li>
- </ul> </li>
-</ul>
-
-</body>
-</html>
diff --git a/doc/s6-rc-compile.html b/doc/s6-rc-compile.html
index 07625ac..d207b6c 100644
--- a/doc/s6-rc-compile.html
+++ b/doc/s6-rc-compile.html
@@ -198,30 +198,30 @@ complain and exit 1.
<h4> For oneshots </h4>
<ul>
- <li> Two regular files named <tt>up</tt> and <tt>down</tt>, which
-must each contain a single Unix command line. The files will be interpreted by the
+ <li> Three regular files named <tt>up</tt>, <tt>down</tt>, and <tt>reload</tt>,
+which must each contain a single Unix command line. The <tt>up</tt> file is
+mandatory, the other two are optional; if they are absent, they are considered
+empty, i.e. nothing happens when the corresponding script is executed and the
+operation is considered a success.
+The files will be interpreted by the
<a href="//skarnet.org/software/execline/execlineb.html">execlineb</a>
lexer at compile time and the results will be stored into the
compiled database in an internal form. <tt>up</tt> will be run when
-the service is started, and <tt>down</tt> will be executed when the service
-is stopped. <tt>up</tt> is mandatory, but <tt>down</tt> is optional;
-if no <tt>down</tt> file is provided in the source definition directory,
-then it is treated as the empty script. If a script is empty,
-then s6-rc will consider that the corresponding transition for this service
-does nothing and always succeeds. </li>
+the service is started, <tt>down</tt> will be executed when the service
+is stopped, and <tt>reload</tt> will be executed when the service is
+reloaded </li>
</ul>
<p>
- <tt>up</tt> and <tt>down</tt> are interpreted by
+ <tt>up</tt>, <tt>down</tt> and <tt>reload</tt> are interpreted by
<a href="//skarnet.org/software/execline/execlineb.html">execlineb</a>, but
that does not mean they have to be entirely written in the
<a href="//skarnet.org/software/execline/">execline</a> language. The
<a href="//skarnet.org/software/execline/execlineb.html">execlineb</a>
lexer is only used because it can compile a Unix command line from a text file
and store the compiled result, whereas a shell would have to be invoked
-everytime the script is run. There are many ways to write <tt>up</tt> and
-<tt>down</tt> scripts:
+everytime the script is run. There are many ways to write these scripts:
</p>
<ul>
@@ -239,8 +239,8 @@ while <tt>down</tt> contains <tt>/etc/init.d/<em>service</em> stop</tt>, and
<p>
Don't think you have to learn all the intricacies of the execline language
-just because the <tt>up</tt> and <tt>down</tt> scripts get lexed by it.
-You don't.
+just because the <tt>up</tt>, <tt>down</tt> and <tt>reload</tt>scripts get
+lexed by it. You don't.
</p>
<h4> For longruns </h4>
diff --git a/doc/s6-rc.html b/doc/s6-rc.html
index bb16113..afd6795 100644
--- a/doc/s6-rc.html
+++ b/doc/s6-rc.html
@@ -252,8 +252,7 @@ given on the command line, which must all be up. For a longrun,
<tt>s6-rc reload</tt> sends an <a href="//skarnet.org/software/s6/s6-svc.html">s6-svc -l</a>
command to the service, which causes it to receive a SIGHUP, or any
overriding signal configured in the <tt>reload-signal</tt> file.
-For a oneshot, the service's <tt>up</tt> script is executed, with
-an additional <tt>RC_RELOAD</tt> environment variable containing 1.
+For a oneshot, the service's <tt>reload</tt> script is executed.
</p>
<p>
diff --git a/doc/upgrade.html b/doc/upgrade.html
index 0aac5cf..f61933c 100644
--- a/doc/upgrade.html
+++ b/doc/upgrade.html
@@ -31,7 +31,7 @@ minor and bugfix version changes.
<h1> What has changed in s6-rc </h1>
-<h2> in 0.6.2.0 </h2>
+<h2> in 0.7.0.0 </h2>
<ul>
<li> <a href="//skarnet.org/software/skalibs/">skalibs</a>
@@ -39,8 +39,17 @@ dependency bumped to 2.15.0.1. </li>
<li> <a href="//skarnet.org/software/execline/">execline</a>
dependency bumped to 2.9.9.2. </li>
<li> <a href="//skarnet.org/software/s6/">s6</a>
-dependency bumped to 2.15.0.1. </li>
+dependency bumped to 2.15.1.0. </li>
<li> New <a href="s6-rc.html">s6-rc reload</a> command. </li>
+ <li> The database format has changed! To safely upgrade a running s6-rc installation:
+ <ul>
+ <li> Compile your current live database from the <strong>same source</strong>
+using the latest <a href="s6-rc-compile.html">s6-rc-compile</a> </li>
+ <li> Run the latest <a href="s6-rc-format-upgrade.html">s6-rc-format-upgrade</a> with the
+newly obtained database </li>
+ <li> Run the latest <a href="s6-rc-update.html">s6-rc-update</a> with the same database </li>
+ <li> Your system is now running the latest version of s6-rc; you can delete your old database </li>
+ </ul>
</ul>
<h2> in 0.6.1.1 </h2>