X-Git-Url: http://git.pld-linux.org/?a=blobdiff_plain;f=cronie.spec;h=9bcaf311841555e5fd662424f0ec2d1752baa850;hb=c69c0f5abff42601041001ad4e9ee5a18bebb82a;hp=e398fb532d9d955e9b69e25ac4d1f6e2eff04ef0;hpb=daf76cdcfb8cba989c947211e01c0aea77b3e1e4;p=packages%2Fcronie.git diff --git a/cronie.spec b/cronie.spec index e398fb5..9bcaf31 100644 --- a/cronie.spec +++ b/cronie.spec @@ -1,50 +1,63 @@ +# TODO +# - update paths in manuals (create .in files and send upstream) +# - make /etc/pam.d independant of sysconfdir (configure-able option and send upstream) +# - syslog output (-s) writes two bytes of garbage to syslog instead of actual data: +# Mar 3 09:30:01 ravenous CROND[2528]: 4ÿ # # Conditional build: -%bcond_without selinux # without SELinux support %bcond_without inotify # without inotify support +%if "%{pld_release}" == "ac" +%bcond_with selinux # without SELinux support +%bcond_with audit # without audit support +%else +%bcond_without selinux # without SELinux support %bcond_without audit # without audit support -# +%endif + Summary: Cron daemon for executing programs at set times Name: cronie -Version: 1.4.1 +Version: 1.4.6 Release: 3 -License: MIT and BSD and GPLv2 +License: MIT and BSD and GPL v2 Group: Daemons -Source0: %{name}-%{version}.tar.gz -# Source0-md5: 9c089d2035b9fa8263bc71da3eb31cdd +Source0: https://fedorahosted.org/releases/c/r/cronie/%{name}-%{version}.tar.gz +# Source0-md5: 968e3d3e7c8e1d0588d533883482d3fa Source1: %{name}.init Source2: cron.logrotate Source3: cron.sysconfig Source4: %{name}.crontab Source5: %{name}.pam +Source6: %{name}.upstart Patch0: inotify-nosys.patch +Patch1: %{name}-nosyscrontab.patch +Patch2: sendmail-path.patch URL: https://fedorahosted.org/cronie/ %{?with_audit:BuildRequires: audit-libs-devel} BuildRequires: autoconf BuildRequires: automake %{?with_selinux:BuildRequires: libselinux-devel} BuildRequires: pam-devel -BuildRequires: rpmbuild(macros) >= 1.268 +BuildRequires: rpm >= 4.4.9-56 +BuildRequires: rpmbuild(macros) >= 1.561 Requires(post): fileutils Requires(post,preun): /sbin/chkconfig -Requires(post,preun): rc-scripts Requires(postun): /usr/sbin/groupdel Requires(pre): /usr/bin/getgid Requires(pre): /usr/sbin/groupadd Requires: /bin/run-parts Requires: /sbin/chkconfig Requires: psmisc >= 20.1 -Requires: rc-scripts +Requires: rc-scripts >= 0.4.3.0 %{?with_inotify:Requires: uname(release) >= 2.6.13} Provides: crondaemon Provides: crontabs = 1.7 Provides: group(crontab) -%if "%{pld_release}" != "ti" +%if "%{pld_release}" == "th" Provides: vixie-cron = 4:4.4 %endif Obsoletes: crondaemon Obsoletes: crontabs -%if "%{pld_release}" != "ti" +%if "%{pld_release}" == "th" Obsoletes: vixie-cron <= 4:4.3 %endif BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) @@ -66,9 +79,24 @@ Anacron becames part of cronie. Anacron is used only for running regular jobs. The default settings execute regular jobs by anacron, however this could be overloaded in settings. +%package upstart +Summary: Upstart job description for Cronie +Summary(pl.UTF-8): Opis zadania Upstart dla Cronie +Group: Daemons +Requires: %{name} = %{version}-%{release} +Requires: upstart >= 0.6 + +%description upstart +Upstart job description for Cronie. + +%description upstart -l pl.UTF-8 +Opis zadania Upstart dla Cronie. + %prep %setup -q %patch0 -p1 +%patch1 -p1 +%patch2 -p1 %build %{__aclocal} @@ -76,7 +104,7 @@ however this could be overloaded in settings. %{__autoheader} %{__automake} %configure \ - SYSCRONTAB=/etc/cron.d/crontab \ + SYSCRONTAB=/etc/crontab \ SYS_CROND_DIR=/etc/cron.d \ --sysconfdir=/etc/cron \ --with-pam \ @@ -90,33 +118,20 @@ however this could be overloaded in settings. %install rm -rf $RPM_BUILD_ROOT install -d $RPM_BUILD_ROOT{/var/{log,spool/{ana,}cron},%{_mandir}} \ - $RPM_BUILD_ROOT/etc/{rc.d/init.d,logrotate.d,sysconfig} \ + $RPM_BUILD_ROOT/etc/{rc.d/init.d,logrotate.d,sysconfig,init} \ $RPM_BUILD_ROOT%{_sysconfdir}/{cron,cron.{d,hourly,daily,weekly,monthly},pam.d} %{__make} install \ + pamdir=/etc/pam.d \ DESTDIR=$RPM_BUILD_ROOT -install contrib/0anacron $RPM_BUILD_ROOT/etc/cron.hourly/0anacron -install %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/crond -install %{SOURCE2} $RPM_BUILD_ROOT/etc/logrotate.d/cron -install %{SOURCE3} $RPM_BUILD_ROOT/etc/sysconfig/cron -install %{SOURCE4} $RPM_BUILD_ROOT/etc/cron.d/crontab -install %{SOURCE5} $RPM_BUILD_ROOT/etc/pam.d/crond - -for a in fi fr id ja ko pl; do - if test -f $a/man1/crontab.1; then - install -d $RPM_BUILD_ROOT%{_mandir}/$a/man1 - install $a/man1/crontab.1 $RPM_BUILD_ROOT%{_mandir}/$a/man1 - fi - if test -f $a/man5/crontab.5; then - install -d $RPM_BUILD_ROOT%{_mandir}/$a/man5 - install $a/man5/crontab.5 $RPM_BUILD_ROOT%{_mandir}/$a/man5 - fi - if test -f $a/man8/cron.8; then - install -d $RPM_BUILD_ROOT%{_mandir}/$a/man8 - install $a/man8/cron.8 $RPM_BUILD_ROOT%{_mandir}/$a/man8 - fi -done +install -p %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/crond +cp -a contrib/0anacron $RPM_BUILD_ROOT/etc/cron.hourly/0anacron +cp -a %{SOURCE2} $RPM_BUILD_ROOT/etc/logrotate.d/cron +cp -a %{SOURCE3} $RPM_BUILD_ROOT/etc/sysconfig/cron +cp -a %{SOURCE4} $RPM_BUILD_ROOT/etc/cron.d/crontab +cp -a %{SOURCE5} $RPM_BUILD_ROOT/etc/pam.d/crond +cp -a %{SOURCE6} $RPM_BUILD_ROOT/etc/init/crond.conf touch $RPM_BUILD_ROOT/var/log/cron @@ -138,11 +153,10 @@ rm -rf $RPM_BUILD_ROOT %groupadd -g 117 -r -f crontab %post +if [ ! -f /var/log/cron ]; then + install -m 660 -g crontab /dev/null /var/log/cron +fi /sbin/chkconfig --add crond -umask 027 -touch /var/log/cron -chgrp crontab /var/log/cron -chmod 660 /var/log/cron %service crond restart "Cron Daemon" %preun @@ -156,20 +170,30 @@ if [ "$1" = "0" ]; then %groupremove crontab fi -%triggerpostun -- hc-cron -# reinstall crond init.d links, which could be different -/sbin/chkconfig --del crond -/sbin/chkconfig --add crond +%triggerin -- pam +# restart crond if pam is upgraded +# (crond is linked with old libpam but tries to open modules linked with new libpam) +if [ "$2" != 1 ]; then + %service -q crond restart +fi -%triggerun -- vixie-cron +%triggerun -- hc-cron,fcron,vixie-cron # Prevent preun from crond from working chmod a-x /etc/rc.d/init.d/crond -%triggerpostun -- vixie-cron +%triggerpostun -- hc-cron,fcron,vixie-cron # Restore what triggerun removed chmod 754 /etc/rc.d/init.d/crond +# reinstall crond init.d links, which could be different +/sbin/chkconfig --del crond /sbin/chkconfig --add crond +%post upstart +%upstart_post crond + +%postun upstart +%upstart_postun crond + %files %defattr(644,root,root,755) %doc AUTHORS ChangeLog README @@ -200,3 +224,9 @@ chmod 754 /etc/rc.d/init.d/crond %{_mandir}/man8/anacron.8* %attr(1730,root,crontab) /var/spool/anacron + +%if "%{pld_release}" != "ti" +%files upstart +%defattr(644,root,root,755) +%config(noreplace) %verify(not md5 mtime size) /etc/init/crond.conf +%endif