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: 910e6effcc032998b0a49fbd46322e18
26 Source3: cron.sysconfig
27 Source4: %{name}.crontab
29 Source6: crond.service
30 Patch0: inotify-nosys.patch
31 Patch1: sendmail-path.patch
32 URL: https://fedorahosted.org/cronie/
33 %{?with_audit:BuildRequires: audit-libs-devel}
34 BuildRequires: autoconf
35 BuildRequires: automake
36 BuildRequires: glibc-devel >= 6:2.21
37 %{?with_selinux:BuildRequires: libselinux-devel}
38 BuildRequires: pam-devel
39 BuildRequires: rpm >= 4.4.9-56
40 BuildRequires: rpmbuild(macros) >= 1.647
41 Requires(post): fileutils
42 Requires(post,preun): /sbin/chkconfig
43 Requires(postun): /usr/sbin/groupdel
44 Requires(pre): /usr/bin/getgid
45 Requires(pre): /usr/sbin/groupadd
46 Requires: /bin/run-parts
47 Requires: psmisc >= 20.1
48 Requires: rc-scripts >= 0.4.3.0
49 %if "%{pld_release}" != "ac"
50 Requires(post,preun,postun): systemd-units >= 38
51 Requires: systemd-units >= 38}
53 %{?with_inotify:Requires: uname(release) >= 2.6.13}
55 Provides: crontabs = 1.7
56 Provides: group(crontab)
57 %if "%{pld_release}" == "th"
58 Provides: vixie-cron = 4.3-1
61 Obsoletes: cronie-systemd
63 %if "%{pld_release}" == "th"
64 Obsoletes: vixie-cron < 4.3-1
66 Conflicts: sysklogd < 1.5.1-2
67 Conflicts: syslog-ng < 3.6.4-3
68 Conflicts: rsyslog < 5.10.1-4
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.
99 SYSCRONTAB=/etc/crontab \
100 SYS_CROND_DIR=/etc/cron.d \
101 --sysconfdir=/etc/cron \
102 --with-editor=/bin/vi \
104 --with%{!?with_selinux:out}-selinux \
105 --with%{!?with_audit:out}-audit \
106 --with%{!?with_inotify:out}-inotify \
107 --disable-syscrontab \
108 %if "%{cc_version}" >= "3.4"
117 rm -rf $RPM_BUILD_ROOT
118 install -d $RPM_BUILD_ROOT{/var/{log,spool/{ana,}cron},%{_mandir},%{systemdunitdir}}\
119 $RPM_BUILD_ROOT/etc/{rc.d/init.d,logrotate.d,sysconfig} \
120 $RPM_BUILD_ROOT%{_sysconfdir}/{cron,cron.{d,hourly,daily,weekly,monthly},pam.d}
124 DESTDIR=$RPM_BUILD_ROOT
126 cp -p %{SOURCE5} crond.pam
129 # remove recording user's login uid to the process attribute
130 %{__sed} -i -e '/pam_loginuid.so/d' crond.pam
133 install -p %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/crond
134 cp -a contrib/0anacron $RPM_BUILD_ROOT/etc/cron.hourly/0anacron
135 cp -a contrib/anacrontab $RPM_BUILD_ROOT/etc/cron/anacrontab
136 cp -a %{SOURCE3} $RPM_BUILD_ROOT/etc/sysconfig/cron
137 cp -a %{SOURCE4} $RPM_BUILD_ROOT/etc/cron.d/crontab
138 cp -a crond.pam $RPM_BUILD_ROOT/etc/pam.d/crond
139 cp -a %{SOURCE6} $RPM_BUILD_ROOT%{systemdunitdir}/crond.service
141 cat > $RPM_BUILD_ROOT%{_sysconfdir}/cron/cron.allow << 'EOF'
142 # cron.allow This file describes the names of the users which are
143 # allowed to use the local cron daemon
147 cat > $RPM_BUILD_ROOT%{_sysconfdir}/cron/cron.deny << 'EOF'
148 # cron.deny This file describes the names of the users which are
149 # NOT allowed to use the local cron daemon
153 rm -rf $RPM_BUILD_ROOT
156 %groupadd -g 117 -r -f crontab
159 /sbin/chkconfig --add crond
160 %service crond restart "Cron Daemon"
161 %systemd_post crond.service
164 if [ "$1" = "0" ]; then
166 /sbin/chkconfig --del crond
168 %systemd_preun crond.service
171 if [ "$1" = "0" ]; then
176 %triggerpostun -- cronie < 1.4.8-13
177 if [ -f /etc/sysconfig/cron ]; then
178 . /etc/sysconfig/cron
180 [ "$CROND_SYSLOG_RESULT" = "yes" ] && __CROND_ARGS="-s"
181 [ -n "$CROND_MAIL_PROG" ] && __CROND_ARGS="$__CROND_ARGS -m $CROND_MAIL_PROG"
182 if [ -n "$__CROND_ARGS" ]; then
183 %{__cp} -f /etc/sysconfig/cron{,.rpmsave}
184 echo >>/etc/sysconfig/cron
185 echo "# Added by rpm trigger" >>/etc/sysconfig/cron
186 echo "CROND_ARGS=\"$CROND_ARGS $__CROND_ARGS\"" >>/etc/sysconfig/cron
189 %systemd_trigger crond.service
191 %triggerun -- hc-cron,fcron,vixie-cron < 4.3-1
192 # Prevent preun from crond from working
193 chmod a-x /etc/rc.d/init.d/crond
195 %triggerpostun -- hc-cron,fcron,vixie-cron < 4.3-1
196 # Restore what triggerun removed
197 chmod 754 /etc/rc.d/init.d/crond
198 # reinstall crond init.d links, which could be different
199 /sbin/chkconfig --del crond
200 /sbin/chkconfig --add crond
203 %defattr(644,root,root,755)
204 %doc AUTHORS ChangeLog README
205 %attr(750,root,crontab) %dir /etc/cron
206 %attr(750,root,crontab) %dir /etc/cron.daily
207 %attr(750,root,crontab) %dir /etc/cron.hourly
208 %attr(750,root,crontab) %dir /etc/cron.monthly
209 %attr(750,root,crontab) %dir /etc/cron.weekly
210 %attr(640,root,crontab) %config(noreplace,missingok) /etc/cron.d/crontab
211 %attr(640,root,crontab) %config(noreplace,missingok) %verify(not md5 mtime size) %{_sysconfdir}/cron/cron.allow
212 %attr(640,root,crontab) %config(noreplace,missingok) %verify(not md5 mtime size) %{_sysconfdir}/cron/cron.deny
213 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/cron
214 %config(noreplace) %verify(not md5 mtime size) /etc/pam.d/crond
215 %attr(754,root,root) /etc/rc.d/init.d/crond
216 %{systemdunitdir}/crond.service
217 %attr(755,root,root) %{_sbindir}/crond
218 %attr(2755,root,crontab) %{_bindir}/crontab
220 %{_mandir}/man8/crond.8*
221 %{_mandir}/man8/cron.8*
222 %{_mandir}/man5/crontab.5*
223 %{_mandir}/man1/crontab.1*
225 %attr(1730,root,crontab) /var/spool/cron
228 %defattr(644,root,root,755)
229 %attr(755,root,root) %{_sbindir}/anacron
230 %attr(755,root,root) %{_sysconfdir}/cron.hourly/0anacron
231 %attr(640,root,crontab) %config(noreplace,missingok) %verify(not md5 mtime size) /etc/cron/anacrontab
232 %{_mandir}/man5/anacrontab.5*
233 %{_mandir}/man8/anacron.8*
235 %attr(1730,root,crontab) /var/spool/anacron