commit a36d2b81fe572de50db2e3190afa07c0b16b613f
parent 00c43dc8e6ce42847076721fb561a72e5ed0bf62
Author: Gerrit Pape <pape@smarden.org>
Date: Sun, 18 Dec 2005 11:15:50 +0000
* svlogd.c: don't print extra newlines to the log if additionally writing
to the network through udp (thx Andras Korn,
http://bugs.debian.org/339030).
* runsvdir.c: also process svdir changes if mtime of svdir has changed into
the past (thx Martin Dickopp).
* doc/index.html: update description; Please contact this list and not me
privately.
* doc/replaceinit.html, doc/runscripts.html: minor.
* man/chpst.8: -U doesn't support a list of groups.
* man/svlogd.8: update PATTERN MATCHING section, add example (based on
sugesstions from Joshua N Pritikin).
* man/*8: update SEE ALSO sections: runsvctrl, runsvstat, svwaitdown,
svwaitup will become obsolete; remove references to man pages for
programs from the daemontools package.
1.3.2.
Diffstat:
19 files changed, 97 insertions(+), 98 deletions(-)
diff --git a/doc/index.html b/doc/index.html
@@ -44,25 +44,20 @@ release 1.0.x of <i>runit</i>.
<a href="utmpset.8.html">The <tt>utmpset</tt> program</a><br>
<hr>
<i>runit</i> is a
-<a href="http://cr.yp.to/daemontools.html">daemontools</a> alike
-replacement for
-<a href="ftp://ftp.cistron.nl/pub/people/miquels/sysvinit/">sysvinit</a>
-and other init schemes. <i>runit</i> runs on <b>GNU/Linux</b>,
-<b>*BSD</b>, <b>MacOSX</b>, <b>Solaris</b>, and can easily be adapted to
-other Unix operating systems.
+cross-platform Unix init scheme with service supervision, a replacement for
+<a href="ftp://ftp.cistron.nl/pub/people/miquels/sysvinit/">sysvinit</a>,
+and other init schemes.
+It runs on <b>GNU/Linux</b>, <b>*BSD</b>, <b>MacOSX</b>, <b>Solaris</b>,
+and can easily be adapted to other Unix operating systems.
If <i>runit</i> runs for you on any other operating system, please
<a href="mailto:supervision@list.skarnet.org">let me know</a>.
-<p>
-<b>Warning:</b> Replacing <i>sysvinit</i> or <i>init</i> can cause the
-system's boot to fail.
-Make sure you are able to recover and repair your system, for example if you
-run a boot loader, it should be able to pass <tt>init=/bin/sh</tt> to the
-kernel.
<hr>
<i>runit</i> is discussed on the
<a href="http://skarnet.org/lists/#supervision">
<supervision@list.skarnet.org></a>
mailing list.
+Please contact this list and not me privately.
+<p>
To subscribe send an empty email to
<a href="mailto:supervision-subscribe@list.skarnet.org">
<supervision-subscribe@list.skarnet.org></a>.
diff --git a/doc/replaceinit.html b/doc/replaceinit.html
@@ -77,9 +77,8 @@ of your boot loader on how to pass <tt>init=/sbin/runit-init</tt> to the
kernel.
<h3>Step 5: Service migration</h3>
The goal is to migrate all services from <i>sysvinit</i> scheme to the
-<a href="http://cr.yp.to/daemontools.html">daemontools</a> design; take a
-look at these <a href="runscripts.html">run scripts</a> for popular
-services.
+<i>runit</i> service supervision design; take a look at these
+<a href="runscripts.html">run scripts</a> for popular services.
The migration can be done smoothly.
For those services that are not migrated to use <tt>run</tt> scripts yet,
add the corresponding <tt>init</tt>-script startup to <tt>/etc/runit/1</tt>,
@@ -210,9 +209,8 @@ To report success:
</pre>
<h3>Step 5: Service migration</h3>
The goal is to migrate all services from <i>/etc/rc.*</i> scheme to the
-<a href="http://cr.yp.to/daemontools.html">daemontools</a> design; take a
-look at these <a href="runscripts.html">run scripts</a> for popular
-services.
+<i>runit</i> service supervision design; take a look at these
+<a href="runscripts.html">run scripts</a> for popular services.
The migration can be done smoothly.
By default <i>runit</i> runs the <tt>/etc/rc</tt> scripts in stage 1 as a
one time task, so the services are started automatically:
diff --git a/doc/runscripts.html b/doc/runscripts.html
@@ -979,7 +979,7 @@ to be set up.
exec /usr/bin/X11/xfs -nodaemon
</pre>
<hr>
-<address><a href="mailto:pape-runscripts@smarden.org">
+<address><a href="mailto:pape@smarden.org">
Gerrit Pape <pape@smarden.org>
</a></address>
<small>$Id$</small>
diff --git a/man/chpst.8 b/man/chpst.8
@@ -71,12 +71,6 @@ set $GID to the
gid instead of
.IR user 's
gid.
-If
-.I group
-consists of a colon-separated list of group names,
-.B chpst
-sets the group ids of all listed groups.
-All initial supplementary groups are removed.
.TP
.B \-e \fIdir
envdir.
@@ -207,21 +201,23 @@ Otherwise its exit code is the same as that of
If
.B chpst
is called as
-.BR envdir (8),
-.BR envuidgid (8),
-.BR pgrphack (8),
-.BR setlock (8),
-.BR setuidgid (8),
+.BR envdir ,
+.BR envuidgid ,
+.BR pgrphack ,
+.BR setlock ,
+.BR setuidgid ,
or
-.BR softlimit (8),
+.BR softlimit ,
it emulates the functionality of these programs from the daemontools package
respectively.
.SH SEE ALSO
+sv(8),
runsv(8),
-runsvctrl(8),
-runsvstat(8),
+setsid(2),
+runit(8),
+runit-init(8),
runsvdir(8),
-setsid(2)
+runsvchdir(8)
.P
http://smarden.org/runit/
http://cr.yp.to/daemontools.html
diff --git a/man/runit-init.8 b/man/runit-init.8
@@ -52,11 +52,10 @@ returns 111 on error, 0 in all other cases.
runit(8),
runsvdir(8),
runsvchdir(8),
-utmpset(8),
+sv(8),
runsv(8),
-runsvctrl(8),
-runsvstat(8),
chpst(8),
+utmpset(8),
svlogd(8)
.P
http://smarden.org/runit/
diff --git a/man/runit.8 b/man/runit.8
@@ -77,14 +77,11 @@ receives an INT signal, a ctrl-alt-del keyboard request is triggered.
runit-init(8),
runsvdir(8),
runsvchdir(8),
-utmpset(8),
+sv(8),
runsv(8),
-runsvctrl(8),
-runsvstat(8),
chpst(8),
-svlogd(8),
-svwaitdown(8),
-svwaitup(8)
+utmpset(8),
+svlogd(8)
.P
http://smarden.org/runit/
.SH AUTHOR
diff --git a/man/runsv.8 b/man/runsv.8
@@ -49,9 +49,10 @@ directory.
The standard input of the log service is redirected to read from the pipe.
.P
.B runsv
-maintains status information in a binary format compatible to
-.BR supervise (8)
-in
+maintains status information in a binary format (compatible to the
+daemontools'
+.B supervise
+program) in
.IR service /supervise/status
and
.IR service /log/supervise/status,
@@ -204,8 +205,7 @@ is running in
.B runsv
exits 0 if it was told to exit.
.SH SEE ALSO
-runsvctrl(8),
-runsvstat(8),
+sv(8),
chpst(8),
svlogd(8),
runit(8),
diff --git a/man/runsvchdir.8 b/man/runsvchdir.8
@@ -47,14 +47,8 @@ exits 0 on success.
runsvdir(8),
runit(8),
runit-init(8),
-runsv(8),
-runsvctrl(8),
-runsvstat(8),
-chpst(8),
-svlogd(8),
-utmpset(8),
-svwaitdown(8),
-svwaitup(8)
+sv(8),
+runsv(8)
.P
http://smarden.org/runit/
.SH AUTHOR
diff --git a/man/runsvctrl.8 b/man/runsvctrl.8
@@ -106,18 +106,16 @@ The maximum is 100.
.B runsvctrl
exits 111 on error.
.SH SEE ALSO
+sv(8),
runsv(8),
-runsvstat(8),
chpst(8),
svlogd(8),
runit(8),
runit-init(8),
runsvdir(8),
runsvchdir(8),
-utmpset(8),
-svwaitdown(8),
-svwaitup(8)
+runsvstat(8)
.P
- http://smarden.org/runit/
+http://smarden.org/runit/
.SH AUTHOR
Gerrit Pape <pape@smarden.org>
diff --git a/man/runsvdir.8 b/man/runsvdir.8
@@ -59,8 +59,8 @@ argument is given to
.BR runsvdir ,
all output to standard error is redirected to this
.IR log ,
-which is similar to the
-.BR readproctitle (8)
+which is similar to the daemontools'
+.B readproctitle
log.
To see the most recent error messages, use a process-listing tool such as
.BR ps (1).
@@ -86,17 +86,14 @@ receives a HUP signal, it sends a TERM signal to each
.BR runsv (8)
process it is monitoring and then exits with 111.
.SH SEE ALSO
+sv(8),
runsv(8),
+runsvchdir(8),
runit(8),
runit-init(8),
-runsvchdir(8),
-runsvctrl(8),
-runsvstat(8),
chpst(8),
svlogd(8),
utmpset(8),
-svwaitdown(8),
-svwaitup(8),
setsid(2)
.P
http://smarden.org/runit/
diff --git a/man/runsvstat.8 b/man/runsvstat.8
@@ -55,17 +55,16 @@ The maximum is 100.
.B runsvstat
exits 111 on error.
.SH SEE ALSO
+sv(8),
runsv(8),
-runsvctrl(8),
chpst(8),
svlogd(8),
runit(8),
runit-init(8),
runsvdir(8),
runsvchdir(8),
-svwaitdown(8),
-svwaitup(8)
+runsvctrl(8)
.P
- http://smarden.org/runit/
+http://smarden.org/runit/
.SH AUTHOR
Gerrit Pape <pape@smarden.org>
diff --git a/man/sv.8 b/man/sv.8
@@ -242,10 +242,10 @@ it exits 3 if the service is down, and 4 if the status is unknown.
It exits 2 on wrong usage, and 151 on error.
.SH SEE ALSO
runsv(8),
-runsvdir(8),
-runsvchdir(8),
chpst(8),
svlogd(8),
+runsvdir(8),
+runsvchdir(8),
runit(8),
runit-init(8)
.P
diff --git a/man/svlogd.8 b/man/svlogd.8
@@ -34,9 +34,9 @@ contains some number of old log files, and the current log file
.IR current .
Old log files have a file name starting with
.I @
-followed by a precise timestamp (see
-.BR tai64n (8)),
-indicating when
+followed by a precise timestamp (see the daemontools'
+.B tai64n
+program), indicating when
.I current
was rotated and renamed to this file.
.P
@@ -328,13 +328,30 @@ matches any string.
Timestamps optionally added by
.B svlogd
are not considered part of the log message.
+.P
+An
+.B svlogd
+pattern is not a regular expression.
+For example consider a log message like this
+.P
+ 2005-12-18_09:13:50.97618 tcpsvd: info: pid 1977 from 10.4.1.14
+.P
+The following pattern doesn't match
+.P
+ -*pid*
+.P
+because the first star matches up to the first p in tcpsvd, and then the
+match fails because i is not s.
+To match this log message, you can use a pattern like this instead
+.P
+ -*: *: pid *
.SH OPTIONS
.TP
.B \-t
timestamp.
-Prefix each selected line with a precise timestamp (see
-.BR tai64n (8))
-when writing to
+Prefix each selected line with a precise timestamp (see the daemontools'
+.B tai64n
+program) when writing to
.I log
or to standard error.
.TP
@@ -415,16 +432,13 @@ with a non empty
.I current
log file.
.SH SEE ALSO
+sv(8),
runsv(8),
-runsvctrl(8),
-runsvstat(8),
chpst(8),
runit(8),
runit-init(8),
runsvdir(8),
-runsvchdir(8),
-utmpset(8),
-multilog(8)
+runsvchdir(8)
.P
http://smarden.org/runit/
.SH AUTHOR
diff --git a/man/svwaitdown.8 b/man/svwaitdown.8
@@ -95,17 +95,15 @@ returns 111 on error, or if the timeout
.I sec
was reached.
.SH SEE ALSO
-svwaitup(8),
+sv(8),
runsv(8),
-runsvctrl(8),
-runsvstat(8),
chpst(8),
svlogd(8),
runit(8),
runit-init(8),
runsvdir(8),
runsvchdir(8),
-utmpset(8)
+svwaitup(8)
.P
http://smarden.org/runit/
.SH AUTHOR
diff --git a/man/svwaitup.8 b/man/svwaitup.8
@@ -88,17 +88,15 @@ The maximum is 100.
.B svwaitup
returns 111 on error.
.SH SEE ALSO
-svwaitdown(8),
+sv(8),
runsv(8),
-runsvctrl(8),
-runsvstat(8),
chpst(8),
svlogd(8),
runit(8),
runit-init(8),
runsvdir(8),
runsvchdir(8),
-utmpset(8)
+svwaitdown(8)
.P
http://smarden.org/runit/
.SH AUTHOR
diff --git a/man/utmpset.8 b/man/utmpset.8
@@ -48,13 +48,12 @@ to the wtmp file.
.B utmpset
returns 111 on error, 1 on wrong usage, 0 in all other cases.
.SH SEE ALSO
+sv(8),
+runsv(8),
runit(8),
runit-init(8)
runsvdir(8),
runsvchdir(8),
-runsv(8),
-runsvctrl(8),
-runsvstat(8),
chpst(8),
svlogd(8),
getty(8)
diff --git a/package/CHANGES b/package/CHANGES
@@ -1,3 +1,20 @@
+runit 1.3.2
+Sun, 18 Dec 2005 11:13:50 +0000
+ * svlogd.c: don't print extra newlines to the log if additionally writing
+ to the network through udp (thx Andras Korn,
+ http://bugs.debian.org/339030).
+ * runsvdir.c: also process svdir changes if mtime of svdir has changed into
+ the past (thx Martin Dickopp).
+ * doc/index.html: update description; Please contact this list and not me
+ privately.
+ * doc/replaceinit.html, doc/runscripts.html: minor.
+ * man/chpst.8: -U doesn't support a list of groups.
+ * man/svlogd.8: update PATTERN MATCHING section, add example (based on
+ sugesstions from Joshua N Pritikin).
+ * man/*8: update SEE ALSO sections: runsvctrl, runsvstat, svwaitdown,
+ svwaitup will become obsolete; remove references to man pages for
+ programs from the daemontools package.
+
runit 1.3.1
Wed, 24 Aug 2005 20:14:17 +0000
* doc/runscripts.html: typo; openssh needs absolute path (thx Kevin Berry);
diff --git a/src/runsvdir.c b/src/runsvdir.c
@@ -229,7 +229,7 @@ int main(int argc, char **argv) {
if (stat(svdir, &s) != -1) {
if (check || \
- s.st_mtime > mtime || s.st_ino != ino || s.st_dev != dev) {
+ s.st_mtime != mtime || s.st_ino != ino || s.st_dev != dev) {
/* svdir modified */
if (chdir(svdir) != -1) {
mtime =s.st_mtime;
diff --git a/src/svlogd.c b/src/svlogd.c
@@ -784,9 +784,9 @@ int main(int argc, const char **argv) {
sizeof(dir[i].udpaddr)) != linelen) {
buffer_puts(&dir[i].b, "warning: failure sending through udp: ");
buffer_put(&dir[i].b, line, linelen);
- buffer_put(&dir[i].b, "\n", 1);
buffer_flush(&dir[i].b);
}
+ if (line[linelen -1] == '\n') --linelen;
}
}
if (! dir[i].udponly) {