+# TODO:
+# - trigger for upgrade from inetutils-syslogd
Summary: Linux system and kernel logger
-Summary(de): Linux-System- und Kerner-Logger
-Summary(fr): Le système Linux et le logger du noyau
-Summary(pl): Programy loguj±ce zdarzenia w systemie i j±drze Linuxa
-Summary(tr): Linux sistem ve çekirdek kayýt süreci
+Summary(de.UTF-8): Linux-System- und Kerner-Logger
+Summary(es.UTF-8): Registrador de log del sistema linux
+Summary(fr.UTF-8): Le système Linux et le logger du noyau
+Summary(pl.UTF-8): Programy logujące zdarzenia w systemie i jądrze Linuksa
+Summary(pt_BR.UTF-8): Registrador de log do sistema linux
+Summary(tr.UTF-8): Linux sistem ve çekirdek kayıt süreci
Name: sysklogd
-Version: 1.4.1
-Release: 6
-License: GPL
+Version: 1.5.1
+Release: 2
+License: GPL v2+
Group: Daemons
-Group(de): Server
-Group(pl): Serwery
-Source0: http://www.ibiblio.org/pub/Linux/system/daemons/sysklogd-1.4.1.tar.gz
+Source0: http://www.infodrom.org/projects/sysklogd/download/%{name}-%{version}.tar.gz
+# Source0-md5: c70599ab0d037fde724f7210c2c8d7f8
Source1: syslog.conf
Source2: syslog.init
Source3: syslog.logrotate
Source6: klogd.sysconfig
Source7: syslogd-listfiles.sh
Source8: syslogd-listfiles.8
-Patch0: %{name}-alpha.patch
-Patch1: %{name}-alphafoo.patch
-Patch2: %{name}-opt.patch
-Patch3: %{name}-glibc.patch
+Source9: syslog.service
+Source10: klogd.service
+Patch0: %{name}-bind.patch
+Patch1: %{name}-alpha.patch
+Patch2: %{name}-alphafoo.patch
+Patch3: %{name}-opt.patch
Patch4: %{name}-sparc.patch
Patch5: %{name}-install.patch
-Patch6: %{name}-utmp-process.patch
-Patch7: %{name}-openlog.patch
+Patch6: %{name}-openlog.patch
+Patch7: %{name}-security.patch
Patch8: %{name}-ksyms.patch
-Patch9: %{name}-nullterm.patch
-URL: http://www.infodrom.ffis.de/sysklogd/
+URL: http://www.infodrom.org/projects/sysklogd/
+BuildRequires: rpmbuild(macros) >= 1.268
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
%define _exec_prefix /
-%define _bindir /usr/bin
-%define _sysconfdir /etc
+%define _bindir /usr/sbin
+%define _sbindir /sbin
%description
This is the Linux system and kernel logging program. It is run as a
are usually things like sendmail logs, security logs, and errors from
other daemons.
-%description -l de
+%description -l de.UTF-8
Dies ist das Linux-System- und Kernel-Protokollierprogramm. Es wird
-als Dämon (Hintergrundprozeß) ausgeführt und protokolliert
+als Dämon (Hintergrundprozeß) ausgeführt und protokolliert
verschiedene Meldungen. Es protokolliert z.B. sendmail- und
-Sicherheits-Protokolle und Fehler von anderen Dämonen.
-
-%description -l fr
-Programme de trace du sytème Linux et du noyau. Il est lancé en démon
-(processus en arrière plan) pour stocker les messages à différents
-endroits. Ce sont généralement des choses comme les traces de
-sendmail, de sécurité et d'erreurs d'autres démons. I
-
-%description -l pl
-Pakiet ten zawiera programy które s± uruchamiane jako demony i s³u¿±
-do logowania zdarzeñ w systemie i w kernelu Linuxa. Same logi mog± byæ
-sk³adowane w ró¿nych miejscach (zdalnie i lokalnie). Przewa¿nie do
-logów trafiaj± informacje o odbieranej i wysy³anej poczcie np. z
-sendmaila, zdarzenia dotycz±ce bezpieczeñstwa systemu, a tak¿e
-informacje o b³êdach z innych demonów.
-
-%description -l tr
-Bu paket, Linux sistemi ve çekirdeði için kayýt tutan programý içerir.
-Deðiþik yerlerde mesajlarýn kayýtlarýný tutmak içýn arkaplanda
-koþturulur. Bu mesajlar, sendmail, güvenlik ve diðer sunucu
-süreçlerinin hatalarýyla ilgili mesajlardýr.
+Sicherheits-Protokolle und Fehler von anderen Dämonen.
+
+%description -l es.UTF-8
+Este es el programa de log para el kernel y el sistema Linux. Se
+ejecuta como un daemon (proceso en background) para registrar mensajes
+en diferentes lugares. Estos son generalmente registros del sendmail,
+seguridad, y mensajes de otros daemons.
+
+%description -l fr.UTF-8
+Programme de trace du sytème Linux et du noyau. Il est lancé en démon
+(processus en arrière plan) pour stocker les messages à différents
+endroits. Ce sont généralement des choses comme les traces de
+sendmail, de sécurité et d'erreurs d'autres démons. I
+
+%description -l pl.UTF-8
+Pakiet ten zawiera programy, które są uruchamiane jako demony i służą
+do logowania zdarzeń w systemie i w jądrze Linuksa. Same logi mogą być
+składowane w różnych miejscach (zdalnie i lokalnie). Przeważnie do
+logów trafiają informacje o odbieranej i wysyłanej poczcie np. z
+sendmaila, zdarzenia dotyczące bezpieczeństwa systemu, a także
+informacje o błędach z innych demonów.
+
+%description -l pt_BR.UTF-8
+Este é o programa de log para o kernel e o sistema Linux. Ele roda
+como um daemon (processo em background) para registrar mensagens em
+diferentes lugares. Estes são geralmente registros do sendmail,
+segurança, e mensagens de outros daemons.
+
+%description -l tr.UTF-8
+Bu paket, Linux sistemi ve çekirdeği için kayıt tutan programı içerir.
+Değişik yerlerde mesajların kayıtlarını tutmak içın arkaplanda
+koşturulur. Bu mesajlar, sendmail, güvenlik ve diğer sunucu
+süreçlerinin hatalarıyla ilgili mesajlardır.
%package -n syslog
Summary: Linux system logger
-Summary(de): Linux-System-Logger
-Summary(pl): Program loguj±cy zdarzenia w systemie Linuxa
+Summary(de.UTF-8): Linux-System-Logger
+Summary(pl.UTF-8): Program logujący zdarzenia w systemie Linux
+License: BSD
Group: Daemons
-Group(de): Server
-Group(pl): Serwery
-Prereq: fileutils
-Prereq: /sbin/chkconfig
-Prereq: rc-scripts >= 0.2.0
+Requires(post): fileutils
+Requires(post,preun): /sbin/chkconfig
+Requires(post,preun): rc-scripts >= 0.2.0
+Requires(postun): /usr/sbin/groupdel
+Requires(postun): /usr/sbin/userdel
+Requires(pre): /usr/lib/rpm/user_group.sh
+Requires(pre): /bin/id
+Requires(pre): /usr/bin/getgid
+Requires(pre): /usr/sbin/groupadd
+Requires(pre): /usr/sbin/useradd
+Requires(pre): /usr/sbin/usermod
+Requires(post,preun,postun): systemd-units >= 38
+Requires(triggerpostun): sed >= 4.0
+# for vservers we don't need klogd and syslog works without klogd
+# (just it doesn't log kernel buffer into syslog)
+# Requires: klogd
Requires: logrotate >= 3.2-3
-Requires: SysVinit >= 2.76-12
-Requires: klogd
Requires: psmisc >= 20.1
+Requires: systemd-units >= 38
+Suggests: klogd
+Provides: group(syslog)
+Provides: service(syslog)
Provides: syslogdaemon
+Provides: user(syslog)
+Obsoletes: msyslog
Obsoletes: sysklogd
Obsoletes: syslog-ng
+Obsoletes: syslog-systemd
+Conflicts: cronie < 1.5.0-3
+Conflicts: fcron < 3.1.2-5
%description -n syslog
This is the Linux system logging program. It is run as a daemon
usually things like sendmail logs, security logs, and errors from
other daemons.
-%description -n syslog -l pl
-Pakiet ten zawiera program który jest uruchamiany jako demon i s³u¿y
-do logowania zdarzeñ w systemie Linuxa. Same logi mog± byæ sk³adowane
-w ró¿nych miejscach (zdalnie i lokalnie). Przewa¿nie do logów trafiaj±
-informacje o odbieranej i wysy³anej poczcie np. z sendmaila, zdarzenia
-dotycz±ce bezpieczeñstwa systemu, a tak¿e informacje o b³êdach z
-innych demonów.
+%description -n syslog -l pl.UTF-8
+Pakiet ten zawiera program, który jest uruchamiany jako demon i służy
+do logowania zdarzeń w systemie Linux. Same logi mogą być składowane w
+różnych miejscach (zdalnie i lokalnie). Przeważnie do logów trafiają
+informacje o odbieranej i wysyłanej poczcie np. z sendmaila, zdarzenia
+dotyczące bezpieczeństwa systemu, a także informacje o błędach z
+innych demonów.
%package -n klogd
Summary: Linux kernel logger
-Summary(de): Linux-Kerner-Logger
-Summary(pl): Program loguj±cy zdarzenia w j±drze Linuxa
+Summary(de.UTF-8): Linux-Kerner-Logger
+Summary(pl.UTF-8): Program logujący zdarzenia w jądrze Linuksa
Group: Daemons
-Group(de): Server
-Group(pl): Serwery
-Prereq: /sbin/chkconfig
-Prereq: rc-scripts >= 0.2.0
+Requires(post,preun): /sbin/chkconfig
+Requires(post,preun): rc-scripts >= 0.2.0
+Requires(postun): /usr/sbin/groupdel
+Requires(postun): /usr/sbin/userdel
+Requires(pre): /usr/lib/rpm/user_group.sh
+Requires(pre): /bin/id
+Requires(pre): /usr/bin/getgid
+Requires(pre): /usr/sbin/groupadd
+Requires(pre): /usr/sbin/useradd
+Requires(pre): /usr/sbin/usermod
+Requires(post,preun,postun): systemd-units >= 38
+Requires: systemd-units >= 38
+Suggests: syslog
+Provides: group(syslog)
+Provides: user(syslog)
+Provides: service(klogd)
Obsoletes: sysklogd
+Obsoletes: klogd-systemd
%description -n klogd
This is the Linux kernel logging program. It is run as a daemon
(background process) to log messages from kernel.
-%description -n klogd -l pl
-Pakiet ten zawiera program który jest uruchamiany jako demon i s³u¿y
-do logowania komunikatów j±dra Linuxa.
+%description -n klogd -l pl.UTF-8
+Pakiet ten zawiera program, który jest uruchamiany jako demon i służy
+do logowania komunikatów jądra Linuksa.
%prep
%setup -q
%patch1 -p1
%patch2 -p1
%patch3 -p1
-%patch4 -p1
-%patch5 -p1
+%patch4 -p1
+%patch5 -p1
%patch6 -p1
%patch7 -p1
%patch8 -p1
-%patch9 -p1
%build
%{__make} \
+ CC="%{__cc}" \
OPTIMIZE="%{rpmcflags}" \
- LDFLAGS=%{rpmldflags}
+ LDFLAGS="%{rpmldflags}"
%install
rm -rf $RPM_BUILD_ROOT
install -d $RPM_BUILD_ROOT/etc/{sysconfig,rc.d/init.d,logrotate.d} \
$RPM_BUILD_ROOT{%{_sbindir},%{_mandir}/man{5,8},%{_bindir}} \
- $RPM_BUILD_ROOT/{dev,var/log}
+ $RPM_BUILD_ROOT{/dev,/var/log/news,%{systemdunitdir}}
%{__make} install \
BINDIR=$RPM_BUILD_ROOT%{_sbindir} \
install %{SOURCE7} $RPM_BUILD_ROOT%{_bindir}/syslogd-listfiles
install %{SOURCE8} $RPM_BUILD_ROOT%{_mandir}/man8
+install %{SOURCE9} $RPM_BUILD_ROOT%{systemdunitdir}
+install %{SOURCE10} $RPM_BUILD_ROOT%{systemdunitdir}
-for n in messages secure maillog spooler kernel; do
-touch $RPM_BUILD_ROOT/var/log/$n ; done
+for n in cron debug kernel maillog messages secure syslog user spooler lpr daemon
+do
+ > $RPM_BUILD_ROOT/var/log/$n
+done
echo .so sysklogd.8 > $RPM_BUILD_ROOT%{_mandir}/man8/syslogd.8
-gzip -9nf ANNOUNCE NEWS README* CHANGES
+# our strip can't strip otherwise
+chmod u+w $RPM_BUILD_ROOT%{_sbindir}/{klogd,syslogd}
+
+%pre -n syslog
+%groupadd -P syslog -g 18 syslog
+%useradd -P syslog -u 18 -g syslog -c "Syslog User" syslog
+%addusertogroup syslog logs
%post -n syslog
-for n in /var/log/{messages,secure,maillog,spooler,kernel}
-do
- [ -f $n ] && continue
- touch $n
+for n in /var/log/{cron,daemon,debug,kernel,lpr,maillog,messages,secure,spooler,syslog,user}; do
+ [ ! -f $n ] && touch $n
chmod 640 $n
+ chown syslog:logs $n
done
/sbin/chkconfig --add syslog
-if [ -f /var/lock/subsys/syslog ]; then
- /etc/rc.d/init.d/syslog restart 1>&2
-else
- echo "Run \"/etc/rc.d/init.d/syslog start\" to start syslog daemon." 1>&2
-fi
-if [ -f /var/lock/subsys/klogd ]; then
- /etc/rc.d/init.d/klogd restart 1>&2
-fi
+%service syslog restart "syslog daemon"
+%service -q klogd restart
+
+%systemd_post syslog.service
%preun -n syslog
if [ "$1" = "0" ]; then
- if [ -f /var/lock/subsys/syslog ]; then
- /etc/rc.d/init.d/syslog stop 1>&2
- fi
+ %service syslog stop
/sbin/chkconfig --del syslog
fi
+%systemd_preun syslog.service
+
+%postun -n syslog
+if [ "$1" = "0" ]; then
+ %userremove syslog
+ %groupremove syslog
+fi
+%systemd_reload
+
+%pre -n klogd
+%groupadd -P klogd -g 18 syslog
+%useradd -P klogd -u 18 -g syslog -c "Syslog User" syslog
+%addusertogroup syslog logs
%post -n klogd
/sbin/chkconfig --add klogd
-if [ -f /var/lock/subsys/klogd ]; then
- /etc/rc.d/init.d/klogd restart 1>&2
-else
- echo "Run \"/etc/rc.d/init.d/klogd start\" to start kernel daemon." 1>&2
-fi
+%service klogd restart "kernel logger daemon"
+%systemd_post klogd.service
%preun -n klogd
if [ "$1" = "0" ]; then
- if [ -f /var/lock/subsys/klogd ]; then
- /etc/rc.d/init.d/klogd stop 1>&2
- fi
+ %service klogd stop
/sbin/chkconfig --del klogd
fi
+%systemd_preun klogd.service
+
+%postun -n klogd
+if [ "$1" = "0" ]; then
+ %userremove syslog
+ %groupremove syslog
+fi
+%systemd_reload
+
+%triggerpostun -- inetutils-syslogd
+/sbin/chkconfig --del syslog
+/sbin/chkconfig --add syslog
+if [ -f /etc/syslog.conf.rpmsave ]; then
+ mv -f /etc/syslog.conf{,.rpmnew}
+ mv -f /etc/syslog.conf{.rpmsave,}
+ echo "Moved /etc/syslog.conf.rpmsave to /etc/syslog.conf"
+ echo "Original file from package is available as /etc/syslog.conf.rpmnew"
+fi
+
+%triggerpostun -n syslog -- syslog < 1.5-4
+# remove any -a option from ADDITIONAL_SOCK
+cp -f /etc/sysconfig/syslog{,.rpmsave}
+sed -i -e '/^ADDITIONAL_SOCK=/s/-a //g' /etc/sysconfig/syslog
+
+# reset config file permission, so people running with syslog uid can
+# survive syslog reload
+chgrp syslog /etc/syslog.conf
+
+%systemd_trigger syslog.service
+
+%triggerpostun -n klogd -- klogd < 1.5-4
+%systemd_trigger klogd.service
%clean
rm -rf $RPM_BUILD_ROOT
%files -n syslog
%defattr(644,root,root,755)
-%doc {ANNOUNCE,NEWS,CHANGES,README*}.gz
-
-%attr(640,root,root) %config(noreplace) %verify(not mtime md5 size) %{_sysconfdir}/*.conf
-%attr(640,root,root) %config(noreplace) %verify(not mtime md5 size) /etc/sysconfig/syslog
-%attr(640,root,root) /etc/logrotate.d/syslog
+%doc ANNOUNCE NEWS README* CHANGES
+%attr(640,root,syslog) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/*.conf
+%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/syslog
+%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/logrotate.d/syslog
%attr(754,root,root) /etc/rc.d/init.d/syslog
-
-%attr(640,root,root) %ghost /var/log/*
-
+%attr(640,syslog,logs) %ghost /var/log/[cdklmsu]*
+%dir %attr(770,root,news) /var/log/news
%attr(755,root,root) %{_sbindir}/syslogd
-%attr(755,root,root) %{_bindir}/*
+%attr(755,root,root) %{_bindir}/syslogd-listfiles
%{_mandir}/man5/*
%{_mandir}/man8/sys*
+%{systemdunitdir}/syslog.service
%files -n klogd
%defattr(644,root,root,755)
%attr(754,root,root) /etc/rc.d/init.d/klogd
-%attr(640,root,root) %config(noreplace) %verify(not mtime md5 size) /etc/sysconfig/klogd
-
+%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/klogd
%attr(755,root,root) %{_sbindir}/klogd
-
%{_mandir}/man8/klog*
+%{systemdunitdir}/klogd.service