]> git.pld-linux.org Git - packages/cronie.git/blame - cronie.spec
- use install(1) to do all in once, but it's racy?
[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
1420eb5f 19Version: 1.4.4
eb28333d 20Release: 3
fd39f74d 21License: MIT and BSD and GPL v2
9088c091 22Group: Daemons
fd39f74d 23Source0: https://fedorahosted.org/releases/c/r/cronie/%{name}-%{version}.tar.gz
1420eb5f 24# Source0-md5: eb9834c5f87cca9efeed68e6fed3fe3d
9088c091
AM
25Source1: %{name}.init
26Source2: cron.logrotate
27Source3: cron.sysconfig
28Source4: %{name}.crontab
29Source5: %{name}.pam
f440f0d0 30Patch0: inotify-nosys.patch
9c2aa177 31Patch1: %{name}-nosyscrontab.patch
cb620710 32Patch2: sendmail-path.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
9088c091
AM
43Requires(postun): /usr/sbin/groupdel
44Requires(pre): /usr/bin/getgid
45Requires(pre): /usr/sbin/groupadd
46Requires: /bin/run-parts
47Requires: /sbin/chkconfig
48Requires: psmisc >= 20.1
8f55a4fa 49Requires: rc-scripts >= 0.4.0.19
f440f0d0 50%{?with_inotify:Requires: uname(release) >= 2.6.13}
9088c091
AM
51Provides: crondaemon
52Provides: crontabs = 1.7
53Provides: group(crontab)
0d2f2c46 54%if "%{pld_release}" == "th"
84a870a4 55Provides: vixie-cron = 4:4.4
daf76cdc 56%endif
9088c091
AM
57Obsoletes: crondaemon
58Obsoletes: crontabs
0d2f2c46 59%if "%{pld_release}" == "th"
84a870a4 60Obsoletes: vixie-cron <= 4:4.3
daf76cdc 61%endif
9088c091
AM
62BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
63
64%description
84a870a4
AM
65Cronie contains the standard UNIX daemon crond that runs specified
66programs at scheduled times and related tools. It is based on the
67original cron and has security and configuration enhancements like the
68ability to use pam and SELinux.
9088c091
AM
69
70%package anacron
84a870a4
AM
71Summary: Utility for running regular jobs
72Group: Base
73Provides: anacron = 2.4
74Obsoletes: anacron <= 2.3
9088c091
AM
75
76%description anacron
84a870a4
AM
77Anacron becames part of cronie. Anacron is used only for running
78regular jobs. The default settings execute regular jobs by anacron,
79however this could be overloaded in settings.
9088c091
AM
80
81%prep
82%setup -q
f440f0d0 83%patch0 -p1
9c2aa177 84%patch1 -p1
cb620710 85%patch2 -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 141if [ ! -f /var/log/cron ]; then
7ff8f944 142 install -m 660 -g crontab /dev/null /var/log/cron
fd39f74d 143fi
9088c091 144/sbin/chkconfig --add crond
9088c091
AM
145%service crond restart "Cron Daemon"
146
147%preun
148if [ "$1" = "0" ]; then
149 %service crond stop
150 /sbin/chkconfig --del crond
151fi
152
153%postun
154if [ "$1" = "0" ]; then
155 %groupremove crontab
156fi
157
8609ee66 158%triggerun -- hc-cron,fcron,vixie-cron
77af6cfd
AM
159# Prevent preun from crond from working
160chmod a-x /etc/rc.d/init.d/crond
161
8609ee66 162%triggerpostun -- hc-cron,fcron,vixie-cron
77af6cfd
AM
163# Restore what triggerun removed
164chmod 754 /etc/rc.d/init.d/crond
8609ee66
ER
165# reinstall crond init.d links, which could be different
166/sbin/chkconfig --del crond
77af6cfd
AM
167/sbin/chkconfig --add crond
168
9088c091
AM
169%files
170%defattr(644,root,root,755)
171%doc AUTHORS ChangeLog README
172%attr(750,root,crontab) %dir %{_sysconfdir}/cron*
173%attr(640,root,crontab) %config(noreplace,missingok) /etc/cron.d/crontab
174%attr(640,root,crontab) %config(noreplace,missingok) %verify(not md5 mtime size) %{_sysconfdir}/cron/cron.allow
175%attr(640,root,crontab) %config(noreplace,missingok) %verify(not md5 mtime size) %{_sysconfdir}/cron/cron.deny
176%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/cron
177%config(noreplace) %verify(not md5 mtime size) /etc/pam.d/crond
178%attr(754,root,root) /etc/rc.d/init.d/crond
179%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/logrotate.d/cron
180%attr(755,root,root) %{_sbindir}/crond
181%attr(2755,root,crontab) %{_bindir}/crontab
182
183%{_mandir}/man8/crond.8*
184%{_mandir}/man8/cron.8*
185%{_mandir}/man5/crontab.5*
186%{_mandir}/man1/crontab.1*
187
188%attr(1730,root,crontab) /var/spool/cron
189%attr(660,root,crontab) %ghost /var/log/cron
190
191%files anacron
192%defattr(644,root,root,755)
193%attr(755,root,root) %{_sbindir}/anacron
84a870a4 194%attr(755,root,root) %{_sysconfdir}/cron.hourly/0anacron
9088c091
AM
195%{_mandir}/man5/anacrontab.5*
196%{_mandir}/man8/anacron.8*
d07a95b8
AM
197
198%attr(1730,root,crontab) /var/spool/anacron
This page took 0.072302 seconds and 4 git commands to generate.