Feature changed by: Marius Tomaschewski (mtomaschewski) Feature #311316, revision 9 Title: Improve syslog daemon switch and SystemV & SystemD integration - openSUSE Distribution: New + openSUSE Distribution: Done Priority Requester: Important Requested by: Marius Tomaschewski (mtomaschewski) Technical Contact: Kay Sievers (kay_sievers) Partner organization: openSUSE.org Description: Currently all syslog daemons (syslogd,rsyslog,syslog-ng) are started via /etc/init.d/syslog script and switched using the SYSLOG_DAEMON variable in /etc/sysconfig/syslog . This provides a single, daemon independent, interface to the syslog service for * log rotation ( /etc/logrotate.d files just call /etc/init.d/syslog reload ), * allows programs to request additional $chroot/dev/log sockets by adding a SYSLOGD_ADDITIONAL_SOCKET<service name> variable * start klogd when the daemon needs it or skip when the syslog daemon has built-in klogd The /etc/init.d/syslog script handles the above cases, even syslogd needs e.g. the additional sockets via -a parameter while rsyslog & syslog-ng in the config file (generated & included in main config). Because there are no conflicts between the daemon packages, this even allows the use a different daemon to handle local machine logs and a different to implement a log-host (with additional init script), when the user wishes to do it. On openSUSE-11.4, systemd may optionally be used instead of sysvinit / upstart . We've adopted the syslog-daemons (https://bugzilla.novell.com/show_bug.cgi?id=656104) to support systemd socket activation [systemd.socket(5)] allowing to restart and switch between daemons without to close the /dev/log socket(s). We currently do not use a systemd native systemd.service(5) file, because we'd have to start it via /etc/init.d/syslog due to features listed above anyway and systemd exposes the /etc/init.d/syslog script as LSB syslog.service already. This request is to rethink all the mechanisms and improve the current syslog packages. It includes splits/changes to the syslog packages, adoption of all packages that request additional chroot sockets, adoption of yast2 modules that may configure the syslog service and systemd to provide all the functionality required to implement the systemd socket activation support in Type=forking systemd.service(5) mode as shared library and a devel package (reported as https://bugzilla.novell.com/show_bug.cgi?id=656259). I consider this library as mandatory for any future changes regarding systemd socket activation, because at the moment all the required code is included inline in (at least) 3 daemons + startproc and we have to get rid of this as soon as possible. Relations: - Use systemd session manager instead of SysVinit/upstart (feature/id: 310327) - Init Systems: To System V, systemd, or upstart? (feature/id: 310421) - syslog daemon -- socket activation / systemd integration (novell/bugzilla/id: 656104) https://bugzilla.novell.com/show_bug.cgi?id=656104 - systemd does not provide headers / lib usable in daemons (novell/bugzilla/id: 656259) https://bugzilla.novell.com/show_bug.cgi?id=656259 Discussion: #1: Marius Tomaschewski (mtomaschewski) (2011-09-20 18:48:58) Done by Werner on 12.1 milestone 5. -- openSUSE Feature: https://features.opensuse.org/311316