]> git.pld-linux.org Git - packages/cronie.git/blame - cronie.spec
- todo toughts
[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
fd39f74d
ER
20Version: 1.4.2
21Release: 1
22License: MIT and BSD and GPL v2
9088c091 23Group: Daemons
fd39f74d
ER
24Source0: https://fedorahosted.org/releases/c/r/cronie/%{name}-%{version}.tar.gz
25# Source0-md5: 9c7cef09ff9c92a90a314a1e947fae5c
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
9088c091 33URL: https://fedorahosted.org/cronie/
828712ad
ER
34%{?with_audit:BuildRequires: audit-libs-devel}
35BuildRequires: autoconf
36BuildRequires: automake
9088c091
AM
37%{?with_selinux:BuildRequires: libselinux-devel}
38BuildRequires: pam-devel
0d2f2c46 39BuildRequires: rpm >= 4.4.9-56
9088c091
AM
40BuildRequires: rpmbuild(macros) >= 1.268
41Requires(post): fileutils
42Requires(post,preun): /sbin/chkconfig
43Requires(post,preun): rc-scripts
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
50Requires: rc-scripts
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
9088c091
AM
86
87%build
828712ad
ER
88%{__aclocal}
89%{__autoconf}
90%{__autoheader}
91%{__automake}
9088c091 92%configure \
d39ca4fd 93 SYSCRONTAB=/etc/crontab \
695ed2ed 94 SYS_CROND_DIR=/etc/cron.d \
72768a3d 95 --sysconfdir=/etc/cron \
9088c091 96 --with-pam \
45b0067d 97 --with%{!?with_selinux:out}-selinux \
828712ad 98 --with%{!?with_audit:out}-audit \
946518b7 99 --with%{!?with_inotify:out}-inotify \
9088c091
AM
100 --enable-anacron
101
102%{__make}
103
104%install
105rm -rf $RPM_BUILD_ROOT
d07a95b8 106install -d $RPM_BUILD_ROOT{/var/{log,spool/{ana,}cron},%{_mandir}} \
9088c091
AM
107 $RPM_BUILD_ROOT/etc/{rc.d/init.d,logrotate.d,sysconfig} \
108 $RPM_BUILD_ROOT%{_sysconfdir}/{cron,cron.{d,hourly,daily,weekly,monthly},pam.d}
109
110%{__make} install \
0d2f2c46 111 pamdir=/etc/pam.d \
9088c091
AM
112 DESTDIR=$RPM_BUILD_ROOT
113
fd39f74d
ER
114install -p %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/crond
115cp -a contrib/0anacron $RPM_BUILD_ROOT/etc/cron.hourly/0anacron
116cp -a %{SOURCE2} $RPM_BUILD_ROOT/etc/logrotate.d/cron
117cp -a %{SOURCE3} $RPM_BUILD_ROOT/etc/sysconfig/cron
118cp -a %{SOURCE4} $RPM_BUILD_ROOT/etc/cron.d/crontab
119cp -a %{SOURCE5} $RPM_BUILD_ROOT/etc/pam.d/crond
9088c091
AM
120
121touch $RPM_BUILD_ROOT/var/log/cron
122
123cat > $RPM_BUILD_ROOT%{_sysconfdir}/cron/cron.allow << 'EOF'
124# cron.allow This file describes the names of the users which are
125# allowed to use the local cron daemon
126root
127EOF
128
129cat > $RPM_BUILD_ROOT%{_sysconfdir}/cron/cron.deny << 'EOF'
130# cron.deny This file describes the names of the users which are
131# NOT allowed to use the local cron daemon
132EOF
133
134%clean
135rm -rf $RPM_BUILD_ROOT
136
137%pre
138%groupadd -g 117 -r -f crontab
139
140%post
fd39f74d
ER
141if [ ! -f /var/log/cron ]; then
142 umask 027
143 touch /var/log/cron
144 chgrp crontab /var/log/cron
145 chmod 660 /var/log/cron
146fi
9088c091 147/sbin/chkconfig --add crond
9088c091
AM
148%service crond restart "Cron Daemon"
149
150%preun
151if [ "$1" = "0" ]; then
152 %service crond stop
153 /sbin/chkconfig --del crond
154fi
155
156%postun
157if [ "$1" = "0" ]; then
158 %groupremove crontab
159fi
160
161%triggerpostun -- hc-cron
162# reinstall crond init.d links, which could be different
163/sbin/chkconfig --del crond
164/sbin/chkconfig --add crond
165
77af6cfd
AM
166%triggerun -- vixie-cron
167# Prevent preun from crond from working
168chmod a-x /etc/rc.d/init.d/crond
169
170%triggerpostun -- vixie-cron
171# Restore what triggerun removed
172chmod 754 /etc/rc.d/init.d/crond
173/sbin/chkconfig --add crond
174
9088c091
AM
175%files
176%defattr(644,root,root,755)
177%doc AUTHORS ChangeLog README
178%attr(750,root,crontab) %dir %{_sysconfdir}/cron*
179%attr(640,root,crontab) %config(noreplace,missingok) /etc/cron.d/crontab
180%attr(640,root,crontab) %config(noreplace,missingok) %verify(not md5 mtime size) %{_sysconfdir}/cron/cron.allow
181%attr(640,root,crontab) %config(noreplace,missingok) %verify(not md5 mtime size) %{_sysconfdir}/cron/cron.deny
182%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/cron
183%config(noreplace) %verify(not md5 mtime size) /etc/pam.d/crond
184%attr(754,root,root) /etc/rc.d/init.d/crond
185%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/logrotate.d/cron
186%attr(755,root,root) %{_sbindir}/crond
187%attr(2755,root,crontab) %{_bindir}/crontab
188
189%{_mandir}/man8/crond.8*
190%{_mandir}/man8/cron.8*
191%{_mandir}/man5/crontab.5*
192%{_mandir}/man1/crontab.1*
193
194%attr(1730,root,crontab) /var/spool/cron
195%attr(660,root,crontab) %ghost /var/log/cron
196
197%files anacron
198%defattr(644,root,root,755)
199%attr(755,root,root) %{_sbindir}/anacron
84a870a4 200%attr(755,root,root) %{_sysconfdir}/cron.hourly/0anacron
9088c091
AM
201%{_mandir}/man5/anacrontab.5*
202%{_mandir}/man8/anacron.8*
d07a95b8
AM
203
204%attr(1730,root,crontab) /var/spool/anacron
This page took 0.059677 seconds and 4 git commands to generate.