On 11/22/2010 02:36 PM, Marcus Rueckert wrote:
On 2010-11-19 20:12:47 +0100, Dominique Leuenberger wrote:
On Fri, 2010-11-19 at 15:30 +0100, Peter Czanik wrote:
=OK. So, if I understand well, I should prepare a sr for the syslogd's, where all three implementations have: "Provides: syslog-daemon" and have two of this: Conflicts: rsyslog Conflitts: syslog-ng Conflicts: syslogd
Instead of conflicting every other package providing systlog-daemon, you could just use: Conflicts: otherproviders(syslog-daemon)
This is more future proof and you do not have to mention <n> conflicting packages (the same is used in -branding packages).
i am not sure they need to conflict at all. I could not figure out what's going wrong in the post install scripts, but SYSLOG_DAEMON is often set to "", which means autodetect. This can be changed to "" even if it was previously manually set to "syslog-ng". So after an update of rsyslog or syslog-ng it goes back to "". If autodetection is used, then rsyslog is choosen over syslog-ng by /etc/init.d/syslog:
# update $SYSLOG_DAEMON if not up-to-date test -n "$SYSLOG_DAEMON" && \ test -x "${BINDIR}/$SYSLOG_DAEMON" || { for SYSLOG_DAEMON in rsyslogd syslog-ng syslogd ; do test -x "${BINDIR}/$SYSLOG_DAEMON" && break done } Maybe a rewrite of the init script and post install scripts could fix it, but I can't find, where to fix it. Maybe put "rsyslogd" last in the line here. As the other syslog daemons are only present if manually selected by the user. But I'd prefer to have only one syslog daemon present on the system. Bye, CzP
before you submit those changes you should really test the case where you replace e.g. rsyslog with syslog-ng in a running system. i know when i do that in running system i usually do:
1. edit /etc/sysconfig/syslog but dont save it 2. in a 2nd window stop current syslog so it stops the correct binary 3. save the sysconfig file 4. start the new syslog
the only way, I see to make it work with conflicting packages, is to have a symlink to /sbin/syslog-daemon via update-alternatives and always stop/start that binary. but then we would need to make sure that all daemons have the same params and write the same pid file. at the moment the init script sets params per configured value in /etc/sysconfig/syslog.
darix
-- To unsubscribe, e-mail: opensuse-factory+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-factory+help@opensuse.org