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