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 # - https://fedorahosted.org/cronie/changeset/272c4a5c417bfa6e04148fc35a4fe4c6956b17e1
5 # should we follow it too? our pam contains cron.{allow,deny} listfile rules,
6 # cronie itself checks these files so safe to drop?
9 %bcond_without inotify # without inotify support
10 %if "%{pld_release}" == "ac"
11 %bcond_with selinux # without SELinux support
12 %bcond_with audit # without audit support
14 %bcond_without selinux # without SELinux support
15 %bcond_without audit # without audit support
18 Summary: Cron daemon for executing programs at set times
22 License: MIT and BSD and GPL v2
24 Source0: https://fedorahosted.org/releases/c/r/cronie/%{name}-%{version}.tar.gz
25 # Source0-md5: 2393b3e5828fc09d9acf04dfd7796ab9
27 Source2: cron.logrotate
28 Source3: cron.sysconfig
29 Source4: %{name}.crontab
31 Patch0: inotify-nosys.patch
32 Patch1: %{name}-nosyscrontab.patch
33 Patch2: sendmail-path.patch
34 URL: https://fedorahosted.org/cronie/
35 %{?with_audit:BuildRequires: audit-libs-devel}
36 BuildRequires: autoconf
37 BuildRequires: automake
38 %{?with_selinux:BuildRequires: libselinux-devel}
39 BuildRequires: pam-devel
40 BuildRequires: rpm >= 4.4.9-56
41 BuildRequires: rpmbuild(macros) >= 1.268
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: /sbin/chkconfig
49 Requires: psmisc >= 20.1
50 Requires: rc-scripts >= 0.4.0.19
51 %{?with_inotify:Requires: uname(release) >= 2.6.13}
53 Provides: crontabs = 1.7
54 Provides: group(crontab)
55 %if "%{pld_release}" == "th"
56 Provides: vixie-cron = 4:4.4
60 %if "%{pld_release}" == "th"
61 Obsoletes: vixie-cron <= 4:4.3
63 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
66 Cronie contains the standard UNIX daemon crond that runs specified
67 programs at scheduled times and related tools. It is based on the
68 original cron and has security and configuration enhancements like the
69 ability to use pam and SELinux.
72 Summary: Utility for running regular jobs
74 Provides: anacron = 2.4
75 Obsoletes: anacron <= 2.3
78 Anacron becames part of cronie. Anacron is used only for running
79 regular jobs. The default settings execute regular jobs by anacron,
80 however this could be overloaded in settings.
94 SYSCRONTAB=/etc/crontab \
95 SYS_CROND_DIR=/etc/cron.d \
96 --sysconfdir=/etc/cron \
98 --with%{!?with_selinux:out}-selinux \
99 --with%{!?with_audit:out}-audit \
100 --with%{!?with_inotify:out}-inotify \
106 rm -rf $RPM_BUILD_ROOT
107 install -d $RPM_BUILD_ROOT{/var/{log,spool/{ana,}cron},%{_mandir}} \
108 $RPM_BUILD_ROOT/etc/{rc.d/init.d,logrotate.d,sysconfig} \
109 $RPM_BUILD_ROOT%{_sysconfdir}/{cron,cron.{d,hourly,daily,weekly,monthly},pam.d}
113 DESTDIR=$RPM_BUILD_ROOT
115 install -p %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/crond
116 cp -a contrib/0anacron $RPM_BUILD_ROOT/etc/cron.hourly/0anacron
117 cp -a %{SOURCE2} $RPM_BUILD_ROOT/etc/logrotate.d/cron
118 cp -a %{SOURCE3} $RPM_BUILD_ROOT/etc/sysconfig/cron
119 cp -a %{SOURCE4} $RPM_BUILD_ROOT/etc/cron.d/crontab
120 cp -a %{SOURCE5} $RPM_BUILD_ROOT/etc/pam.d/crond
122 touch $RPM_BUILD_ROOT/var/log/cron
124 cat > $RPM_BUILD_ROOT%{_sysconfdir}/cron/cron.allow << 'EOF'
125 # cron.allow This file describes the names of the users which are
126 # allowed to use the local cron daemon
130 cat > $RPM_BUILD_ROOT%{_sysconfdir}/cron/cron.deny << 'EOF'
131 # cron.deny This file describes the names of the users which are
132 # NOT allowed to use the local cron daemon
136 rm -rf $RPM_BUILD_ROOT
139 %groupadd -g 117 -r -f crontab
142 if [ ! -f /var/log/cron ]; then
145 chgrp crontab /var/log/cron
146 chmod 660 /var/log/cron
148 /sbin/chkconfig --add crond
149 %service crond restart "Cron Daemon"
152 if [ "$1" = "0" ]; then
154 /sbin/chkconfig --del crond
158 if [ "$1" = "0" ]; then
162 %triggerpostun -- hc-cron
163 # reinstall crond init.d links, which could be different
164 /sbin/chkconfig --del crond
165 /sbin/chkconfig --add crond
167 %triggerun -- vixie-cron
168 # Prevent preun from crond from working
169 chmod a-x /etc/rc.d/init.d/crond
171 %triggerpostun -- vixie-cron
172 # Restore what triggerun removed
173 chmod 754 /etc/rc.d/init.d/crond
174 /sbin/chkconfig --add crond
177 %defattr(644,root,root,755)
178 %doc AUTHORS ChangeLog README
179 %attr(750,root,crontab) %dir %{_sysconfdir}/cron*
180 %attr(640,root,crontab) %config(noreplace,missingok) /etc/cron.d/crontab
181 %attr(640,root,crontab) %config(noreplace,missingok) %verify(not md5 mtime size) %{_sysconfdir}/cron/cron.allow
182 %attr(640,root,crontab) %config(noreplace,missingok) %verify(not md5 mtime size) %{_sysconfdir}/cron/cron.deny
183 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/cron
184 %config(noreplace) %verify(not md5 mtime size) /etc/pam.d/crond
185 %attr(754,root,root) /etc/rc.d/init.d/crond
186 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/logrotate.d/cron
187 %attr(755,root,root) %{_sbindir}/crond
188 %attr(2755,root,crontab) %{_bindir}/crontab
190 %{_mandir}/man8/crond.8*
191 %{_mandir}/man8/cron.8*
192 %{_mandir}/man5/crontab.5*
193 %{_mandir}/man1/crontab.1*
195 %attr(1730,root,crontab) /var/spool/cron
196 %attr(660,root,crontab) %ghost /var/log/cron
199 %defattr(644,root,root,755)
200 %attr(755,root,root) %{_sbindir}/anacron
201 %attr(755,root,root) %{_sysconfdir}/cron.hourly/0anacron
202 %{_mandir}/man5/anacrontab.5*
203 %{_mandir}/man8/anacron.8*
205 %attr(1730,root,crontab) /var/spool/anacron