# Check if the service is already running?
if [ ! -f /var/lock/subsys/syslog-ng ]; then
msg_starting "syslog-ng"
+ emit starting JOB=syslog-ng SERVICE=syslog
daemon /usr/sbin/syslog-ng -f /etc/syslog-ng/syslog-ng.conf $OPTIONS
+ emit started JOB=syslog-ng SERVICE=syslog
RETVAL=$?
[ $RETVAL -eq 0 ] && touch /var/lock/subsys/syslog-ng
else
stop() {
if [ -f /var/lock/subsys/syslog-ng ]; then
msg_stopping "syslog-ng"
+ emit stopping JOB=syslog-ng SERVICE=syslog
killproc syslog-ng
+ emit stopped JOB=syslog-ng SERVICE=syslog
rm -f /var/lock/subsys/syslog-ng >/dev/null 2>&1
else
msg_not_running "syslog-ng"
}
flush_logs() {
- if [ -f /var/lock/subsys/syslog-ng ]; then
+ if use_upstart && [ -f /etc/init/syslog-ng.conf ] ; then
+ /sbin/initctl reload syslog-ng
+ elif [ -f /var/lock/subsys/syslog-ng ]; then
configtest
msg_reloading "syslog-ng"
killproc syslog-ng -HUP
fi
}
+upstart_controlled --except configtest flush-logs
+
RETVAL=0
# See how we were called.
case "$1" in
Summary(pt_BR.UTF-8): Daemon de log nova geração
Name: syslog-ng
Version: 3.0.5
-Release: 2
+Release: 2.1
License: GPL v2
Group: Daemons
Source0: http://www.balabit.com/downloads/files/syslog-ng/sources/%{version}/source/%{name}_%{version}.tar.gz
Source4: http://www.balabit.com/dl/guides/%{name}-v3.0-guide-admin-en.pdf
# Source4-md5: 1a801f138a9a2245009ecb617be4338b
Source5: %{name}-simple.conf
+Source6: %{name}.upstart
Patch0: %{name}-link.patch
Patch1: %{name}-datadir.patch
Patch2: %{name}-pyssl.patch
Requires(post,preun): /sbin/chkconfig
Requires: glib2 >= 1:%{glib2_ver}
Requires: psmisc >= 20.1
-Requires: rc-scripts >= 0.2.0
+Requires: rc-scripts > 0.4.3.0
Provides: syslogdaemon
Conflicts: klogd
Conflicts: msyslog
Conflicts: syslog
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
+## to be moved to rpm-build-macros
+## TODO: handle RPM_SKIP_AUTO_RESTART
+
+# migrate from init script to upstart job
+%define upstart_post() \
+ if [ -f /var/lock/subsys/"%1" ] ; then \
+ /sbin/service --no-upstart "%1" stop \
+ /sbin/service "%1" start \
+ fi
+
+# restart the job after upgrade or migrate to init script on removal
+%define upstart_postun() \
+ if [ -x /sbin/initctl ] && /sbin/initctl status "%1" 2>/dev/null | grep -q 'running' ; then \
+ /sbin/initctl stop "%1" 2>/dev/null \
+ [ -f "/etc/rc.d/init.d/%1" -o -f "/etc/init/%1.conf" ] && /sbin/service "%1" start \
+ fi
+
%description
syslog-ng is a syslogd replacement for Unix and Unix-like systems. It
has been tested on Solaris, BSDi and Linux, and were found to run
por seu conteúdo (usando expressões regulares) e não apenas pelo par
facility/prioridade como o syslog original.
+%package upstart
+Summary: Upstart job description for syslog-ng
+Summary(pl.UTF-8): Opis zadania Upstart dl syslog-ng
+Group: Daemons
+Requires: %{name} = %{version}-%{release}
+Requires: upstart >= 0.6
+
+%description upstart
+Upstart job description for syslog-ng.
+
+%description upstart -l pl.UTF-8
+Opis zadania Upstart dl syslog-ng.
+
%prep
%setup -q
%patch0 -p1
%install
rm -rf $RPM_BUILD_ROOT
-install -d $RPM_BUILD_ROOT{/etc/{sysconfig,logrotate.d,rc.d/init.d},%{_sysconfdir}/syslog-ng} \
+install -d $RPM_BUILD_ROOT{/etc/{init,sysconfig,logrotate.d,rc.d/init.d},%{_sysconfdir}/syslog-ng} \
$RPM_BUILD_ROOT/var/{log,lib/%{name}}
%{__make} install \
rm $RPM_BUILD_ROOT%{_bindir}/loggen
+install %{SOURCE6} $RPM_BUILD_ROOT/etc/init/%{name}.conf
+
%clean
rm -rf $RPM_BUILD_ROOT
/sbin/chkconfig --del syslog-ng
fi
+%post upstart
+%upstart_post %{name}
+
+%postun upstart
+%upstart_postun %{name}
+
%triggerun -- syslog-ng < 3.0
sed -i -e 's#sync(\(.*\))#flush_lines(\1)#g' /etc/syslog-ng/syslog-ng.conf
sed -i -e 's#pipe ("/proc/kmsg"#file ("/proc/kmsg"#g' /etc/syslog-ng/syslog-ng.conf
%{_mandir}/man8/syslog-ng.8*
%attr(640,root,root) %ghost /var/log/*
+
+%files upstart
+%defattr(644,root,root,755)
+%config(noreplace) %verify(not md5 mtime size) /etc/init/%{name}.conf