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