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
18 Summary(pl.UTF-8): Demon cron do uruchamiania programów o zadanym czasie
22 License: MIT and BSD and GPL v2
24 Source0: https://github.com/cronie-crond/cronie/releases/download/%{name}-%{version}/%{name}-%{version}.tar.gz
25 # Source0-md5: 351a37d0b5bd0144816724b4482747ad
27 Source3: cron.sysconfig
28 Source4: %{name}.crontab
30 Source6: crond.service
31 Patch0: inotify-nosys.patch
32 Patch1: sendmail-path.patch
33 URL: https://github.com/cronie-crond/cronie/
34 %{?with_audit:BuildRequires: audit-libs-devel}
35 BuildRequires: autoconf >= 2.60
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
58 Provides: group(crontab)
59 %if "%{pld_release}" == "th"
60 Provides: vixie-cron = 4.3-1
63 Obsoletes: cronie-systemd
66 %if "%{pld_release}" == "th"
67 Obsoletes: vixie-cron < 4.3-1
69 Conflicts: sysklogd < 1.5.1-2
70 Conflicts: syslog-ng < 3.6.4-3
71 Conflicts: rsyslog < 5.10.1-4
72 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
75 Cronie contains the standard UNIX daemon crond that runs specified
76 programs at scheduled times and related tools. It is based on the
77 original cron and has security and configuration enhancements like the
78 ability to use PAM and SELinux.
80 %description -l pl.UTF-8
81 Cronie zawiera standardowego demona uniksowego crond, uruchamiającego
82 podane programy o zadanym czasie, oraz powiązane narzędzia. Jest
83 oparty na oryginalnym cronie i zawiera rozszerzenia bezpieczeństwa i
84 konfiguracji, takie jak możliwość wykorzystania mechanizmów PAM i
88 Summary: Utility for running regular jobs
89 Summary(pl.UTF-8): Narzędzie do uruchamiania regularnych zadań
91 Provides: anacron = 2.4
92 Obsoletes: anacron <= 2.3
95 Anacron becames part of cronie. Anacron is used only for running
96 regular jobs. The default settings execute regular jobs by anacron,
97 however this could be overloaded in settings.
99 %description anacron -l pl.UTF-8
100 Anacron stał się częścią cronie. Służy tylko do uruchamiania
101 regularnych zadań. Domyślne ustawienia wykonują zadania przy użyciu
102 anacrona, ale może to być zmienione w ustawieniach.
115 SYSCRONTAB=/etc/crontab \
116 SYS_CROND_DIR=/etc/cron.d \
117 --sysconfdir=/etc/cron \
118 --with-editor=/bin/vi \
119 --with-audit%{!?with_audit:=no} \
120 --with-inotify%{!?with_inotify:=no} \
122 --with-selinux%{!?with_selinux:=no} \
123 --disable-silent-rules \
124 --disable-syscrontab \
126 %if "%{cc_version}" >= "3.4"
134 rm -rf $RPM_BUILD_ROOT
135 install -d $RPM_BUILD_ROOT{/var/{log,spool/{ana,}cron},%{_mandir},%{systemdunitdir}}\
136 $RPM_BUILD_ROOT/etc/{rc.d/init.d,logrotate.d,sysconfig} \
137 $RPM_BUILD_ROOT%{_sysconfdir}/{cron,cron.{d,hourly,daily,weekly,monthly},pam.d}
141 DESTDIR=$RPM_BUILD_ROOT
143 cp -p %{SOURCE5} crond.pam
146 # remove recording user's login uid to the process attribute
147 %{__sed} -i -e '/pam_loginuid.so/d' crond.pam
150 install -p %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/crond
151 cp -a contrib/0anacron $RPM_BUILD_ROOT/etc/cron.hourly/0anacron
152 cp -a contrib/anacrontab $RPM_BUILD_ROOT/etc/cron/anacrontab
153 cp -a %{SOURCE3} $RPM_BUILD_ROOT/etc/sysconfig/cron
154 cp -a %{SOURCE4} $RPM_BUILD_ROOT/etc/cron.d/crontab
155 cp -a crond.pam $RPM_BUILD_ROOT/etc/pam.d/crond
156 cp -a %{SOURCE6} $RPM_BUILD_ROOT%{systemdunitdir}/crond.service
158 cat > $RPM_BUILD_ROOT%{_sysconfdir}/cron/cron.allow << 'EOF'
159 # cron.allow This file describes the names of the users which are
160 # allowed to use the local cron daemon
164 cat > $RPM_BUILD_ROOT%{_sysconfdir}/cron/cron.deny << 'EOF'
165 # cron.deny This file describes the names of the users which are
166 # NOT allowed to use the local cron daemon
170 rm -rf $RPM_BUILD_ROOT
173 %groupadd -g 117 -r -f crontab
176 /sbin/chkconfig --add crond
177 %service crond restart "Cron Daemon"
178 %systemd_post crond.service
181 if [ "$1" = "0" ]; then
183 /sbin/chkconfig --del crond
185 %systemd_preun crond.service
188 if [ "$1" = "0" ]; then
193 %triggerpostun -- cronie < 1.4.8-13
194 if [ -f /etc/sysconfig/cron ]; then
195 . /etc/sysconfig/cron
197 [ "$CROND_SYSLOG_RESULT" = "yes" ] && __CROND_ARGS="-s"
198 [ -n "$CROND_MAIL_PROG" ] && __CROND_ARGS="$__CROND_ARGS -m $CROND_MAIL_PROG"
199 if [ -n "$__CROND_ARGS" ]; then
200 %{__cp} -f /etc/sysconfig/cron{,.rpmsave}
201 echo >>/etc/sysconfig/cron
202 echo "# Added by rpm trigger" >>/etc/sysconfig/cron
203 echo "CROND_ARGS=\"$CROND_ARGS $__CROND_ARGS\"" >>/etc/sysconfig/cron
206 %systemd_trigger crond.service
208 %triggerun -- hc-cron,fcron,vixie-cron < 4.3-1
209 # Prevent preun from crond from working
210 chmod a-x /etc/rc.d/init.d/crond
212 %triggerpostun -- hc-cron,fcron,vixie-cron < 4.3-1
213 # Restore what triggerun removed
214 chmod 754 /etc/rc.d/init.d/crond
215 # reinstall crond init.d links, which could be different
216 /sbin/chkconfig --del crond
217 /sbin/chkconfig --add crond
220 %defattr(644,root,root,755)
221 %doc AUTHORS ChangeLog README
222 %attr(750,root,crontab) %dir /etc/cron
223 %attr(750,root,crontab) %dir /etc/cron.daily
224 %attr(750,root,crontab) %dir /etc/cron.hourly
225 %attr(750,root,crontab) %dir /etc/cron.monthly
226 %attr(750,root,crontab) %dir /etc/cron.weekly
227 %attr(640,root,crontab) %config(noreplace,missingok) /etc/cron.d/crontab
228 %attr(640,root,crontab) %config(noreplace,missingok) %verify(not md5 mtime size) %{_sysconfdir}/cron/cron.allow
229 %attr(640,root,crontab) %config(noreplace,missingok) %verify(not md5 mtime size) %{_sysconfdir}/cron/cron.deny
230 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/cron
231 %config(noreplace) %verify(not md5 mtime size) /etc/pam.d/crond
232 %attr(754,root,root) /etc/rc.d/init.d/crond
233 %{systemdunitdir}/crond.service
234 %attr(755,root,root) %{_sbindir}/crond
235 %attr(2755,root,crontab) %{_bindir}/cronnext
236 %attr(2755,root,crontab) %{_bindir}/crontab
238 %{_mandir}/man8/crond.8*
239 %{_mandir}/man8/cron.8*
240 %{_mandir}/man5/crontab.5*
241 %{_mandir}/man1/cronnext.1*
242 %{_mandir}/man1/crontab.1*
244 %attr(1730,root,crontab) /var/spool/cron
247 %defattr(644,root,root,755)
248 %attr(755,root,root) %{_sbindir}/anacron
249 %attr(755,root,root) %{_sysconfdir}/cron.hourly/0anacron
250 %attr(640,root,crontab) %config(noreplace,missingok) %verify(not md5 mtime size) /etc/cron/anacrontab
251 %{_mandir}/man5/anacrontab.5*
252 %{_mandir}/man8/anacron.8*
254 %attr(1730,root,crontab) /var/spool/anacron