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 # - syslog output (-s) writes two bytes of garbage to syslog instead of actual data:
5 # Mar 3 09:30:01 ravenous CROND[2528]: 4ΓΏ
8 %bcond_without inotify # without inotify support
9 %if "%{pld_release}" == "ac"
10 %bcond_with selinux # with SELinux support
11 %bcond_with audit # with audit support
12 %bcond_with systemd # with systemd units
14 %bcond_without selinux # without SELinux support
15 %bcond_without audit # without audit support
16 %bcond_with systemd # without systemd units
19 Summary: Cron daemon for executing programs at set times
23 License: MIT and BSD and GPL v2
25 Source0: https://fedorahosted.org/releases/c/r/cronie/%{name}-%{version}.tar.gz
26 # Source0-md5: 9b1d2ce6db8d1883e06635f437170657
28 Source2: cron.logrotate
29 Source3: cron.sysconfig
30 Source4: %{name}.crontab
32 Source6: %{name}.upstart
33 Source7: crond.service
34 Patch0: inotify-nosys.patch
35 Patch1: %{name}-nosyscrontab.patch
36 Patch2: sendmail-path.patch
37 Patch3: cronie-1.4.8-inotify-fix.patch
38 URL: https://fedorahosted.org/cronie/
39 %{?with_audit:BuildRequires: audit-libs-devel}
40 BuildRequires: autoconf
41 BuildRequires: automake
42 %{?with_selinux:BuildRequires: libselinux-devel}
43 BuildRequires: pam-devel
44 BuildRequires: rpm >= 4.4.9-56
45 BuildRequires: rpmbuild(macros) >= 1.626
46 Requires(post): fileutils
47 Requires(post,preun): /sbin/chkconfig
48 Requires(postun): /usr/sbin/groupdel
49 Requires(pre): /usr/bin/getgid
50 Requires(pre): /usr/sbin/groupadd
51 Requires: /bin/run-parts
52 Requires: psmisc >= 20.1
53 Requires: rc-scripts >= 0.4.3.0
54 %{?with_systemd:Requires: systemd-units >= 37-0.10}
55 %{?with_inotify:Requires: uname(release) >= 2.6.13}
57 Provides: crontabs = 1.7
58 Provides: group(crontab)
59 %if "%{pld_release}" == "th"
60 Provides: vixie-cron = 4.3-1
63 Obsoletes: cronie-systemd
65 %if "%{pld_release}" == "th"
66 Obsoletes: vixie-cron < 4.3-1
68 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
71 Cronie contains the standard UNIX daemon crond that runs specified
72 programs at scheduled times and related tools. It is based on the
73 original cron and has security and configuration enhancements like the
74 ability to use pam and SELinux.
77 Summary: Utility for running regular jobs
79 Provides: anacron = 2.4
80 Obsoletes: anacron <= 2.3
83 Anacron becames part of cronie. Anacron is used only for running
84 regular jobs. The default settings execute regular jobs by anacron,
85 however this could be overloaded in settings.
88 Summary: Upstart job description for Cronie
89 Summary(pl.UTF-8): Opis zadania Upstart dla Cronie
91 Requires: %{name} = %{version}-%{release}
92 Requires: upstart >= 0.6
95 Upstart job description for Cronie.
97 %description upstart -l pl.UTF-8
98 Opis zadania Upstart dla Cronie.
113 SYSCRONTAB=/etc/crontab \
114 SYS_CROND_DIR=/etc/cron.d \
115 --sysconfdir=/etc/cron \
117 --with%{!?with_selinux:out}-selinux \
118 --with%{!?with_audit:out}-audit \
119 --with%{!?with_inotify:out}-inotify \
120 %if "%{cc_version}" >= "3.4"
129 rm -rf $RPM_BUILD_ROOT
130 install -d $RPM_BUILD_ROOT{/var/{log,spool/{ana,}cron},%{_mandir},%{systemdunitdir}}\
131 $RPM_BUILD_ROOT/etc/{rc.d/init.d,logrotate.d,sysconfig,init} \
132 $RPM_BUILD_ROOT%{_sysconfdir}/{cron,cron.{d,hourly,daily,weekly,monthly},pam.d}
136 DESTDIR=$RPM_BUILD_ROOT
138 install -p %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/crond
139 cp -a contrib/0anacron $RPM_BUILD_ROOT/etc/cron.hourly/0anacron
140 cp -a %{SOURCE2} $RPM_BUILD_ROOT/etc/logrotate.d/cron
141 cp -a %{SOURCE3} $RPM_BUILD_ROOT/etc/sysconfig/cron
142 cp -a %{SOURCE4} $RPM_BUILD_ROOT/etc/cron.d/crontab
143 cp -a %{SOURCE5} $RPM_BUILD_ROOT/etc/pam.d/crond
144 cp -a %{SOURCE6} $RPM_BUILD_ROOT/etc/init/crond.conf
145 cp -a %{SOURCE7} $RPM_BUILD_ROOT%{systemdunitdir}/crond.service
147 touch $RPM_BUILD_ROOT/var/log/cron
149 cat > $RPM_BUILD_ROOT%{_sysconfdir}/cron/cron.allow << 'EOF'
150 # cron.allow This file describes the names of the users which are
151 # allowed to use the local cron daemon
155 cat > $RPM_BUILD_ROOT%{_sysconfdir}/cron/cron.deny << 'EOF'
156 # cron.deny This file describes the names of the users which are
157 # NOT allowed to use the local cron daemon
161 rm -rf $RPM_BUILD_ROOT
164 %groupadd -g 117 -r -f crontab
167 if [ ! -f /var/log/cron ]; then
168 install -m 660 -g crontab /dev/null /var/log/cron
170 /sbin/chkconfig --add crond
171 %service crond restart "Cron Daemon"
172 %systemd_post crond.service
175 if [ "$1" = "0" ]; then
177 /sbin/chkconfig --del crond
179 %systemd_preun crond.service
182 if [ "$1" = "0" ]; then
187 %triggerpostun -- cronie < 1.4.8-13
188 if [ -f /etc/sysconfig/cron ]; then
189 . /etc/sysconfig/cron
191 [ "$CROND_SYSLOG_RESULT" = "yes" ] && __CROND_ARGS="-s"
192 [ -n "$CROND_MAIL_PROG" ] && __CROND_ARGS="$__CROND_ARGS -m $CROND_MAIL_PROG"
193 if [ -n "$__CROND_ARGS" ]; then
194 %{__cp} -f /etc/sysconfig/cron{,.rpmsave}
195 echo >>/etc/sysconfig/cron
196 echo "# Added by rpm trigger" >>/etc/sysconfig/cron
197 echo "CROND_ARGS=\"$CROND_ARGS $__CROND_ARGS\"" >>/etc/sysconfig/cron
200 %systemd_trigger crond.service
202 %triggerun -- hc-cron,fcron,vixie-cron
203 # Prevent preun from crond from working
204 chmod a-x /etc/rc.d/init.d/crond
206 %triggerpostun -- hc-cron,fcron,vixie-cron
207 # Restore what triggerun removed
208 chmod 754 /etc/rc.d/init.d/crond
209 # reinstall crond init.d links, which could be different
210 /sbin/chkconfig --del crond
211 /sbin/chkconfig --add crond
217 %upstart_postun crond
220 %defattr(644,root,root,755)
221 %doc AUTHORS ChangeLog README
222 %attr(750,root,crontab) %dir %{_sysconfdir}/cron*
223 %attr(640,root,crontab) %config(noreplace,missingok) /etc/cron.d/crontab
224 %attr(640,root,crontab) %config(noreplace,missingok) %verify(not md5 mtime size) %{_sysconfdir}/cron/cron.allow
225 %attr(640,root,crontab) %config(noreplace,missingok) %verify(not md5 mtime size) %{_sysconfdir}/cron/cron.deny
226 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/cron
227 %config(noreplace) %verify(not md5 mtime size) /etc/pam.d/crond
228 %attr(754,root,root) /etc/rc.d/init.d/crond
229 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/logrotate.d/cron
230 %{?with_systemd:%{systemdunitdir}/crond.service}
231 %attr(755,root,root) %{_sbindir}/crond
232 %attr(2755,root,crontab) %{_bindir}/crontab
234 %{_mandir}/man8/crond.8*
235 %{_mandir}/man8/cron.8*
236 %{_mandir}/man5/crontab.5*
237 %{_mandir}/man1/crontab.1*
239 %attr(1730,root,crontab) /var/spool/cron
240 %attr(660,root,crontab) %ghost /var/log/cron
243 %defattr(644,root,root,755)
244 %attr(755,root,root) %{_sbindir}/anacron
245 %attr(755,root,root) %{_sysconfdir}/cron.hourly/0anacron
246 %{_mandir}/man5/anacrontab.5*
247 %{_mandir}/man8/anacron.8*
249 %attr(1730,root,crontab) /var/spool/anacron
251 %if "%{pld_release}" == "th"
253 %defattr(644,root,root,755)
254 %config(noreplace) %verify(not md5 mtime size) /etc/init/crond.conf