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: 9db75e1884d83a45e002d145c6c54d45
26 Source3: cron.sysconfig
27 Source4: %{name}.crontab
29 Source6: crond.service
30 Patch0: inotify-nosys.patch
31 Patch1: sendmail-path.patch
32 Patch2: cronie-temp.patch
33 URL: https://fedorahosted.org/cronie/
34 %{?with_audit:BuildRequires: audit-libs-devel}
35 BuildRequires: autoconf
36 BuildRequires: automake
37 BuildRequires: glibc-devel >= 6:2.21
38 %{?with_selinux:BuildRequires: libselinux-devel}
39 BuildRequires: pam-devel
40 BuildRequires: rpm >= 4.4.9-56
41 BuildRequires: rpmbuild(macros) >= 1.647
42 Requires(post): fileutils
43 Requires(post,preun): /sbin/chkconfig
44 Requires(postun): /usr/sbin/groupdel
45 Requires(pre): /usr/bin/getgid
46 Requires(pre): /usr/sbin/groupadd
47 Requires: /bin/run-parts
48 Requires: psmisc >= 20.1
49 Requires: rc-scripts >= 0.4.3.0
50 %if "%{pld_release}" != "ac"
51 Requires(post,preun,postun): systemd-units >= 38
52 Requires: systemd-units >= 38}
54 %{?with_inotify:Requires: uname(release) >= 2.6.13}
56 Provides: crontabs = 1.7
57 Provides: group(crontab)
58 %if "%{pld_release}" == "th"
59 Provides: vixie-cron = 4.3-1
62 Obsoletes: cronie-systemd
64 %if "%{pld_release}" == "th"
65 Obsoletes: vixie-cron < 4.3-1
67 Conflicts: sysklogd < 1.5.1-2
68 Conflicts: syslog-ng < 3.6.4-3
69 Conflicts: rsyslog < 5.10.1-4
70 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
73 Cronie contains the standard UNIX daemon crond that runs specified
74 programs at scheduled times and related tools. It is based on the
75 original cron and has security and configuration enhancements like the
76 ability to use pam and SELinux.
79 Summary: Utility for running regular jobs
81 Provides: anacron = 2.4
82 Obsoletes: anacron <= 2.3
85 Anacron becames part of cronie. Anacron is used only for running
86 regular jobs. The default settings execute regular jobs by anacron,
87 however this could be overloaded in settings.
101 SYSCRONTAB=/etc/crontab \
102 SYS_CROND_DIR=/etc/cron.d \
103 --sysconfdir=/etc/cron \
104 --with-editor=/bin/vi \
106 --with%{!?with_selinux:out}-selinux \
107 --with%{!?with_audit:out}-audit \
108 --with%{!?with_inotify:out}-inotify \
109 --disable-syscrontab \
110 %if "%{cc_version}" >= "3.4"
119 rm -rf $RPM_BUILD_ROOT
120 install -d $RPM_BUILD_ROOT{/var/{log,spool/{ana,}cron},%{_mandir},%{systemdunitdir}}\
121 $RPM_BUILD_ROOT/etc/{rc.d/init.d,logrotate.d,sysconfig} \
122 $RPM_BUILD_ROOT%{_sysconfdir}/{cron,cron.{d,hourly,daily,weekly,monthly},pam.d}
126 DESTDIR=$RPM_BUILD_ROOT
128 cp -p %{SOURCE5} crond.pam
131 # remove recording user's login uid to the process attribute
132 %{__sed} -i -e '/pam_loginuid.so/d' crond.pam
135 install -p %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/crond
136 cp -a contrib/0anacron $RPM_BUILD_ROOT/etc/cron.hourly/0anacron
137 cp -a contrib/anacrontab $RPM_BUILD_ROOT/etc/cron/anacrontab
138 cp -a %{SOURCE3} $RPM_BUILD_ROOT/etc/sysconfig/cron
139 cp -a %{SOURCE4} $RPM_BUILD_ROOT/etc/cron.d/crontab
140 cp -a crond.pam $RPM_BUILD_ROOT/etc/pam.d/crond
141 cp -a %{SOURCE6} $RPM_BUILD_ROOT%{systemdunitdir}/crond.service
143 cat > $RPM_BUILD_ROOT%{_sysconfdir}/cron/cron.allow << 'EOF'
144 # cron.allow This file describes the names of the users which are
145 # allowed to use the local cron daemon
149 cat > $RPM_BUILD_ROOT%{_sysconfdir}/cron/cron.deny << 'EOF'
150 # cron.deny This file describes the names of the users which are
151 # NOT allowed to use the local cron daemon
155 rm -rf $RPM_BUILD_ROOT
158 %groupadd -g 117 -r -f crontab
161 /sbin/chkconfig --add crond
162 %service crond restart "Cron Daemon"
163 %systemd_post crond.service
166 if [ "$1" = "0" ]; then
168 /sbin/chkconfig --del crond
170 %systemd_preun crond.service
173 if [ "$1" = "0" ]; then
178 %triggerpostun -- cronie < 1.4.8-13
179 if [ -f /etc/sysconfig/cron ]; then
180 . /etc/sysconfig/cron
182 [ "$CROND_SYSLOG_RESULT" = "yes" ] && __CROND_ARGS="-s"
183 [ -n "$CROND_MAIL_PROG" ] && __CROND_ARGS="$__CROND_ARGS -m $CROND_MAIL_PROG"
184 if [ -n "$__CROND_ARGS" ]; then
185 %{__cp} -f /etc/sysconfig/cron{,.rpmsave}
186 echo >>/etc/sysconfig/cron
187 echo "# Added by rpm trigger" >>/etc/sysconfig/cron
188 echo "CROND_ARGS=\"$CROND_ARGS $__CROND_ARGS\"" >>/etc/sysconfig/cron
191 %systemd_trigger crond.service
193 %triggerun -- hc-cron,fcron,vixie-cron < 4.3-1
194 # Prevent preun from crond from working
195 chmod a-x /etc/rc.d/init.d/crond
197 %triggerpostun -- hc-cron,fcron,vixie-cron < 4.3-1
198 # Restore what triggerun removed
199 chmod 754 /etc/rc.d/init.d/crond
200 # reinstall crond init.d links, which could be different
201 /sbin/chkconfig --del crond
202 /sbin/chkconfig --add crond
205 %defattr(644,root,root,755)
206 %doc AUTHORS ChangeLog README
207 %attr(750,root,crontab) %dir /etc/cron
208 %attr(750,root,crontab) %dir /etc/cron.daily
209 %attr(750,root,crontab) %dir /etc/cron.hourly
210 %attr(750,root,crontab) %dir /etc/cron.monthly
211 %attr(750,root,crontab) %dir /etc/cron.weekly
212 %attr(640,root,crontab) %config(noreplace,missingok) /etc/cron.d/crontab
213 %attr(640,root,crontab) %config(noreplace,missingok) %verify(not md5 mtime size) %{_sysconfdir}/cron/cron.allow
214 %attr(640,root,crontab) %config(noreplace,missingok) %verify(not md5 mtime size) %{_sysconfdir}/cron/cron.deny
215 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/cron
216 %config(noreplace) %verify(not md5 mtime size) /etc/pam.d/crond
217 %attr(754,root,root) /etc/rc.d/init.d/crond
218 %{systemdunitdir}/crond.service
219 %attr(755,root,root) %{_sbindir}/crond
220 %attr(2755,root,crontab) %{_bindir}/crontab
222 %{_mandir}/man8/crond.8*
223 %{_mandir}/man8/cron.8*
224 %{_mandir}/man5/crontab.5*
225 %{_mandir}/man1/crontab.1*
227 %attr(1730,root,crontab) /var/spool/cron
230 %defattr(644,root,root,755)
231 %attr(755,root,root) %{_sbindir}/anacron
232 %attr(755,root,root) %{_sysconfdir}/cron.hourly/0anacron
233 %attr(640,root,crontab) %config(noreplace,missingok) %verify(not md5 mtime size) /etc/cron/anacrontab
234 %{_mandir}/man5/anacrontab.5*
235 %{_mandir}/man8/anacron.8*
237 %attr(1730,root,crontab) /var/spool/anacron