Steve Langasek <vor...@debian.org> writes: > I think "invoke-rc.d" is wrong per se for this. Where the behavior of > 'invoke-rc.d foo reload' differs from that of '/etc/init.d/reload', it's > *incorrect* in the context of log rotation: the post-rotation reopening > of logfiles should complete regardless of the runlevel policy for the > service.
> Cf. my follow-up to bug #588085. I propose the following patch for this bug instead in order to get it clear of this discussion. We can always go back and sort out whether it should use invoke-rc.d after we work through the other bug. Does this look okay? diff --git a/policy.sgml b/policy.sgml index 7736ddb..a7bf76e 100644 --- a/policy.sgml +++ b/policy.sgml @@ -7903,11 +7903,13 @@ ln -fs ../sbin/sendmail debian/tmp/usr/bin/runq </p> <p> - Log files must be rotated occasionally so that they don't - grow indefinitely; the best way to do this is to drop a log - rotation configuration file into the directory - <file>/etc/logrotate.d</file> and use the facilities provided by - logrotate.<footnote> + Log files must be rotated occasionally so that they don't grow + indefinitely. The best way to do this is to install a log + rotation configuration file in the + directory <file>/etc/logrotate.d</file>, normally + named <file>/etc/logrotate.d/<var>package</var></file>, and use + the facilities provided by <prgn>logrotate</prgn>. + <footnote> <p> The traditional approach to log files has been to set up <em>ad hoc</em> log rotation schemes using simple shell @@ -7932,17 +7934,20 @@ ln -fs ../sbin/sendmail debian/tmp/usr/bin/runq section="8">): <example compact="compact"> /var/log/foo/*.log { -rotate 12 -weekly -compress -postrotate -/etc/init.d/foo force-reload -endscript + rotate 12 + weekly + compress + missingok + postrotate + [ -f /var/run/foo.pid ] && kill -s HUP `cat /var/run/foo.pid` + endscript } </example> This rotates all files under <file>/var/log/foo</file>, saves 12 - compressed generations, and forces the daemon to reload its - configuration information after the log rotation. + compressed generations, and tells the daemon to reopen its log + files after the log rotation. It skips this log rotation + (via <tt>missingok</tt>) if no such log file is present, which + avoids errors if the package is removed but not purged. </p> <p> -- Russ Allbery (r...@debian.org) <http://www.eyrie.org/~eagle/> -- To UNSUBSCRIBE, email to debian-policy-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/87k4p7nuzn....@windlord.stanford.edu