aboutsummaryrefslogtreecommitdiffstats
path: root/doc
diff options
context:
space:
mode:
authorLaurent Bercot <ska-skaware@skarnet.org>2025-10-30 05:04:21 +0000
committerLaurent Bercot <ska-skaware@skarnet.org>2025-10-30 05:04:21 +0000
commit0eb06a992d6f9644d107338df792d49355ef8e40 (patch)
tree03aef005900f7e5eac30cef976d91e8f4f543b29 /doc
parent92c0e8ff8fbe08a0cc78e01e0f5a321c8c91ed7b (diff)
downloads6-rc-0eb06a992d6f9644d107338df792d49355ef8e40.tar.gz
Add s6-rc-set-change doc page, update deps, fix verbosity guard
Diffstat (limited to 'doc')
-rw-r--r--doc/index.html6
-rw-r--r--doc/s6-rc-set-change.html105
-rw-r--r--doc/upgrade.html2
3 files changed, 109 insertions, 4 deletions
diff --git a/doc/index.html b/doc/index.html
index 9ede9bc..9a40af7 100644
--- a/doc/index.html
+++ b/doc/index.html
@@ -52,7 +52,7 @@ scripts are also run in a controlled environment.
2.14.5.0 or later. It's a build-time requirement. It's also a run-time
requirement if you link against the shared version of the skalibs library. </li>
<li> <a href="//skarnet.org/software/execline/">execline</a> version
-2.9.7.1 or later. It's a build-time <em>and</em> run-time requirement. </li>
+2.9.8.0 or later. It's a build-time <em>and</em> run-time requirement. </li>
<li> <a href="//skarnet.org/software/s6/">s6</a> version
2.13.3.0 or later. It's a build-time <em>and</em> run-time requirement. </li>
</ul>
@@ -68,7 +68,7 @@ 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.0.0.tar.gz">0.5.7.0</a>.
+<a href="s6-rc-0.6.0.0.tar.gz">0.6.0.0</a>.
You can access its checksum <a href="s6-rc-0.6.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
@@ -138,7 +138,7 @@ the previous versions of s6-rc and the current one. </li>
<li> <a href="s6-rc-repo-set-new.html">The <tt>s6-rc-set-new</tt> program</a> </li>
<li> <a href="s6-rc-repo-set-copy.html">The <tt>s6-rc-set-copy</tt> program</a> </li>
<li> <a href="s6-rc-repo-set-delete.html">The <tt>s6-rc-set-delete</tt> program</a> </li>
- <li> <a href="s6-rc-repo-set-changestate.html">The <tt>s6-rc-set-changestate</tt> program</a> </li>
+ <li> <a href="s6-rc-repo-set-change.html">The <tt>s6-rc-set-change</tt> program</a> </li>
<li> <a href="s6-rc-repo-set-commit.html">The <tt>s6-rc-set-commit</tt> program</a> </li>
</ul>
diff --git a/doc/s6-rc-set-change.html b/doc/s6-rc-set-change.html
new file mode 100644
index 0000000..5a0d41b
--- /dev/null
+++ b/doc/s6-rc-set-change.html
@@ -0,0 +1,105 @@
+<html>
+ <head>
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" />
+ <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+ <meta http-equiv="Content-Language" content="en" />
+ <title>s6-rc: the s6-rc-set-change program</title>
+ <meta name="Description" content="s6-rc: the s6-rc-set-change program" />
+ <meta name="Keywords" content="s6-rc s6-rc-set-change repo set sub change 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-set-change program </h1>
+
+<p>
+ s6-rc-set-change modifies a <a href="repodefs.html#set">set</a> by changing
+the <a href="repodefs.html#sub">sub</a> of some services.
+</p>
+
+<h2> Interface </h2>
+
+<pre>
+ s6-rc-set-change [ -v <em>verbosity</em> ] [ -r <em>repo</em> ] [ -E ] [ -f | -I fail|pull|warn ] [ -n ] <em>set</em> <em>newsub</em> <em>services...</em>
+</pre>
+
+<ul>
+ <li> s6-rc-set-change operates on <a href="repodefs.html#set">set</a> <em>set</em> in <a href="repodefs.html#repository">repository</a> <em>repo</em>. </li>
+ <li> It attempts to move all the services listed in <em>services...</em> into <a href="repodefs.html#sub">sub</a> <em>newsub</em>. </li>
+ <li> It exits 0. </li>
+</ul>
+
+<h2> Options </h2>
+
+<dl>
+ <dt> -v <em>verbosity</em>, --verbosity=<em>verbosity</em> </dt>
+ <dd> Be more or less verbose. The default is <strong>1</strong>, which means
+that error messages and warnings will be written to stderr. 0 means that only
+error messages will be written, and 2 or more adds informational messages. </dd>
+
+ <dt> -r <em>repo</em>, --repository=<em>repo</em> </dt>
+ <dd> Use the repository in <em>repo</em>, which must exist. Default is
+<strong>/var/lib/s6-rc/repository</strong>.
+ </dd>
+
+ <dt> -E, --force-essential </dt>
+ <dd> This option is necessary in order if <em>newsub</em> is <tt>always</tt>.
+Without that option, s6-rc-set-change refuses to set services to <tt>always</tt>. </dd>
+
+ <dt> -f, --ignore-dependencies </dt>
+ <dd> Change <em>services...</em> to <em>newsub</em>, but do not change any other
+services, even if the dependency graph would normally mandate it. This may result
+in an inconsistent set that you cannot commit. </dd>
+</dl>
+
+ <dt> -I <em>action</em>, --if-dependencies-found=<em>action</em> </dt>
+ <dd> Determine what to do if a dependency would make the set inconsistent.
+For instance, if service <tt>A</tt> depends on service <tt>B</tt>, they are both
+in the <tt>latent</tt> sub, and you are trying to change <tt>A</tt> to <tt>active</tt>
+without mentioning <tt>B</tt>, this would not work: in order to be brought up at
+boot time, <tt>A</tt> would first need <tt>B</tt> to also be brought up at boot time,
+so <tt>A</tt> can only be <tt>active</tt> if <tt>B</tt> also is. In that situation,
+what s6-rc-set-change does depends on the value of <em>action</em>:
+ <ul>
+ <li> <tt>fail</tt>: print an error message and exit 1. </li>
+ <li> <tt>warn</tt>: print a warning message and proceed. This is the default. </li>
+ <li> <tt>pull</tt>: print a warning message and pull the dependencies of
+<em>services...</em> into <em>newsub</tt>. (Or the reverse dependencies, if
+you're trying to disable or mask services. </li>
+ </ul>
+ The warning messages are not printed if <em>verbosity</em> is 0. </dd>
+
+ <dt> -n, --dry-run </dt>
+ <dd> Check whether the command would succeed, print warning or error messages if
+appropriate, but do not perform the actual modifications. </dd>
+
+<h2> Exit codes </h2>
+
+<dl>
+ <dt> 0 </dt> <dd> Success. </dd>
+ <dt> 1 </dt> <dd> <tt>-I fail</tt> was given and dependencies prevented <em>services...</em>
+from being changed to <em>newsub</em>. </dd>
+ <dt> 3 </dt> <dd> A service in <em>services...</em> was not found in the reference database. </dt>
+ <dt> 4 </dt> <dd> Invalid or corrupted reference database. </dd>
+ <dt> 100 </dt> <dd> Incorrect usage. </dd>
+ <dt> 102 </dt> <dd> Inconsistent repository. </dd>
+ <dt> 111 </dt> <dd> System call failed. </dd>
+</dl>
+
+<h2> Notes </h2>
+
+<ul>
+ <li> s6-rc-set-change is the bread and butter of <em>repo</em> operations. It is how users
+can tailor the set of services they want to be enabled at boot time. </li>
+ <li> Once a change has been effected, and the command says that the set is consistent,
+it needs to be <a href="s6-rc-set-commit">committed</a>. </li>
+</ul>
+
+</body>
+</html>
diff --git a/doc/upgrade.html b/doc/upgrade.html
index e77f2d6..dba10f9 100644
--- a/doc/upgrade.html
+++ b/doc/upgrade.html
@@ -36,7 +36,7 @@ minor and bugfix version changes.
<li> <a href="//skarnet.org/software/skalibs/">skalibs</a>
dependency bumped to 2.14.5.0. </li>
<li> <a href="//skarnet.org/software/execline/">execline</a>
-dependency bumped to 2.9.7.1. </li>
+dependency bumped to 2.9.8.0. </li>
<li> <a href="//skarnet.org/software/s6/">s6</a>
dependency bumped to 2.13.3.0. </li>
</ul>