2 # - update paths in manuals (create .in files and send upstream)
3 # - make /etc/pam.d independant of sysconfdir (configure-able option and send upstream)
4 # - https://fedorahosted.org/cronie/changeset/272c4a5c417bfa6e04148fc35a4fe4c6956b17e1
5 # should we follow it too? our pam contains cron.{allow,deny} listfile rules,
6 # cronie itself checks these files so safe to drop?
9 %bcond_without inotify # without inotify support
10 %if "%{pld_release}" == "ac"
11 %bcond_with selinux # without SELinux support
12 %bcond_with audit # without audit support
14 %bcond_without selinux # without SELinux support
15 %bcond_without audit # without audit support
18 Summary: Cron daemon for executing programs at set times
22 License: MIT and BSD and GPL v2
24 Source0: https://fedorahosted.org/releases/c/r/cronie/%{name}-%{version}.tar.gz
25 # Source0-md5: 9c7cef09ff9c92a90a314a1e947fae5c
27 Source2: cron.logrotate
28 Source3: cron.sysconfig
29 Source4: %{name}.crontab
31 Patch0: inotify-nosys.patch
32 Patch1: %{name}-nosyscrontab.patch
33 Patch2: sendmail-path.patch
34 URL: https://fedorahosted.org/cronie/
35 %{?with_audit:BuildRequires: audit-libs-devel}
36 BuildRequires: autoconf
37 BuildRequires: automake
38 %{?with_selinux:BuildRequires: libselinux-devel}
39 BuildRequires: pam-devel
40 BuildRequires: rpm >= 4.4.9-56
41 BuildRequires: rpmbuild(macros) >= 1.268
42 Requires(post): fileutils
43 Requires(post,preun): /sbin/chkconfig
44 Requires(post,preun): rc-scripts
45 Requires(postun): /usr/sbin/groupdel
46 Requires(pre): /usr/bin/getgid
47 Requires(pre): /usr/sbin/groupadd
48 Requires: /bin/run-parts
49 Requires: /sbin/chkconfig
50 Requires: psmisc >= 20.1
52 %{?with_inotify:Requires: uname(release) >= 2.6.13}
54 Provides: crontabs = 1.7
55 Provides: group(crontab)
56 %if "%{pld_release}" == "th"
57 Provides: vixie-cron = 4:4.4
61 %if "%{pld_release}" == "th"
62 Obsoletes: vixie-cron <= 4:4.3
64 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
67 Cronie contains the standard UNIX daemon crond that runs specified
68 programs at scheduled times and related tools. It is based on the
69 original cron and has security and configuration enhancements like the
70 ability to use pam and SELinux.
73 Summary: Utility for running regular jobs
75 Provides: anacron = 2.4
76 Obsoletes: anacron <= 2.3
79 Anacron becames part of cronie. Anacron is used only for running
80 regular jobs. The default settings execute regular jobs by anacron,
81 however this could be overloaded in settings.
95 SYSCRONTAB=/etc/crontab \
96 SYS_CROND_DIR=/etc/cron.d \
97 --sysconfdir=/etc/cron \
99 --with%{!?with_selinux:out}-selinux \
100 --with%{!?with_audit:out}-audit \
101 --with%{!?with_inotify:out}-inotify \
107 rm -rf $RPM_BUILD_ROOT
108 install -d $RPM_BUILD_ROOT{/var/{log,spool/{ana,}cron},%{_mandir}} \
109 $RPM_BUILD_ROOT/etc/{rc.d/init.d,logrotate.d,sysconfig} \
110 $RPM_BUILD_ROOT%{_sysconfdir}/{cron,cron.{d,hourly,daily,weekly,monthly},pam.d}
114 DESTDIR=$RPM_BUILD_ROOT
116 install -p %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/crond
117 cp -a contrib/0anacron $RPM_BUILD_ROOT/etc/cron.hourly/0anacron
118 cp -a %{SOURCE2} $RPM_BUILD_ROOT/etc/logrotate.d/cron
119 cp -a %{SOURCE3} $RPM_BUILD_ROOT/etc/sysconfig/cron
120 cp -a %{SOURCE4} $RPM_BUILD_ROOT/etc/cron.d/crontab
121 cp -a %{SOURCE5} $RPM_BUILD_ROOT/etc/pam.d/crond
123 touch $RPM_BUILD_ROOT/var/log/cron
125 cat > $RPM_BUILD_ROOT%{_sysconfdir}/cron/cron.allow << 'EOF'
126 # cron.allow This file describes the names of the users which are
127 # allowed to use the local cron daemon
131 cat > $RPM_BUILD_ROOT%{_sysconfdir}/cron/cron.deny << 'EOF'
132 # cron.deny This file describes the names of the users which are
133 # NOT allowed to use the local cron daemon
137 rm -rf $RPM_BUILD_ROOT
140 %groupadd -g 117 -r -f crontab
143 if [ ! -f /var/log/cron ]; then
146 chgrp crontab /var/log/cron
147 chmod 660 /var/log/cron
149 /sbin/chkconfig --add crond
150 %service crond restart "Cron Daemon"
153 if [ "$1" = "0" ]; then
155 /sbin/chkconfig --del crond
159 if [ "$1" = "0" ]; then
163 %triggerpostun -- hc-cron
164 # reinstall crond init.d links, which could be different
165 /sbin/chkconfig --del crond
166 /sbin/chkconfig --add crond
168 %triggerun -- vixie-cron
169 # Prevent preun from crond from working
170 chmod a-x /etc/rc.d/init.d/crond
172 %triggerpostun -- vixie-cron
173 # Restore what triggerun removed
174 chmod 754 /etc/rc.d/init.d/crond
175 /sbin/chkconfig --add crond
178 %defattr(644,root,root,755)
179 %doc AUTHORS ChangeLog README
180 %attr(750,root,crontab) %dir %{_sysconfdir}/cron*
181 %attr(640,root,crontab) %config(noreplace,missingok) /etc/cron.d/crontab
182 %attr(640,root,crontab) %config(noreplace,missingok) %verify(not md5 mtime size) %{_sysconfdir}/cron/cron.allow
183 %attr(640,root,crontab) %config(noreplace,missingok) %verify(not md5 mtime size) %{_sysconfdir}/cron/cron.deny
184 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/cron
185 %config(noreplace) %verify(not md5 mtime size) /etc/pam.d/crond
186 %attr(754,root,root) /etc/rc.d/init.d/crond
187 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/logrotate.d/cron
188 %attr(755,root,root) %{_sbindir}/crond
189 %attr(2755,root,crontab) %{_bindir}/crontab
191 %{_mandir}/man8/crond.8*
192 %{_mandir}/man8/cron.8*
193 %{_mandir}/man5/crontab.5*
194 %{_mandir}/man1/crontab.1*
196 %attr(1730,root,crontab) /var/spool/cron
197 %attr(660,root,crontab) %ghost /var/log/cron
200 %defattr(644,root,root,755)
201 %attr(755,root,root) %{_sbindir}/anacron
202 %attr(755,root,root) %{_sysconfdir}/cron.hourly/0anacron
203 %{_mandir}/man5/anacrontab.5*
204 %{_mandir}/man8/anacron.8*
206 %attr(1730,root,crontab) /var/spool/anacron