]> git.pld-linux.org Git - packages/sysklogd.git/blobdiff - sysklogd.spec
- cron daemons log through syslog
[packages/sysklogd.git] / sysklogd.spec
index 8937d3dddd8f12a41475af4ba3024dcac3ad642a..7988ea677655bc83826894df41a55f9808ecc6e6 100644 (file)
@@ -1,16 +1,19 @@
-%define                source  1.3-31
+# 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.3.31
-Release:       23
-License:       GPL
+Version:       1.5.1
+Release:       2
+License:       GPL v2+
 Group:         Daemons
-Group(pl):     Serwery
-Source0:       ftp://ftp.infodrom.nort.de/pub/pub/people/joey/%{name}-%{source}.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
@@ -18,124 +21,176 @@ Source4:  syslog.sysconfig
 Source5:       klogd.init
 Source6:       klogd.sysconfig
 Source7:       syslogd-listfiles.sh
-Patch0:                sysklogd-alpha.patch
-Patch1:                sysklogd-alphafoo.patch
-Patch2:                sysklogd-opt.patch
-Patch3:                sysklogd-daemon.patch
-Patch4:                sysklogd-glibc.patch
-Patch5:                sysklogd-sparc.patch
-Patch6:                sysklogd-install.patch
-Patch7:                sysklogd-utmp-process.patch
-Patch8:                sysklogd-fixDoS.patch
-Patch9:                sysklogd-dgram.patch
-Patch10:       sysklogd-ksyms.patch
-Patch11:       sysklogd-nullterm.patch
+Source8:       syslogd-listfiles.8
+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}-openlog.patch
+Patch7:                %{name}-security.patch
+Patch8:                %{name}-ksyms.patch
+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 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
-Dies ist das Linux-System- und Kernel-Protokollierprogramm. Es wird 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 zadrzeñ w systemie i w kernelu Linuxa. Same logi mog± byæ
-sk³adowane w ró¿nych miejscach (zdalnie i lokalnie). Przewa¿nie do logów
-trawiaj± informacje o odbieranej i wysy³anej poczcie np. z sendmaila,
-zdarzenia dotycz±ce bezpieczeñstwa systemu, a tak¿e informacje o b³êdach z
-innchy 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.
+This is the Linux system and kernel logging program. It is run as a
+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.UTF-8
+Dies ist das Linux-System- und Kernel-Protokollierprogramm. Es wird
+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 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):   Programy loguj±ce 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(pl):     Serwery
-Prereq:                fileutils
-Prereq:                /sbin/chkconfig
+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:      rc-scripts >= 0.2.0
-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 (background
-process) to log messages to different places. These are usually things like
-sendmail logs, security logs, and errors from other daemons.
-
-%description -n syslog -l pl
-Pakiet ten zawiera program które jest uruchamiany jako demon i s³u¿± do
-logowania zadrzeñ w systemie Linuxa. Same logi mog± byæ sk³adowane w
-ró¿nych miejscach (zdalnie i lokalnie). Przewa¿nie do logów trawiaj±
-informacje o odbieranej i wysy³anej poczcie np. z sendmaila, zdarzenia
-dotycz±ce bezpieczeñstwa systemu, a tak¿e informacje o b³êdach z innchy
-demonów.
+This is the Linux system logging program. It is run as a daemon
+(background process) to log messages to different places. These are
+usually things like sendmail logs, security logs, and errors from
+other daemons.
+
+%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):   Programy loguj±ce 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(pl):     Serwery
-Prereq:                /sbin/chkconfig
-Requires:      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.
+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óre jest uruchamiany jako demon i s³u¿± do
-logowania komunikatów j±drza 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 -n %{name}-%{source}
+%setup -q
 %patch0 -p1
 %patch1 -p1
 %patch2 -p1
 %patch3 -p1
-%patch4 -p1 
-%patch5 -p1 
+%patch4 -p1
+%patch5 -p1
 %patch6 -p1
 %patch7 -p1
 %patch8 -p1
-%patch9 -p1
-%patch10 -p1
-%patch11 -p1
 
 %build
-%{__make}  OPTIMIZE="$RPM_OPT_FLAGS"
+%{__make} \
+       CC="%{__cc}" \
+       OPTIMIZE="%{rpmcflags}" \
+       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} \
@@ -150,81 +205,122 @@ install %{SOURCE5} $RPM_BUILD_ROOT/etc/rc.d/init.d/klogd
 install %{SOURCE6} $RPM_BUILD_ROOT/etc/sysconfig/klogd
 
 install %{SOURCE7} $RPM_BUILD_ROOT%{_bindir}/syslogd-listfiles
-install debian/*.8 $RPM_BUILD_ROOT%{_mandir}/man8
+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
 
-strip $RPM_BUILD_ROOT%{_sbindir}/*
+# our strip can't strip otherwise
+chmod u+w $RPM_BUILD_ROOT%{_sbindir}/{klogd,syslogd}
 
-gzip -9nf $RPM_BUILD_ROOT%{_mandir}/man[58]/* \
-        ANNOUNCE NEWS Sysklogd-*.lsm
+%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
+%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,Sysklogd-*.lsm}.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.084041 seconds and 4 git commands to generate.