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: 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 %{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