- versioned vixie-cron trigger
[packages/cronie.git] / cronie.spec
CommitLineData
955f0d7d
ER
1# TODO
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)
64e4eafc
ER
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ÿ
9088c091
AM
6#
7# Conditional build:
946518b7 8%bcond_without inotify # without inotify support
0d2f2c46 9%if "%{pld_release}" == "ac"
2bd551be
ER
10%bcond_with selinux # with SELinux support
11%bcond_with audit # with audit support
0d2f2c46
ER
12%else
13%bcond_without selinux # without SELinux support
828712ad 14%bcond_without audit # without audit support
701f4590
ER
15%endif
16
9088c091
AM
17Summary: Cron daemon for executing programs at set times
18Name: cronie
eb52456a 19Version: 1.4.8
d4e31b4b 20Release: 20
fd39f74d 21License: MIT and BSD and GPL v2
9088c091 22Group: Daemons
fd39f74d 23Source0: https://fedorahosted.org/releases/c/r/cronie/%{name}-%{version}.tar.gz
eb52456a 24# Source0-md5: 9b1d2ce6db8d1883e06635f437170657
9088c091
AM
25Source1: %{name}.init
26Source2: cron.logrotate
27Source3: cron.sysconfig
28Source4: %{name}.crontab
29Source5: %{name}.pam
bb090c53 30Source6: %{name}.upstart
6dd99ede 31Source7: crond.service
f440f0d0 32Patch0: inotify-nosys.patch
9c2aa177 33Patch1: %{name}-nosyscrontab.patch
cb620710 34Patch2: sendmail-path.patch
5c77a7a7 35Patch3: cronie-1.4.8-inotify-fix.patch
9088c091 36URL: https://fedorahosted.org/cronie/
828712ad
ER
37%{?with_audit:BuildRequires: audit-libs-devel}
38BuildRequires: autoconf
39BuildRequires: automake
9088c091
AM
40%{?with_selinux:BuildRequires: libselinux-devel}
41BuildRequires: pam-devel
0d2f2c46 42BuildRequires: rpm >= 4.4.9-56
cd632288 43BuildRequires: rpmbuild(macros) >= 1.647
9088c091
AM
44Requires(post): fileutils
45Requires(post,preun): /sbin/chkconfig
9088c091
AM
46Requires(postun): /usr/sbin/groupdel
47Requires(pre): /usr/bin/getgid
48Requires(pre): /usr/sbin/groupadd
49Requires: /bin/run-parts
9088c091 50Requires: psmisc >= 20.1
bb090c53 51Requires: rc-scripts >= 0.4.3.0
cd632288 52%if %{pld_release} != "ac"
1580d998
JR
53Requires(post,preun,postun): systemd-units >= 38
54Requires: systemd-units >= 38}
cd632288 55%endif
f440f0d0 56%{?with_inotify:Requires: uname(release) >= 2.6.13}
9088c091
AM
57Provides: crondaemon
58Provides: crontabs = 1.7
59Provides: group(crontab)
0d2f2c46 60%if "%{pld_release}" == "th"
bf8f51cd 61Provides: vixie-cron = 4.3-1
daf76cdc 62%endif
9088c091 63Obsoletes: crondaemon
f497321d 64Obsoletes: cronie-systemd
9088c091 65Obsoletes: crontabs
0d2f2c46 66%if "%{pld_release}" == "th"
bf8f51cd 67Obsoletes: vixie-cron < 4.3-1
daf76cdc 68%endif
9088c091
AM
69BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
70
71%description
84a870a4
AM
72Cronie contains the standard UNIX daemon crond that runs specified
73programs at scheduled times and related tools. It is based on the
74original cron and has security and configuration enhancements like the
75ability to use pam and SELinux.
9088c091
AM
76
77%package anacron
84a870a4
AM
78Summary: Utility for running regular jobs
79Group: Base
80Provides: anacron = 2.4
81Obsoletes: anacron <= 2.3
9088c091
AM
82
83%description anacron
84a870a4
AM
84Anacron becames part of cronie. Anacron is used only for running
85regular jobs. The default settings execute regular jobs by anacron,
86however this could be overloaded in settings.
9088c091 87
bb090c53
JK
88%package upstart
89Summary: Upstart job description for Cronie
90Summary(pl.UTF-8): Opis zadania Upstart dla Cronie
91Group: Daemons
92Requires: %{name} = %{version}-%{release}
93Requires: upstart >= 0.6
94
95%description upstart
96Upstart job description for Cronie.
97
98%description upstart -l pl.UTF-8
99Opis zadania Upstart dla Cronie.
100
9088c091
AM
101%prep
102%setup -q
f440f0d0 103%patch0 -p1
9c2aa177 104%patch1 -p1
cb620710 105%patch2 -p1
5c77a7a7 106%patch3 -p1
9088c091
AM
107
108%build
828712ad
ER
109%{__aclocal}
110%{__autoconf}
111%{__autoheader}
112%{__automake}
9088c091 113%configure \
d39ca4fd 114 SYSCRONTAB=/etc/crontab \
695ed2ed 115 SYS_CROND_DIR=/etc/cron.d \
72768a3d 116 --sysconfdir=/etc/cron \
9088c091 117 --with-pam \
45b0067d 118 --with%{!?with_selinux:out}-selinux \
828712ad 119 --with%{!?with_audit:out}-audit \
946518b7 120 --with%{!?with_inotify:out}-inotify \
a66962af 121%if "%{cc_version}" >= "3.4"
5ab1b510 122 --enable-pie \
a66962af 123%endif
5ab1b510 124 --enable-relro \
9088c091
AM
125 --enable-anacron
126
127%{__make}
128
129%install
130rm -rf $RPM_BUILD_ROOT
acc567ec 131install -d $RPM_BUILD_ROOT{/var/{log,spool/{ana,}cron},%{_mandir},%{systemdunitdir}}\
bb090c53 132 $RPM_BUILD_ROOT/etc/{rc.d/init.d,logrotate.d,sysconfig,init} \
9088c091
AM
133 $RPM_BUILD_ROOT%{_sysconfdir}/{cron,cron.{d,hourly,daily,weekly,monthly},pam.d}
134
135%{__make} install \
0d2f2c46 136 pamdir=/etc/pam.d \
9088c091
AM
137 DESTDIR=$RPM_BUILD_ROOT
138
fd39f74d
ER
139install -p %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/crond
140cp -a contrib/0anacron $RPM_BUILD_ROOT/etc/cron.hourly/0anacron
141cp -a %{SOURCE2} $RPM_BUILD_ROOT/etc/logrotate.d/cron
142cp -a %{SOURCE3} $RPM_BUILD_ROOT/etc/sysconfig/cron
143cp -a %{SOURCE4} $RPM_BUILD_ROOT/etc/cron.d/crontab
144cp -a %{SOURCE5} $RPM_BUILD_ROOT/etc/pam.d/crond
bb090c53 145cp -a %{SOURCE6} $RPM_BUILD_ROOT/etc/init/crond.conf
fdd909fe 146cp -a %{SOURCE7} $RPM_BUILD_ROOT%{systemdunitdir}/crond.service
9088c091
AM
147
148touch $RPM_BUILD_ROOT/var/log/cron
149
150cat > $RPM_BUILD_ROOT%{_sysconfdir}/cron/cron.allow << 'EOF'
151# cron.allow This file describes the names of the users which are
152# allowed to use the local cron daemon
153root
154EOF
155
156cat > $RPM_BUILD_ROOT%{_sysconfdir}/cron/cron.deny << 'EOF'
157# cron.deny This file describes the names of the users which are
158# NOT allowed to use the local cron daemon
159EOF
160
161%clean
162rm -rf $RPM_BUILD_ROOT
163
164%pre
165%groupadd -g 117 -r -f crontab
166
167%post
fd39f74d 168if [ ! -f /var/log/cron ]; then
7ff8f944 169 install -m 660 -g crontab /dev/null /var/log/cron
fd39f74d 170fi
9088c091 171/sbin/chkconfig --add crond
9088c091 172%service crond restart "Cron Daemon"
fdd909fe 173%systemd_post crond.service
9088c091
AM
174
175%preun
176if [ "$1" = "0" ]; then
177 %service crond stop
178 /sbin/chkconfig --del crond
179fi
fdd909fe 180%systemd_preun crond.service
9088c091
AM
181
182%postun
183if [ "$1" = "0" ]; then
184 %groupremove crontab
185fi
38b3aba9
JR
186%systemd_reload
187
ac14407c 188%triggerpostun -- cronie < 1.4.8-13
0a59c82c
JR
189if [ -f /etc/sysconfig/cron ]; then
190 . /etc/sysconfig/cron
191 __CROND_ARGS=
192 [ "$CROND_SYSLOG_RESULT" = "yes" ] && __CROND_ARGS="-s"
193 [ -n "$CROND_MAIL_PROG" ] && __CROND_ARGS="$__CROND_ARGS -m $CROND_MAIL_PROG"
ac14407c 194 if [ -n "$__CROND_ARGS" ]; then
8455c8ac 195 %{__cp} -f /etc/sysconfig/cron{,.rpmsave}
ac14407c
JR
196 echo >>/etc/sysconfig/cron
197 echo "# Added by rpm trigger" >>/etc/sysconfig/cron
198 echo "CROND_ARGS=\"$CROND_ARGS $__CROND_ARGS\"" >>/etc/sysconfig/cron
199 fi
0a59c82c 200fi
fdd909fe 201%systemd_trigger crond.service
9088c091 202
dd40ae0a 203%triggerun -- hc-cron,fcron,vixie-cron < 4.3-1
77af6cfd
AM
204# Prevent preun from crond from working
205chmod a-x /etc/rc.d/init.d/crond
206
dd40ae0a 207%triggerpostun -- hc-cron,fcron,vixie-cron < 4.3-1
77af6cfd
AM
208# Restore what triggerun removed
209chmod 754 /etc/rc.d/init.d/crond
8609ee66
ER
210# reinstall crond init.d links, which could be different
211/sbin/chkconfig --del crond
77af6cfd
AM
212/sbin/chkconfig --add crond
213
bb090c53
JK
214%post upstart
215%upstart_post crond
216
217%postun upstart
218%upstart_postun crond
219
9088c091
AM
220%files
221%defattr(644,root,root,755)
222%doc AUTHORS ChangeLog README
223%attr(750,root,crontab) %dir %{_sysconfdir}/cron*
224%attr(640,root,crontab) %config(noreplace,missingok) /etc/cron.d/crontab
225%attr(640,root,crontab) %config(noreplace,missingok) %verify(not md5 mtime size) %{_sysconfdir}/cron/cron.allow
226%attr(640,root,crontab) %config(noreplace,missingok) %verify(not md5 mtime size) %{_sysconfdir}/cron/cron.deny
227%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/cron
228%config(noreplace) %verify(not md5 mtime size) /etc/pam.d/crond
229%attr(754,root,root) /etc/rc.d/init.d/crond
230%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/logrotate.d/cron
cd632288 231%{systemdunitdir}/crond.service
9088c091
AM
232%attr(755,root,root) %{_sbindir}/crond
233%attr(2755,root,crontab) %{_bindir}/crontab
234
235%{_mandir}/man8/crond.8*
236%{_mandir}/man8/cron.8*
237%{_mandir}/man5/crontab.5*
238%{_mandir}/man1/crontab.1*
239
240%attr(1730,root,crontab) /var/spool/cron
241%attr(660,root,crontab) %ghost /var/log/cron
242
243%files anacron
244%defattr(644,root,root,755)
245%attr(755,root,root) %{_sbindir}/anacron
84a870a4 246%attr(755,root,root) %{_sysconfdir}/cron.hourly/0anacron
9088c091
AM
247%{_mandir}/man5/anacrontab.5*
248%{_mandir}/man8/anacron.8*
d07a95b8
AM
249
250%attr(1730,root,crontab) /var/spool/anacron
bb090c53 251
2bd551be 252%if "%{pld_release}" == "th"
bb090c53
JK
253%files upstart
254%defattr(644,root,root,755)
255%config(noreplace) %verify(not md5 mtime size) /etc/init/crond.conf
c69c0f5a 256%endif
This page took 0.181443 seconds and 4 git commands to generate.