Re: [announce] s6-rc: a s6-based service manager for Unix systems

From: Laurent Bercot <>
Date: Thu, 24 Sep 2015 11:47:07 +0200

On 24/09/2015 04:54, Avery Payne wrote:
> 1. Copy the entire contents of the svcdef/ directory into the s6
> source definition directory, including dot file support directories.

  There is no room in the source definition directory for a support
directory as svcdef/ ; I mean, you can put it anywhere, but
s6-rc-compile won't know what to do with it, and won't include it
in the compiled database.

  If your created services need to reference things in a global
support directory, the best practice is to install this support
directory into an official location, and to use the absolute path
to this location in your scripts. s6-rc-compile will only treat
local data: if you have global data, you're in charge of it.

> 2. Use the install command to copy .bin, .finish, .log, and .run from
> the source definition directory into the compiled definition
> directory.

  I would highly recommend NOT messing with the compiled database
after it has been created. The format isn't fixed, and I want to
have complete freedom to change it. The only official interface
is the source format; you should do whatever is required to
whip up a working source definition directory that doesn't need
extra magic after the compilation phase. Once you have run
s6-rc-compile, the database is opaque stuff you can't modify;
you can move the compiled directory around, but don't mess with it.

  Also, when I said that s6-rc-compile does not dereference symlinks,
I partially lied. It is true for whatever is in data/ and env/
subdirectories. But "special" scripts that make a service directory
such as ./run and ./finish are definitely not copied verbatim; those
links will be dereferenced. You cannot assume that your run scripts
themselves are called ./run, either: in some cases, s6-rc-compile
puts a wrapper around them.

  If you need to perform run-time magic, put all your stuff in data/
and operate there. But as much as possible, the magic should happen
when you convert scripts to the s6-rc-compile source format, so the
compiled database remains simple and straightforward.

Received on Thu Sep 24 2015 - 09:47:07 UTC

This archive was generated by hypermail 2.3.0 : Sun May 09 2021 - 19:38:49 UTC