aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLaurent Bercot <ska-skaware@skarnet.org>2026-01-23 23:57:01 +0000
committerLaurent Bercot <ska-skaware@skarnet.org>2026-01-23 23:57:01 +0000
commitd45679c137a64ea989fbd189d52bf9bfc4f7fe6d (patch)
tree78753819fd9a7c23a25354d3bec23d0039f592f5
parent044e7a2b7975c0b4170f4c0d61ac2bdaee1873ea (diff)
downloads6-rc-d45679c137a64ea989fbd189d52bf9bfc4f7fe6d.tar.gz
Update deps and doc
-rw-r--r--INSTALL6
-rw-r--r--README3
-rw-r--r--doc/faq.html49
-rw-r--r--doc/index.html12
-rw-r--r--doc/upgrade.html9
-rwxr-xr-xpatch-for-solaris2
6 files changed, 45 insertions, 36 deletions
diff --git a/INSTALL b/INSTALL
index d411724..64b1454 100644
--- a/INSTALL
+++ b/INSTALL
@@ -6,9 +6,9 @@ Build Instructions
- A POSIX-compliant C development environment
- GNU make version 3.81 or later
- - skalibs version 2.14.5.0 or later: https://skarnet.org/software/skalibs/
- - execline version 2.9.8.0 or later: https://skarnet.org/software/execline/
- - s6 version 2.14.0.0 or later: https://skarnet.org/software/s6/
+ - skalibs version 2.14.5.1 or later: https://skarnet.org/software/skalibs/
+ - execline version 2.9.8.1 or later: https://skarnet.org/software/execline/
+ - s6 version 2.14.0.1 or later: https://skarnet.org/software/s6/
This software will run on any operating system that implements
POSIX.1-2024, available at:
diff --git a/README b/README
index 3e867f2..54f509f 100644
--- a/README
+++ b/README
@@ -13,7 +13,8 @@ supervised, and that short-lived instructions are run in a reproducible
manner.
It also provides commands to help distributions organize service
-definitions automatically installed by a package manager.
+definitions automatically installed by a package manager, and meant to
+be a backend to the s6-frontend package.
See https://skarnet.org/software/s6-rc/ for details.
diff --git a/doc/faq.html b/doc/faq.html
index ee230c8..acf6e79 100644
--- a/doc/faq.html
+++ b/doc/faq.html
@@ -76,7 +76,7 @@ after <tt>-- change</tt>.
</a>
<h3> The source format for
-<a href="s6-rc-compile.html">s6-rc-compile</a> is not very convenient.
+<a href="s6-rc-compile.html#source">s6-rc-compile</a> is not very convenient.
Why not put all the information for a service in a single file&nbsp;? </h3>
<p>
@@ -115,7 +115,9 @@ s6-rc source format will make it easy on those tools.
indubitably easier to do in other languages than C), and want to write
a program that takes a text file, parses it and outputs a service
definition directory in the s6-rc-compile source format, it should also be
-rather easy - please, feel free!
+rather easy - please, feel free! (There are talks in the community of an
+initiative to design a common declarative syntax for service files, with
+backends for OpenRC, s6-rc, and systemd. It may happen at some point.)
</p>
<h3> There are no "Provides:", no virtual services. What do I do
@@ -184,14 +186,14 @@ according to your preferences, but keep the same idea)
<ul>
<li> Make sure your <a href="s6-rc-init.html">s6-rc-init</a> invocation,
-in your init scripts, always uses the <tt>/etc/s6-rc/compiled</tt> name
+in your init scripts, always uses the <tt>/etc/s6-rc/compiled/current</tt> name
to refer to the database to use at boot time. </li>
- <li> Make sure <tt>/etc/s6-rc/compiled</tt> is a <em>symbolic link</em>
+ <li> Make sure <tt>/etc/s6-rc/compiled/current</tt> is a <em>symbolic link</em>
that points to your current compiled database. For instance, the first
time you compile a service database, you could run:
<pre>
- s6-rc-compile /etc/s6-rc/compiled-initial /etc/s6-rc/source-initial
- ln -sf compiled-initial /etc/s6-rc/compiled
+ s6-rc-compile /etc/s6-rc/compiled/initial /etc/s6-rc/source-initial
+ ln -sf initial /etc/s6-rc/compiled/current
</pre> </li>
<li> When you compile a new service database, always compile it to a
unique name, preferrably in the same directory as your current compiled
@@ -200,22 +202,22 @@ database. You can for instance use a TAI64N timestamp, obtained by
to create such a name:
<pre>
stamp=`s6-clock`
- s6-rc-compile /etc/s6-rc/compiled-$stamp /etc/s6-rc/source-current
+ s6-rc-compile /etc/s6-rc/compiled/$stamp /etc/s6-rc/source-current
</pre> </li>
<li> To replace your current compiled database with the one you just
created, run <a href="s6-rc-update.html">s6-rc-update</a> on the new
name:
<pre>
- s6-rc-update /etc/s6-rc/compiled-$stamp
+ s6-rc-update /etc/s6-rc/compiled/$stamp
</pre> </li>
<li> At this point, your current database is the new one, but if
your machine reboots, it will still use the old one (because
-the <tt>/etc/s6-rc/compiled</tt> link is still pointing to the old one).
+the <tt>/etc/s6-rc/compiled/current</tt> link is still pointing to the old one).
To ensure that the
new database will be used on the next boot, atomically update the link:
<pre>
- olddb=`s6-linkname -f /etc/s6-rc/compiled`
- s6-ln -nsf compiled-$stamp /etc/s6-rc/compiled
+ olddb=`s6-linkname -f /etc/s6-rc/compiled/current`
+ s6-ln -nsf $stamp /etc/s6-rc/compiled/current
</pre>
The use of the
<a href="//skarnet.org/software/s6-portable-utils/s6-ln.html">s6-ln</a>
@@ -223,24 +225,23 @@ utility is recommended, because the
<a href="https://pubs.opengroup.org/onlinepubs/9799919799/utilities/ln.html">ln</a>
standard actually <em>forbids</em> an atomic replacement, so utilities that
follow it to the letter, for instance, <tt>ln</tt> from GNU coreutils, cannot
-be atomic: they first remove the old link, then create the new one. If you
-do not have
-<a href="//skarnet.org/software/s6-portable-utils/s6-ln.html">s6-ln</a>,
-you need to perform an unintuitive workaround to get POSIX-compliant tools to
-do the right thing:
- <tt>ln -sf compiled-$stamp /etc/s6-rc/compiled/compiled &amp;&amp;
-mv -f /etc/s6-rc/compiled/compiled /etc/s6-rc</tt> </li>
+be atomic: they first remove the old link, then create the new one. </li>
<li> Your current compiled database, stored in
-<tt>/etc/s6-rc/compiled-$stamp</tt>, is now accessible via the
-<tt>/etc/s6-rc/compiled</tt> symlink and will be used at boot time. You do
+<tt>/etc/s6-rc/compiled/$stamp</tt>, is now accessible via the
+<tt>/etc/s6-rc/compiled/current</tt> symlink and will be used at boot time. You do
not need to modify your init scripts. If you wish, you can dispose of the
old database you just replaced:
<pre>
rm -rf $olddb
</pre> </li>
+ <li> All of these operations are now automated in the
+<a href="//skarnet.org/software/s6-frontend/">s6-frontend</a> package:
+<a href="//skarnet.org/software/s6-frontend/s6_live.html#install"><tt>s6 live install</tt></a>
+will do all this for you, if you create your service database via
+<a href="//skarnet.org/software/s6-frontend/s6_set.html"><tt>s6 set</tt></a>
+commands. </li>
</ul>
-
<a name="switching">
<h2> Switching from another service manager </h2>
</a>
@@ -443,5 +444,11 @@ requires adaptation and more work for the admin to use OpenRC outside of
that frame.
</p>
+<p>
+<a href="//skarnet.org/software/s6-frontend/">s6-frontend</a> makes s6-rc
+more accessible, but does not provide policy files either. Work is underway
+on a policy package that will provide a turnkey bootable s6 ecosystem.
+</p>
+
</body>
</html>
diff --git a/doc/index.html b/doc/index.html
index 38e8972..8bf2512 100644
--- a/doc/index.html
+++ b/doc/index.html
@@ -49,12 +49,12 @@ scripts are also run in a controlled environment.
<li> A POSIX-compliant system with a standard C development environment </li>
<li> GNU make, version 3.81 or later </li>
<li> <a href="//skarnet.org/software/skalibs/">skalibs</a> version
-2.14.5.0 or later. It's a build-time requirement. It's also a run-time
+2.14.5.1 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.8.0 or later. It's a build-time <em>and</em> run-time requirement. </li>
+2.9.8.1 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.14.0.0 or later. It's a build-time <em>and</em> run-time requirement. </li>
+2.14.0.1 or later. It's a build-time <em>and</em> run-time requirement. </li>
</ul>
<h3> Licensing </h3>
@@ -155,9 +155,9 @@ on incremental improvement.
<p>
The <a href="//skarnet.org/software/s6-frontend/">s6-frontend</a> project is
-a higher-level interface to the s6 ecosystem, and s6-rc in particular.
-It is currently in development and should land in a major Linux distribution
-in 2025 or 2026.
+a higher-level interface to the s6 ecosystem, and s6-rc in particular. If
+you're looking for an entry point to s6, s6-frontend is what you want.
+s6-rc is more of a part of the engine.
</p>
<h3> Discussion </h3>
diff --git a/doc/upgrade.html b/doc/upgrade.html
index cf12ebb..c0b3e62 100644
--- a/doc/upgrade.html
+++ b/doc/upgrade.html
@@ -34,14 +34,15 @@ minor and bugfix version changes.
<ul>
<li> <a href="//skarnet.org/software/skalibs/">skalibs</a>
-dependency bumped to 2.14.5.0. </li>
+dependency bumped to 2.14.5.1. </li>
<li> <a href="//skarnet.org/software/execline/">execline</a>
-dependency bumped to 2.9.8.0. </li>
+dependency bumped to 2.9.8.1. </li>
<li> <a href="//skarnet.org/software/s6/">s6</a>
-dependency bumped to 2.14.0.0. </li>
+dependency bumped to 2.14.0.1. </li>
<li> The macros in <tt>s6-rc/config.h</tt> have changed.
<tt>S6RC_LIVE_BASE</tt> is now named <tt>S6RC_LIVEDIR</tt>, in
-addition to the new <tt>S6RC_REPODIR</tt> and <tt>S6RC_BOOTDB</tt>. </li>
+addition to the new <tt>S6RC_REPODIR</tt> and <tt>S6RC_BOOTDB</tt>.
+ <li> Lots of <a href="repodefs.html">new commands</a>. </li>
</ul>
<h2> in 0.5.6.0 </h2>
diff --git a/patch-for-solaris b/patch-for-solaris
index f209bab..bc4def1 100755
--- a/patch-for-solaris
+++ b/patch-for-solaris
@@ -4,7 +4,7 @@ patchit () {
echo '#!/usr/xpg4/bin/sh' > $1.tmp
tail -n +2 $1 >> $1.tmp
mv -f $1.tmp $1
- chmod 755 $1
+ chmod 0755 $1
}
# Solaris doesn't understand POSIX.1-2008 either.