]> git.pld-linux.org Git - packages/cronie.git/blame - cronie.spec
- cronie.init: When parent crond is stopped and child crond
[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
44Requires(post,preun): rc-scripts
45Requires(postun): /usr/sbin/groupdel
46Requires(pre): /usr/bin/getgid
47Requires(pre): /usr/sbin/groupadd
48Requires: /bin/run-parts
49Requires: /sbin/chkconfig
50Requires: psmisc >= 20.1
51Requires: rc-scripts
f440f0d0 52%{?with_inotify:Requires: uname(release) >= 2.6.13}
9088c091
AM
53Provides: crondaemon
54Provides: crontabs = 1.7
55Provides: group(crontab)
0d2f2c46 56%if "%{pld_release}" == "th"
84a870a4 57Provides: vixie-cron = 4:4.4
daf76cdc 58%endif
9088c091
AM
59Obsoletes: crondaemon
60Obsoletes: crontabs
0d2f2c46 61%if "%{pld_release}" == "th"
84a870a4 62Obsoletes: vixie-cron <= 4:4.3
daf76cdc 63%endif
9088c091
AM
64BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
65
66%description
84a870a4
AM
67Cronie contains the standard UNIX daemon crond that runs specified
68programs at scheduled times and related tools. It is based on the
69original cron and has security and configuration enhancements like the
70ability to use pam and SELinux.
9088c091
AM
71
72%package anacron
84a870a4
AM
73Summary: Utility for running regular jobs
74Group: Base
75Provides: anacron = 2.4
76Obsoletes: anacron <= 2.3
9088c091
AM
77
78%description anacron
84a870a4
AM
79Anacron becames part of cronie. Anacron is used only for running
80regular jobs. The default settings execute regular jobs by anacron,
81however this could be overloaded in settings.
9088c091
AM
82
83%prep
84%setup -q
f440f0d0 85%patch0 -p1
9c2aa177 86%patch1 -p1
cb620710 87%patch2 -p1
9088c091
AM
88
89%build
828712ad
ER
90%{__aclocal}
91%{__autoconf}
92%{__autoheader}
93%{__automake}
9088c091 94%configure \
d39ca4fd 95 SYSCRONTAB=/etc/crontab \
695ed2ed 96 SYS_CROND_DIR=/etc/cron.d \
72768a3d 97 --sysconfdir=/etc/cron \
9088c091 98 --with-pam \
45b0067d 99 --with%{!?with_selinux:out}-selinux \
828712ad 100 --with%{!?with_audit:out}-audit \
946518b7 101 --with%{!?with_inotify:out}-inotify \
9088c091
AM
102 --enable-anacron
103
104%{__make}
105
106%install
107rm -rf $RPM_BUILD_ROOT
d07a95b8 108install -d $RPM_BUILD_ROOT{/var/{log,spool/{ana,}cron},%{_mandir}} \
9088c091
AM
109 $RPM_BUILD_ROOT/etc/{rc.d/init.d,logrotate.d,sysconfig} \
110 $RPM_BUILD_ROOT%{_sysconfdir}/{cron,cron.{d,hourly,daily,weekly,monthly},pam.d}
111
112%{__make} install \
0d2f2c46 113 pamdir=/etc/pam.d \
9088c091
AM
114 DESTDIR=$RPM_BUILD_ROOT
115
fd39f74d
ER
116install -p %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/crond
117cp -a contrib/0anacron $RPM_BUILD_ROOT/etc/cron.hourly/0anacron
118cp -a %{SOURCE2} $RPM_BUILD_ROOT/etc/logrotate.d/cron
119cp -a %{SOURCE3} $RPM_BUILD_ROOT/etc/sysconfig/cron
120cp -a %{SOURCE4} $RPM_BUILD_ROOT/etc/cron.d/crontab
121cp -a %{SOURCE5} $RPM_BUILD_ROOT/etc/pam.d/crond
9088c091
AM
122
123touch $RPM_BUILD_ROOT/var/log/cron
124
125cat > $RPM_BUILD_ROOT%{_sysconfdir}/cron/cron.allow << 'EOF'
126# cron.allow This file describes the names of the users which are
127# allowed to use the local cron daemon
128root
129EOF
130
131cat > $RPM_BUILD_ROOT%{_sysconfdir}/cron/cron.deny << 'EOF'
132# cron.deny This file describes the names of the users which are
133# NOT allowed to use the local cron daemon
134EOF
135
136%clean
137rm -rf $RPM_BUILD_ROOT
138
139%pre
140%groupadd -g 117 -r -f crontab
141
142%post
fd39f74d
ER
143if [ ! -f /var/log/cron ]; then
144 umask 027
145 touch /var/log/cron
146 chgrp crontab /var/log/cron
147 chmod 660 /var/log/cron
148fi
9088c091 149/sbin/chkconfig --add crond
9088c091
AM
150%service crond restart "Cron Daemon"
151
152%preun
153if [ "$1" = "0" ]; then
154 %service crond stop
155 /sbin/chkconfig --del crond
156fi
157
158%postun
159if [ "$1" = "0" ]; then
160 %groupremove crontab
161fi
162
163%triggerpostun -- hc-cron
164# reinstall crond init.d links, which could be different
165/sbin/chkconfig --del crond
166/sbin/chkconfig --add crond
167
77af6cfd
AM
168%triggerun -- vixie-cron
169# Prevent preun from crond from working
170chmod a-x /etc/rc.d/init.d/crond
171
172%triggerpostun -- vixie-cron
173# Restore what triggerun removed
174chmod 754 /etc/rc.d/init.d/crond
175/sbin/chkconfig --add crond
176
9088c091
AM
177%files
178%defattr(644,root,root,755)
179%doc AUTHORS ChangeLog README
180%attr(750,root,crontab) %dir %{_sysconfdir}/cron*
181%attr(640,root,crontab) %config(noreplace,missingok) /etc/cron.d/crontab
182%attr(640,root,crontab) %config(noreplace,missingok) %verify(not md5 mtime size) %{_sysconfdir}/cron/cron.allow
183%attr(640,root,crontab) %config(noreplace,missingok) %verify(not md5 mtime size) %{_sysconfdir}/cron/cron.deny
184%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/cron
185%config(noreplace) %verify(not md5 mtime size) /etc/pam.d/crond
186%attr(754,root,root) /etc/rc.d/init.d/crond
187%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/logrotate.d/cron
188%attr(755,root,root) %{_sbindir}/crond
189%attr(2755,root,crontab) %{_bindir}/crontab
190
191%{_mandir}/man8/crond.8*
192%{_mandir}/man8/cron.8*
193%{_mandir}/man5/crontab.5*
194%{_mandir}/man1/crontab.1*
195
196%attr(1730,root,crontab) /var/spool/cron
197%attr(660,root,crontab) %ghost /var/log/cron
198
199%files anacron
200%defattr(644,root,root,755)
201%attr(755,root,root) %{_sbindir}/anacron
84a870a4 202%attr(755,root,root) %{_sysconfdir}/cron.hourly/0anacron
9088c091
AM
203%{_mandir}/man5/anacrontab.5*
204%{_mandir}/man8/anacron.8*
d07a95b8
AM
205
206%attr(1730,root,crontab) /var/spool/anacron
This page took 0.062797 seconds and 4 git commands to generate.