- status --pidfile dep in initscript
[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)
38a551b2
ER
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?
9088c091
AM
7#
8# Conditional build:
946518b7 9%bcond_without inotify # without inotify support
0d2f2c46
ER
10%if "%{pld_release}" == "ac"
11%bcond_with selinux # without SELinux support
12%bcond_with audit # without audit support
13%else
14%bcond_without selinux # without SELinux support
828712ad 15%bcond_without audit # without audit support
0d2f2c46
ER
16%endif
17
9088c091
AM
18Summary: Cron daemon for executing programs at set times
19Name: cronie
ee9a7f9a
ER
20Version: 1.4.3
21Release: 1
fd39f74d 22License: MIT and BSD and GPL v2
9088c091 23Group: Daemons
fd39f74d 24Source0: https://fedorahosted.org/releases/c/r/cronie/%{name}-%{version}.tar.gz
ee9a7f9a 25# Source0-md5: 2393b3e5828fc09d9acf04dfd7796ab9
9088c091
AM
26Source1: %{name}.init
27Source2: cron.logrotate
28Source3: cron.sysconfig
29Source4: %{name}.crontab
30Source5: %{name}.pam
f440f0d0 31Patch0: inotify-nosys.patch
9c2aa177 32Patch1: %{name}-nosyscrontab.patch
cb620710 33Patch2: sendmail-path.patch
9088c091 34URL: https://fedorahosted.org/cronie/
828712ad
ER
35%{?with_audit:BuildRequires: audit-libs-devel}
36BuildRequires: autoconf
37BuildRequires: automake
9088c091
AM
38%{?with_selinux:BuildRequires: libselinux-devel}
39BuildRequires: pam-devel
0d2f2c46 40BuildRequires: rpm >= 4.4.9-56
9088c091
AM
41BuildRequires: rpmbuild(macros) >= 1.268
42Requires(post): fileutils
43Requires(post,preun): /sbin/chkconfig
9088c091
AM
44Requires(postun): /usr/sbin/groupdel
45Requires(pre): /usr/bin/getgid
46Requires(pre): /usr/sbin/groupadd
47Requires: /bin/run-parts
48Requires: /sbin/chkconfig
49Requires: psmisc >= 20.1
8f55a4fa 50Requires: rc-scripts >= 0.4.0.19
f440f0d0 51%{?with_inotify:Requires: uname(release) >= 2.6.13}
9088c091
AM
52Provides: crondaemon
53Provides: crontabs = 1.7
54Provides: group(crontab)
0d2f2c46 55%if "%{pld_release}" == "th"
84a870a4 56Provides: vixie-cron = 4:4.4
daf76cdc 57%endif
9088c091
AM
58Obsoletes: crondaemon
59Obsoletes: crontabs
0d2f2c46 60%if "%{pld_release}" == "th"
84a870a4 61Obsoletes: vixie-cron <= 4:4.3
daf76cdc 62%endif
9088c091
AM
63BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
64
65%description
84a870a4
AM
66Cronie contains the standard UNIX daemon crond that runs specified
67programs at scheduled times and related tools. It is based on the
68original cron and has security and configuration enhancements like the
69ability to use pam and SELinux.
9088c091
AM
70
71%package anacron
84a870a4
AM
72Summary: Utility for running regular jobs
73Group: Base
74Provides: anacron = 2.4
75Obsoletes: anacron <= 2.3
9088c091
AM
76
77%description anacron
84a870a4
AM
78Anacron becames part of cronie. Anacron is used only for running
79regular jobs. The default settings execute regular jobs by anacron,
80however this could be overloaded in settings.
9088c091
AM
81
82%prep
83%setup -q
f440f0d0 84%patch0 -p1
9c2aa177 85%patch1 -p1
cb620710 86%patch2 -p1
9088c091
AM
87
88%build
828712ad
ER
89%{__aclocal}
90%{__autoconf}
91%{__autoheader}
92%{__automake}
9088c091 93%configure \
d39ca4fd 94 SYSCRONTAB=/etc/crontab \
695ed2ed 95 SYS_CROND_DIR=/etc/cron.d \
72768a3d 96 --sysconfdir=/etc/cron \
9088c091 97 --with-pam \
45b0067d 98 --with%{!?with_selinux:out}-selinux \
828712ad 99 --with%{!?with_audit:out}-audit \
946518b7 100 --with%{!?with_inotify:out}-inotify \
9088c091
AM
101 --enable-anacron
102
103%{__make}
104
105%install
106rm -rf $RPM_BUILD_ROOT
d07a95b8 107install -d $RPM_BUILD_ROOT{/var/{log,spool/{ana,}cron},%{_mandir}} \
9088c091
AM
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}
110
111%{__make} install \
0d2f2c46 112 pamdir=/etc/pam.d \
9088c091
AM
113 DESTDIR=$RPM_BUILD_ROOT
114
fd39f74d
ER
115install -p %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/crond
116cp -a contrib/0anacron $RPM_BUILD_ROOT/etc/cron.hourly/0anacron
117cp -a %{SOURCE2} $RPM_BUILD_ROOT/etc/logrotate.d/cron
118cp -a %{SOURCE3} $RPM_BUILD_ROOT/etc/sysconfig/cron
119cp -a %{SOURCE4} $RPM_BUILD_ROOT/etc/cron.d/crontab
120cp -a %{SOURCE5} $RPM_BUILD_ROOT/etc/pam.d/crond
9088c091
AM
121
122touch $RPM_BUILD_ROOT/var/log/cron
123
124cat > $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
127root
128EOF
129
130cat > $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
133EOF
134
135%clean
136rm -rf $RPM_BUILD_ROOT
137
138%pre
139%groupadd -g 117 -r -f crontab
140
141%post
fd39f74d
ER
142if [ ! -f /var/log/cron ]; then
143 umask 027
144 touch /var/log/cron
145 chgrp crontab /var/log/cron
146 chmod 660 /var/log/cron
147fi
9088c091 148/sbin/chkconfig --add crond
9088c091
AM
149%service crond restart "Cron Daemon"
150
151%preun
152if [ "$1" = "0" ]; then
153 %service crond stop
154 /sbin/chkconfig --del crond
155fi
156
157%postun
158if [ "$1" = "0" ]; then
159 %groupremove crontab
160fi
161
162%triggerpostun -- hc-cron
163# reinstall crond init.d links, which could be different
164/sbin/chkconfig --del crond
165/sbin/chkconfig --add crond
166
77af6cfd
AM
167%triggerun -- vixie-cron
168# Prevent preun from crond from working
169chmod a-x /etc/rc.d/init.d/crond
170
171%triggerpostun -- vixie-cron
172# Restore what triggerun removed
173chmod 754 /etc/rc.d/init.d/crond
174/sbin/chkconfig --add crond
175
9088c091
AM
176%files
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
189
190%{_mandir}/man8/crond.8*
191%{_mandir}/man8/cron.8*
192%{_mandir}/man5/crontab.5*
193%{_mandir}/man1/crontab.1*
194
195%attr(1730,root,crontab) /var/spool/cron
196%attr(660,root,crontab) %ghost /var/log/cron
197
198%files anacron
199%defattr(644,root,root,755)
200%attr(755,root,root) %{_sbindir}/anacron
84a870a4 201%attr(755,root,root) %{_sysconfdir}/cron.hourly/0anacron
9088c091
AM
202%{_mandir}/man5/anacrontab.5*
203%{_mandir}/man8/anacron.8*
d07a95b8
AM
204
205%attr(1730,root,crontab) /var/spool/anacron
This page took 0.190218 seconds and 4 git commands to generate.