Review request: syslog-ng (syslog replacement daemon)

Jeremy Katz katzj at redhat.com
Mon May 9 15:51:20 UTC 2005


On Sat, 2005-05-07 at 23:14 +0100, Jose Pedro Oliveira wrote:
> > On Sat, 2005-05-07 at 19:26 +0100, Jose Pedro Oliveira wrote:
> >> > On Sat, 2005-05-07 at 01:29 +0100, José Pedro Oliveira wrote:
> >> >>   * Changes a file from another package
> >> >>     (/etc/logrotate.d/syslog from the sysklogd rpm)
> >> >
> >> > Better to figure out how to generalize this.  See my later mail.
> >>
> >> Don't know how to do it without using alternatives.  The best solution
> >> I came up with was to comment the /etc/logrotate.d/syslog lines
> >> using triggers.
> >> (previous comments in https://bugzilla.fedora.us/show_bug.cgi?id=1332)
> >
> > The only difference between the two files right now is what pid file
> > they cat to figure out what service to restart.  Using a trigger to
> > comment all of the sysklogd package's version of this file is *BROKEN*
> > as just because a package is installed, doesn't mean it's being used.
> > Not to mention that the trigger strikes me as being relatively prone to
> > causing problems down the line.
> 
> Can we expect that no changes are made to the syslog logrotate file?

Can you expect no changes will be made that won't cause problems with
your trigger?  Trust me, I've seen the most benign triggers fail and
cause all kinds of fun upgrade problems.  Environments have a habit of
changing in ways that you least expect.

> Sure it isn't the best solution but it appears to be the one that
> is less harmful.  The triggers are only activated during install
> and removal of sysklogd or syslog-ng.
> 
> > As far as generalizing it, you could do this with a relatively trivial
> > change to the initscript.  In the start/stop, create and remove a
> > symlink of /var/run/syslog.pid that points to the syslog-ng pidfile.
> > Sure, it's a bit hacky, but it's better than sed'ing provided config
> > files all the time.
> 
> It doesn't work for the following cenario:
>   1) FC system with sysklogd
>   2) install syslog-ng
>   3) stop syslog
>   4) start syslog-ng
>   5) remove sysklogd
>   => no logrotate file (!)

Then you can either
a) have syslog-ng require sysklogd
b) include an identical (md5sum) logrotate file. 

If you do the latter, you'll even get the advantage of a conflict if the
sysklogd one changes to make it obvious that you need to take a look.

Jeremy




More information about the fedora-extras-list mailing list