runit

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs | README

commit eed4e56913a97d7ccb2b8e317ca6d1168ddd8cf5
parent 33404e422e2be45b93906f6d4613c6fabf2d7097
Author: Gerrit Pape <pape@smarden.org>
Date:   Sun, 16 Apr 2006 12:28:49 +0000

1.5.0.

Diffstat:
MMakefile | 2+-
Mdoc/install.html | 12++++++------
Mdoc/replaceinit.html | 4++--
Mdoc/runsvdir.8.html | 54++++++++++++++++++++++++++++--------------------------
Mdoc/svlogd.8.html | 74+++++++++++++++++++++++++++++++++++++++-----------------------------------
Mdoc/upgrade.html | 4++++
Mpackage/CHANGES | 2+-
Mpackage/upgrade | 4++--
Mpackage/versions | 1+
9 files changed, 84 insertions(+), 73 deletions(-)

diff --git a/Makefile b/Makefile @@ -1,6 +1,6 @@ DESTDIR= -PACKAGE=runit-1.4.1 +PACKAGE=runit-1.5.0 DIRS=doc man etc package src MANPAGES=runit.8 runit-init.8 runsvdir.8 runsv.8 sv.8 svwaitdown.8 svwaitup.8 \ utmpset.8 runsvchdir.8 runsvstat.8 runsvctrl.8 svlogd.8 chpst.8 diff --git a/doc/install.html b/doc/install.html @@ -17,14 +17,14 @@ If you don't have a <tt>/package</tt> directory, create it now: # chmod 1755 /package </pre> Download -<a href="runit-1.4.1.tar.gz">runit-1.4.1.tar.gz</a> into <tt>/package</tt> +<a href="runit-1.5.0.tar.gz">runit-1.5.0.tar.gz</a> into <tt>/package</tt> and unpack the archive <pre> # cd /package - # gunzip runit-1.4.1.tar - # tar -xpf runit-1.4.1.tar - # rm runit-1.4.1.tar - # cd admin/runit-1.4.1 + # gunzip runit-1.5.0.tar + # tar -xpf runit-1.5.0.tar + # rm runit-1.5.0.tar + # cd admin/runit-1.5.0 </pre> On MacOSX, do <pre> @@ -43,7 +43,7 @@ hierarchy, do: </pre> To report success: <pre> - # mail pape-runit-1.4.1@smarden.org &lt;compile/sysdeps + # mail pape-runit-1.5.0@smarden.org &lt;compile/sysdeps </pre> If you use <i>runit</i> regularly, please <a href="http://smarden.org/pape/#contribution">contribute</a> to the project. diff --git a/doc/replaceinit.html b/doc/replaceinit.html @@ -116,7 +116,7 @@ default Unix process no 1 <i>runit</i>. </pre> To report success: <pre> - # ( uname -a ; cat /etc/runit/[123] ) |mail pape-runit-1.4.1@smarden.org + # ( uname -a ; cat /etc/runit/[123] ) |mail pape-runit-1.5.0@smarden.org </pre> <hr> @@ -205,7 +205,7 @@ This will cause <i>runit</i> to enter stage 3 which runs <p> To report success: <pre> - # ( uname -a ; cat /etc/runit/[123] ) |mail pape-runit-1.4.1@smarden.org + # ( uname -a ; cat /etc/runit/[123] ) |mail pape-runit-1.5.0@smarden.org </pre> <h3>Step 5: Service migration</h3> The goal is to migrate all services from <i>/etc/rc.*</i> scheme to the diff --git a/doc/runsvdir.8.html b/doc/runsvdir.8.html @@ -17,42 +17,44 @@ runsvdir - starts and monitors a collection of <i>runsv(8)</i> processes <i>dir</i> must be a directory. <i>log</i> is a space holder for a readproctitle log, and must be at least seven characters long or absent. <p> -<b>runsvdir</b> starts a <i><b>runsv</b>(8)</i> process for each subdirectory in the -services directory <i>dir</i>, up to a limit of 1000 subdirectories. <b>runsvdir</b> skips -subdirectory names starting with dots. <i><b>runsv</b>(8)</i> must be in <b>runsvdir</b>&rsquo;s PATH. +<b>runsvdir</b> starts a <i><b>runsv</b>(8)</i> process for each subdirectory, or symlink +to a directory, in the services directory <i>dir</i>, up to a limit of 1000 subdirectories, +and restarts a <i><b>runsv</b>(8)</i> process if it terminates. <b>runsvdir</b> skips subdirectory +names starting with dots. <i><b>runsv</b>(8)</i> must be in <b>runsvdir</b>&rsquo;s PATH. <p> +At least every +five seconds <b>runsvdir</b> checks whether the time of last modification, the +inode, or the device, of the services directory <i>dir</i> has changed. If so, +it re-scans the service directory, and if it sees a new subdirectory, or +new symlink to a directory, in <i>dir</i>, it starts a new <i><b>runsv</b>(8)</i> process; if +<b>runsvdir</b> sees a subdirectory being removed that was previously there, it +sends the corresponding <i><b>runsv</b>(8)</i> process a TERM signal, stops monitoring +this process, and so does not restart the <i><b>runsv</b>(8)</i> process if it exits. <p> -At least every five seconds <b>runsvdir</b> checks whether the services directory -<i>dir</i> has changed. If it sees a new subdirectory in <i>dir</i>, it starts a new <i><b>runsv</b>(8)</i> -process. If it sees an old sudirectory where a <i><b>runsv</b>(8)</i> process has exited, -it restarts the <i><b>runsv</b>(8)</i> process. If <b>runsvdir</b> sees a subdirectory being -removed that was previously there, it sends the corresponding <i><b>runsv</b>(8)</i> -process a TERM signal, stops monitoring this process, and so does not restart -the <i><b>runsv</b>(8)</i> process if it exits. <p> -If the <i>log</i> argument is given to <b>runsvdir</b>, -all output to standard error is redirected to this <i>log</i>, which is similar -to the daemontools&rsquo; <b>readproctitle</b> log. To see the most recent error messages, -use a process-listing tool such as <i><b>ps</b>(1)</i>. <b>runsvdir</b> writes a dot to the readproctitle -log every 15 minutes so that old error messages expire. +If the <i>log</i> argument is given to <b>runsvdir</b>, all output to standard error +is redirected to this <i>log</i>, which is similar to the daemontools&rsquo; <b>readproctitle</b> +log. To see the most recent error messages, use a process-listing tool such +as <i><b>ps</b>(1)</i>. <b>runsvdir</b> writes a dot to the readproctitle log every 15 minutes +so that old error messages expire. <h2><a name='sect3'>Options</a></h2> <dl> <dt><b>-P</b> </dt> -<dd>use <i><b>setsid</b>(2)</i> -to run each <i><b>runsv</b>(8)</i> process in a new session and separate process group. -</dd> +<dd>use <i><b>setsid</b>(2)</i> to run each <i><b>runsv</b>(8)</i> +process in a new session and separate process group. </dd> </dl> <h2><a name='sect4'>Signals</a></h2> -If <b>runsvdir</b> receives a TERM signal, it exits with 0 immediately. -<p> -If <b>runsvdir</b> receives a HUP signal, it sends a TERM signal to each <i><b>runsv</b>(8)</i> -process it is monitoring and then exits with 111. +If <b>runsvdir</b> +receives a TERM signal, it exits with 0 immediately. <p> +If <b>runsvdir</b> receives +a HUP signal, it sends a TERM signal to each <i><b>runsv</b>(8)</i> process it is monitoring +and then exits with 111. <h2><a name='sect5'>See Also</a></h2> -<i>sv(8)</i>, <i>runsv(8)</i>, -<i>runsvchdir(8)</i>, <i>runit(8)</i>, <i>runit-init(8)</i>, <i>chpst(8)</i>, <i>svlogd(8)</i>, <i>utmpset(8)</i>, -<i>setsid(2)</i> <p> -<i>http://smarden.org/runit/</i> +<i>sv(8)</i>, <i>runsv(8)</i>, <i>runsvchdir(8)</i>, <i>runit(8)</i>, +<i>runit-init(8)</i>, <i>chpst(8)</i>, <i>svlogd(8)</i>, <i>utmpset(8)</i>, <i>setsid(2)</i> <p> +<i>http://smarden.org/runit/</i> + <h2><a name='sect6'>Author</a></h2> Gerrit Pape &lt;pape@smarden.org&gt; <p> diff --git a/doc/svlogd.8.html b/doc/svlogd.8.html @@ -70,58 +70,62 @@ On startup, and after receiving a HUP signal, <b>svlogd</b> checks for each log directory <i>log</i> if the configuration file <i>log/config</i> exists, and if so, reads the file line by line and adjusts configuration for <i>log</i> as follows: <p> -If the line is empty, less than two characters long, or starts -with a &lsquo;&lsquo;#&rsquo;&rsquo;, it is ignored. A line of the form +If the line is empty, or starts with a &lsquo;&lsquo;#&rsquo;&rsquo;, it is ignored. A line +of the form <dl> <dt>s<i>size</i> </dt> -<dd>sets the maximum file -size of <i>current</i> when <b>svlogd</b> should rotate the current log file to <i>size</i> -bytes. Default is 1000000. If <i>size</i> is zero, <b>svlogd</b> doesn&rsquo;t rotate log files. -You should set <i>size</i> to at least (2 * <i>len</i>). </dd> +<dd>sets the maximum file size of <i>current</i> when <b>svlogd</b> should +rotate the current log file to <i>size</i> bytes. Default is 1000000. If <i>size</i> is +zero, <b>svlogd</b> doesn&rsquo;t rotate log files. You should set <i>size</i> to at least (2 +* <i>len</i>). </dd> <dt>n<i>num</i> </dt> -<dd>sets the number of old log -files <b>svlogd</b> should maintain to <i>num</i>. If <b>svlogd</b> sees more that <i>num</i> old log -files in <i>log</i> after log file rotation, it deletes the oldest one. Default -is 10. If <i>num</i> is zero, <b>svlogd</b> doesn&rsquo;t remove old log files. </dd> +<dd>sets the number of old log files <b>svlogd</b> should maintain to +<i>num</i>. If <b>svlogd</b> sees more that <i>num</i> old log files in <i>log</i> after log file rotation, +it deletes the oldest one. Default is 10. If <i>num</i> is zero, <b>svlogd</b> doesn&rsquo;t remove +old log files. </dd> <dt>N<i>min</i> </dt> -<dd>sets the -minimum number of old log files <b>svlogd</b> should maintain to <i>min</i>. <i>min</i> must -be less than <i>num</i>. If <i>min</i> is set, and <b>svlogd</b> cannot write to <i>current</i> because -the filesystem is full, and it sees more than <i>min</i> old log files, it deletes -the oldest one. </dd> +<dd>sets the minimum number of old log files <b>svlogd</b> should +maintain to <i>min</i>. <i>min</i> must be less than <i>num</i>. If <i>min</i> is set, and <b>svlogd</b> cannot +write to <i>current</i> because the filesystem is full, and it sees more than +<i>min</i> old log files, it deletes the oldest one. </dd> <dt>t<i>timeout</i> </dt> -<dd>sets the maximum age of the <i>current</i> log file when -<b>svlogd</b> should rotate the current log file to <i>timeout</i> seconds. If <i>current</i> -is <i>timeout</i> seconds old, and is not empty, <b>svlogd</b> forces log file rotation. -</dd> +<dd>sets the maximum +age of the <i>current</i> log file when <b>svlogd</b> should rotate the current log file +to <i>timeout</i> seconds. If <i>current</i> is <i>timeout</i> seconds old, and is not empty, +<b>svlogd</b> forces log file rotation. </dd> <dt>!<i>processor</i> </dt> -<dd>tells <b>svlogd</b> to feed each recent log file through <i>processor</i> -(see above) on log file rotation. By default log files are not processed. -</dd> +<dd>tells <b>svlogd</b> to feed each recent +log file through <i>processor</i> (see above) on log file rotation. By default +log files are not processed. </dd> <dt>u<i>a.b.c.d[:port]</i> </dt> -<dd>tells <b>svlogd</b> to transmit the first <i>len</i> characters of selected -log messages to the IP address <i>a.b.c.d</i>, port number <i>port</i>. If <i>port</i> isn&rsquo;t set, -the default port for syslog is used (514). <i>len</i> can be set through the -l -option, see below. If <b>svlogd</b> has trouble sending udp packets, it writes -error messages to the log directory. Attention: logging through udp is unreliable, -and should be used in private networks only. </dd> +<dd>tells <b>svlogd</b> to transmit the first +<i>len</i> characters of selected log messages to the IP address <i>a.b.c.d</i>, port number +<i>port</i>. If <i>port</i> isn&rsquo;t set, the default port for syslog is used (514). <i>len</i> can +be set through the -l option, see below. If <b>svlogd</b> has trouble sending udp +packets, it writes error messages to the log directory. Attention: logging +through udp is unreliable, and should be used in private networks only. +</dd> <dt>U<i>a.b.c.d[:port]</i> </dt> -<dd>is the same as -the <i>u</i> line above, but the log messages are no longer written to the log -directory, but transmitted through udp only. Error messages from <b>svlogd</b> -concerning sending udp packages still go to the log directory. </dd> +<dd>is the same as the <i>u</i> line above, but the log messages are +no longer written to the log directory, but transmitted through udp only. +Error messages from <b>svlogd</b> concerning sending udp packages still go to +the log directory. </dd> + +<dt>p<i>prefix</i> </dt> +<dd>tells <b>svlogd</b> to prefix each line to be written +to the log directory, to standard error, or through UDP, with <i>prefix</i>. </dd> </dl> <p> -If a line -starts with a <i>-</i>, <i>+</i>, <i>e</i>, or <i>E</i>, <b>svlogd</b> matches the first <i>len</i> characters of -each log message against <i>pattern</i> and acts accordingly: +If +a line starts with a <i>-</i>, <i>+</i>, <i>e</i>, or <i>E</i>, <b>svlogd</b> matches the first <i>len</i> characters +of each log message against <i>pattern</i> and acts accordingly: <dl> <dt>-<i>pattern</i> </dt> diff --git a/doc/upgrade.html b/doc/upgrade.html @@ -9,6 +9,10 @@ <hr> <h1>runit - upgrading from previous versions</h1> <hr> +<h3>1.4.0 or 1.4.1 to 1.5.0</h3> +The <a href="svlogd.8.html">svlogd</a> program supports a new configuration +option p to optionally prefix each line written to logs, standard error, or +through UDP with a string, and no longer strips empty lines from the logs. <h3>1.3.x to 1.4.0 or 1.4.1</h3> With this version the <tt>runsvctrl</tt>, <tt>runsvstat</tt>, <tt>svwaitdown</tt>, and <tt>svwaitup</tt> programs no longer are being diff --git a/package/CHANGES b/package/CHANGES @@ -1,5 +1,5 @@ 1.5.0 -Mon, 10 Apr 2006 06:09:08 +0000 +Sun, 16 Apr 2006 12:26:50 +0000 * man/runsvdir.8: document that the services directory is re-scanned if the time of last modification, the inode, or the device has changed. * sv.c: don't report success on 'sv start' if the service is in state diff --git a/package/upgrade b/package/upgrade @@ -8,9 +8,9 @@ test -d src || sh -cx '! : Wrong working directory.' here=`env - PATH=$PATH pwd` parent=`dirname $here` -echo 'Creating symlink runit -> runit-1.4.1...' +echo 'Creating symlink runit -> runit-1.5.0...' rm -f runit -ln -s runit-1.4.1 runit +ln -s runit-1.5.0 runit mv -f runit .. echo 'Making command links in /command...' diff --git a/package/versions b/package/versions @@ -40,3 +40,4 @@ 1.3.3 1.4.0 1.4.1 +1.5.0