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
13 %bcond_without selinux # without SELinux support
14 %bcond_without audit # without audit support
17 Summary: Cron daemon for executing programs at set times
21 License: MIT and BSD and GPL v2
23 Source0: https://fedorahosted.org/releases/c/r/cronie/%{name}-%{version}.tar.gz
24 # Source0-md5: 9b1d2ce6db8d1883e06635f437170657
26 Source2: cron.logrotate
27 Source3: cron.sysconfig
28 Source4: %{name}.crontab
30 Source6: %{name}.upstart
31 Source7: crond.service
32 Patch0: inotify-nosys.patch
33 Patch1: %{name}-nosyscrontab.patch
34 Patch2: sendmail-path.patch
35 Patch3: cronie-1.4.8-inotify-fix.patch
36 URL: https://fedorahosted.org/cronie/
37 %{?with_audit:BuildRequires: audit-libs-devel}
38 BuildRequires: autoconf
39 BuildRequires: automake
40 %{?with_selinux:BuildRequires: libselinux-devel}
41 BuildRequires: pam-devel
42 BuildRequires: rpm >= 4.4.9-56
43 BuildRequires: rpmbuild(macros) >= 1.647
44 Requires(post): fileutils
45 Requires(post,preun): /sbin/chkconfig
46 Requires(postun): /usr/sbin/groupdel
47 Requires(pre): /usr/bin/getgid
48 Requires(pre): /usr/sbin/groupadd
49 Requires: /bin/run-parts
50 Requires: psmisc >= 20.1
51 Requires: rc-scripts >= 0.4.3.0
52 %if %{pld_release} != "ac"
53 Requires(post,preun,postun): systemd-units >= 38
54 Requires: systemd-units >= 38}
56 %{?with_inotify:Requires: uname(release) >= 2.6.13}
58 Provides: crontabs = 1.7
59 Provides: group(crontab)
60 %if "%{pld_release}" == "th"
61 Provides: vixie-cron = 4.3-1
64 Obsoletes: cronie-systemd
66 %if "%{pld_release}" == "th"
67 Obsoletes: vixie-cron < 4.3-1
69 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
72 Cronie contains the standard UNIX daemon crond that runs specified
73 programs at scheduled times and related tools. It is based on the
74 original cron and has security and configuration enhancements like the
75 ability to use pam and SELinux.
78 Summary: Utility for running regular jobs
80 Provides: anacron = 2.4
81 Obsoletes: anacron <= 2.3
84 Anacron becames part of cronie. Anacron is used only for running
85 regular jobs. The default settings execute regular jobs by anacron,
86 however this could be overloaded in settings.
89 Summary: Upstart job description for Cronie
90 Summary(pl.UTF-8): Opis zadania Upstart dla Cronie
92 Requires: %{name} = %{version}-%{release}
93 Requires: upstart >= 0.6
96 Upstart job description for Cronie.
98 %description upstart -l pl.UTF-8
99 Opis zadania Upstart dla Cronie.
114 SYSCRONTAB=/etc/crontab \
115 SYS_CROND_DIR=/etc/cron.d \
116 --sysconfdir=/etc/cron \
118 --with%{!?with_selinux:out}-selinux \
119 --with%{!?with_audit:out}-audit \
120 --with%{!?with_inotify:out}-inotify \
121 %if "%{cc_version}" >= "3.4"
130 rm -rf $RPM_BUILD_ROOT
131 install -d $RPM_BUILD_ROOT{/var/{log,spool/{ana,}cron},%{_mandir},%{systemdunitdir}}\
132 $RPM_BUILD_ROOT/etc/{rc.d/init.d,logrotate.d,sysconfig,init} \
133 $RPM_BUILD_ROOT%{_sysconfdir}/{cron,cron.{d,hourly,daily,weekly,monthly},pam.d}
137 DESTDIR=$RPM_BUILD_ROOT
139 install -p %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/crond
140 cp -a contrib/0anacron $RPM_BUILD_ROOT/etc/cron.hourly/0anacron
141 cp -a %{SOURCE2} $RPM_BUILD_ROOT/etc/logrotate.d/cron
142 cp -a %{SOURCE3} $RPM_BUILD_ROOT/etc/sysconfig/cron
143 cp -a %{SOURCE4} $RPM_BUILD_ROOT/etc/cron.d/crontab
144 cp -a %{SOURCE5} $RPM_BUILD_ROOT/etc/pam.d/crond
145 cp -a %{SOURCE6} $RPM_BUILD_ROOT/etc/init/crond.conf
146 cp -a %{SOURCE7} $RPM_BUILD_ROOT%{systemdunitdir}/crond.service
148 touch $RPM_BUILD_ROOT/var/log/cron
150 cat > $RPM_BUILD_ROOT%{_sysconfdir}/cron/cron.allow << 'EOF'
151 # cron.allow This file describes the names of the users which are
152 # allowed to use the local cron daemon
156 cat > $RPM_BUILD_ROOT%{_sysconfdir}/cron/cron.deny << 'EOF'
157 # cron.deny This file describes the names of the users which are
158 # NOT allowed to use the local cron daemon
162 rm -rf $RPM_BUILD_ROOT
165 %groupadd -g 117 -r -f crontab
168 if [ ! -f /var/log/cron ]; then
169 install -m 660 -g crontab /dev/null /var/log/cron
171 /sbin/chkconfig --add crond
172 %service crond restart "Cron Daemon"
173 %systemd_post crond.service
176 if [ "$1" = "0" ]; then
178 /sbin/chkconfig --del crond
180 %systemd_preun crond.service
183 if [ "$1" = "0" ]; then
188 %triggerpostun -- cronie < 1.4.8-13
189 if [ -f /etc/sysconfig/cron ]; then
190 . /etc/sysconfig/cron
192 [ "$CROND_SYSLOG_RESULT" = "yes" ] && __CROND_ARGS="-s"
193 [ -n "$CROND_MAIL_PROG" ] && __CROND_ARGS="$__CROND_ARGS -m $CROND_MAIL_PROG"
194 if [ -n "$__CROND_ARGS" ]; then
195 %{__cp} -f /etc/sysconfig/cron{,.rpmsave}
196 echo >>/etc/sysconfig/cron
197 echo "# Added by rpm trigger" >>/etc/sysconfig/cron
198 echo "CROND_ARGS=\"$CROND_ARGS $__CROND_ARGS\"" >>/etc/sysconfig/cron
201 %systemd_trigger crond.service
203 %triggerun -- hc-cron,fcron,vixie-cron
204 # Prevent preun from crond from working
205 chmod a-x /etc/rc.d/init.d/crond
207 %triggerpostun -- hc-cron,fcron,vixie-cron
208 # Restore what triggerun removed
209 chmod 754 /etc/rc.d/init.d/crond
210 # reinstall crond init.d links, which could be different
211 /sbin/chkconfig --del crond
212 /sbin/chkconfig --add crond
218 %upstart_postun crond
221 %defattr(644,root,root,755)
222 %doc AUTHORS ChangeLog README
223 %attr(750,root,crontab) %dir %{_sysconfdir}/cron*
224 %attr(640,root,crontab) %config(noreplace,missingok) /etc/cron.d/crontab
225 %attr(640,root,crontab) %config(noreplace,missingok) %verify(not md5 mtime size) %{_sysconfdir}/cron/cron.allow
226 %attr(640,root,crontab) %config(noreplace,missingok) %verify(not md5 mtime size) %{_sysconfdir}/cron/cron.deny
227 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/cron
228 %config(noreplace) %verify(not md5 mtime size) /etc/pam.d/crond
229 %attr(754,root,root) /etc/rc.d/init.d/crond
230 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/logrotate.d/cron
231 %{systemdunitdir}/crond.service
232 %attr(755,root,root) %{_sbindir}/crond
233 %attr(2755,root,crontab) %{_bindir}/crontab
235 %{_mandir}/man8/crond.8*
236 %{_mandir}/man8/cron.8*
237 %{_mandir}/man5/crontab.5*
238 %{_mandir}/man1/crontab.1*
240 %attr(1730,root,crontab) /var/spool/cron
241 %attr(660,root,crontab) %ghost /var/log/cron
244 %defattr(644,root,root,755)
245 %attr(755,root,root) %{_sbindir}/anacron
246 %attr(755,root,root) %{_sysconfdir}/cron.hourly/0anacron
247 %{_mandir}/man5/anacrontab.5*
248 %{_mandir}/man8/anacron.8*
250 %attr(1730,root,crontab) /var/spool/anacron
252 %if "%{pld_release}" == "th"
254 %defattr(644,root,root,755)
255 %config(noreplace) %verify(not md5 mtime size) /etc/init/crond.conf