aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLaurent Bercot <ska-skaware@skarnet.org>2026-04-10 12:47:59 +0000
committerLaurent Bercot <ska-skaware@skarnet.org>2026-04-10 12:47:59 +0000
commitad8302b50b20c57d5067c681a2bb1249ce2a28be (patch)
treeda9ee6601819fe5dd6a707900f311b88115d97d2
parent8476eaf087910edcfb2db1c7f997b99c2b3e95d5 (diff)
downloads6-ad8302b50b20c57d5067c681a2bb1249ce2a28be.tar.gz
Go a little easier on execline advocacy
-rw-r--r--doc/overview.html5
-rw-r--r--doc/s6-svscan-1.html17
2 files changed, 11 insertions, 11 deletions
diff --git a/doc/overview.html b/doc/overview.html
index b4f977a..164cffd 100644
--- a/doc/overview.html
+++ b/doc/overview.html
@@ -313,7 +313,7 @@ order. Very often, a run script can be reduced to a single command line -
likely a long one, but still a single one. (That is the main reason why
using the
<a href="//skarnet.org/software/execline/">execline</a> language
-to write run scripts is recommended: execline makes it natural to handle
+to write run scripts is a good idea: execline makes it natural to handle
long command lines made of massive amounts of chain loading. This is by no
means mandatory, though: a run script can be any executable file you want,
provided that running it eventually results in a long-lived process with
@@ -383,6 +383,9 @@ to check whether they're ready or not:
<a href="s6-notifyoncheck.html">s6-notifyoncheck</a>.
This is polling, which is bad, but unfortunately necessary for
many daemons as of 2019. </li>
+ <li> The <a href="s6-notify-fd-from-socket.html">s6-notify-fd-from-socket</a>
+program is the s6 way of supporting programs that use systemd's <tt>sd_notify()</tt>
+notification mechanism. </li>
</ul>
<p>
diff --git a/doc/s6-svscan-1.html b/doc/s6-svscan-1.html
index b68d2bb..875e22e 100644
--- a/doc/s6-svscan-1.html
+++ b/doc/s6-svscan-1.html
@@ -237,12 +237,10 @@ init a script.
<p>
Of course, most people will use the <em>shell</em> as scripting
-language; however, I advocate the use of
-<a href="//skarnet.org/software/execline/">execline</a>
-for this, and not only for the obvious reasons. Piping s6-svscan's
+language; however, they will find that piping s6-svscan's
stderr to a logging service before said service is even up requires
-some <a href="#log">tricky fifo handling</a> that execline can do
-and the shell cannot.
+some <a href="#log">tricky fifo handling</a> that the shell cannot
+do portably. See below for more details.
</p>
<a name="stage3">
@@ -254,8 +252,7 @@ and the shell cannot.
stage 3 init is naturally the <tt>/run/service/.s6-svscan/finish</tt> program.
Of course, <tt>/run/service/.s6-svscan/finish</tt> can be a symbolic link
to anything else; just make sure it points to something in the root
-filesystem (unless your program is an execline script, in which case
-it is not even necessary).
+filesystem.
</p>
<h3> What stage 3-4 init must do </h3>
@@ -382,15 +379,15 @@ that will provide such a reader process. </li>
</ul>
<p>
- This second point cannot be solved in a shell script, and that is why
-you are discouraged to write your stage 1 init script in the shell
+ This second point cannot be portably solved in a shell script, and that is why
+it's a deceptively bad idea to write your stage 1 init script in the shell
language: you cannot properly set up a FIFO output for s6-svscan without
resorting to horrible and unreliable hacks involving a temporary background
FIFO reader process.
</p>
<p>
- Instead, you are encouraged to use the
+ Instead, I suggest using the
<a href="//skarnet.org/software/execline/">execline</a> language -
or, at least,
the <a href="//skarnet.org/software/execline/redirfd.html">redirfd</a>