]> git.pld-linux.org Git - packages/sysklogd.git/blobdiff - sysklogd.spec
- cron daemons log through syslog
[packages/sysklogd.git] / sysklogd.spec
index 44634e5a36f7c7c4c5a98ceb473b0de5cb9b39e9..7988ea677655bc83826894df41a55f9808ecc6e6 100644 (file)
@@ -1,16 +1,19 @@
+# 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
@@ -19,22 +22,24 @@ Source5:    klogd.init
 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
@@ -42,49 +47,80 @@ daemon (background process) to log messages to different places. These
 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
@@ -92,32 +128,45 @@ 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
@@ -125,23 +174,23 @@ do logowania komunikat
 %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} \
@@ -157,80 +206,121 @@ install %{SOURCE6} $RPM_BUILD_ROOT/etc/sysconfig/klogd
 
 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
This page took 0.291426 seconds and 4 git commands to generate.