]> git.pld-linux.org Git - packages/cronie.git/blob - cronie.spec
- rel 7; no /etc/crontab processing
[packages/cronie.git] / cronie.spec
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)
4 #
5 # Conditional build:
6 %bcond_without  inotify         # without inotify support
7 %if "%{pld_release}" == "ac"
8 %bcond_with             selinux         # without SELinux support
9 %bcond_with             audit           # without audit support
10 %else
11 %bcond_without  selinux         # without SELinux support
12 %bcond_without  audit           # without audit support
13 %endif
14
15 Summary:        Cron daemon for executing programs at set times
16 Name:           cronie
17 Version:        1.4.1
18 Release:        7
19 License:        MIT and BSD and GPLv2
20 Group:          Daemons
21 Source0:        %{name}-%{version}.tar.gz
22 # Source0-md5:  9c089d2035b9fa8263bc71da3eb31cdd
23 Source1:        %{name}.init
24 Source2:        cron.logrotate
25 Source3:        cron.sysconfig
26 Source4:        %{name}.crontab
27 Source5:        %{name}.pam
28 Patch0:         inotify-nosys.patch
29 Patch1:         %{name}-nosyscrontab.patch
30 URL:            https://fedorahosted.org/cronie/
31 %{?with_audit:BuildRequires:    audit-libs-devel}
32 BuildRequires:  autoconf
33 BuildRequires:  automake
34 %{?with_selinux:BuildRequires:  libselinux-devel}
35 BuildRequires:  pam-devel
36 BuildRequires:  rpm >= 4.4.9-56
37 BuildRequires:  rpmbuild(macros) >= 1.268
38 Requires(post): fileutils
39 Requires(post,preun):   /sbin/chkconfig
40 Requires(post,preun):   rc-scripts
41 Requires(postun):       /usr/sbin/groupdel
42 Requires(pre):  /usr/bin/getgid
43 Requires(pre):  /usr/sbin/groupadd
44 Requires:       /bin/run-parts
45 Requires:       /sbin/chkconfig
46 Requires:       psmisc >= 20.1
47 Requires:       rc-scripts
48 %{?with_inotify:Requires:       uname(release) >= 2.6.13}
49 Provides:       crondaemon
50 Provides:       crontabs = 1.7
51 Provides:       group(crontab)
52 %if "%{pld_release}" == "th"
53 Provides:       vixie-cron = 4:4.4
54 %endif
55 Obsoletes:      crondaemon
56 Obsoletes:      crontabs
57 %if "%{pld_release}" == "th"
58 Obsoletes:      vixie-cron <= 4:4.3
59 %endif
60 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
61
62 %description
63 Cronie contains the standard UNIX daemon crond that runs specified
64 programs at scheduled times and related tools. It is based on the
65 original cron and has security and configuration enhancements like the
66 ability to use pam and SELinux.
67
68 %package anacron
69 Summary:        Utility for running regular jobs
70 Group:          Base
71 Provides:       anacron = 2.4
72 Obsoletes:      anacron <= 2.3
73
74 %description anacron
75 Anacron becames part of cronie. Anacron is used only for running
76 regular jobs. The default settings execute regular jobs by anacron,
77 however this could be overloaded in settings.
78
79 %prep
80 %setup -q
81 %patch0 -p1
82 %patch1 -p1
83
84 %build
85 %{__aclocal}
86 %{__autoconf}
87 %{__autoheader}
88 %{__automake}
89 %configure \
90         SYSCRONTAB=/etc/crontab \
91         SYS_CROND_DIR=/etc/cron.d \
92         --sysconfdir=/etc/cron \
93         --with-pam \
94         --with%{!?with_selinux:out}-selinux \
95         --with%{!?with_audit:out}-audit \
96         --with%{!?with_inotify:out}-inotify \
97         --enable-anacron
98
99 %{__make}
100
101 %install
102 rm -rf $RPM_BUILD_ROOT
103 install -d $RPM_BUILD_ROOT{/var/{log,spool/{ana,}cron},%{_mandir}} \
104         $RPM_BUILD_ROOT/etc/{rc.d/init.d,logrotate.d,sysconfig} \
105         $RPM_BUILD_ROOT%{_sysconfdir}/{cron,cron.{d,hourly,daily,weekly,monthly},pam.d}
106
107 %{__make} install \
108         pamdir=/etc/pam.d \
109         DESTDIR=$RPM_BUILD_ROOT
110
111 install contrib/0anacron $RPM_BUILD_ROOT/etc/cron.hourly/0anacron
112 install %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/crond
113 install %{SOURCE2} $RPM_BUILD_ROOT/etc/logrotate.d/cron
114 install %{SOURCE3} $RPM_BUILD_ROOT/etc/sysconfig/cron
115 install %{SOURCE4} $RPM_BUILD_ROOT/etc/cron.d/crontab
116 install %{SOURCE5} $RPM_BUILD_ROOT/etc/pam.d/crond
117
118 for a in fi fr id ja ko pl; do
119         if test -f $a/man1/crontab.1; then
120                 install -d $RPM_BUILD_ROOT%{_mandir}/$a/man1
121                 install $a/man1/crontab.1 $RPM_BUILD_ROOT%{_mandir}/$a/man1
122         fi
123         if test -f $a/man5/crontab.5; then
124                 install -d $RPM_BUILD_ROOT%{_mandir}/$a/man5
125                 install $a/man5/crontab.5 $RPM_BUILD_ROOT%{_mandir}/$a/man5
126         fi
127         if test -f $a/man8/cron.8; then
128                 install -d $RPM_BUILD_ROOT%{_mandir}/$a/man8
129                 install $a/man8/cron.8 $RPM_BUILD_ROOT%{_mandir}/$a/man8
130         fi
131 done
132
133 touch $RPM_BUILD_ROOT/var/log/cron
134
135 cat > $RPM_BUILD_ROOT%{_sysconfdir}/cron/cron.allow << 'EOF'
136 # cron.allow    This file describes the names of the users which are
137 #               allowed to use the local cron daemon
138 root
139 EOF
140
141 cat > $RPM_BUILD_ROOT%{_sysconfdir}/cron/cron.deny << 'EOF'
142 # cron.deny     This file describes the names of the users which are
143 #               NOT allowed to use the local cron daemon
144 EOF
145
146 %clean
147 rm -rf $RPM_BUILD_ROOT
148
149 %pre
150 %groupadd -g 117 -r -f crontab
151
152 %post
153 /sbin/chkconfig --add crond
154 umask 027
155 touch /var/log/cron
156 chgrp crontab /var/log/cron
157 chmod 660 /var/log/cron
158 %service crond restart "Cron Daemon"
159
160 %preun
161 if [ "$1" = "0" ]; then
162         %service crond stop
163         /sbin/chkconfig --del crond
164 fi
165
166 %postun
167 if [ "$1" = "0" ]; then
168         %groupremove crontab
169 fi
170
171 %triggerpostun -- hc-cron
172 # reinstall crond init.d links, which could be different
173 /sbin/chkconfig --del crond
174 /sbin/chkconfig --add crond
175
176 %triggerun -- vixie-cron
177 # Prevent preun from crond from working
178 chmod a-x /etc/rc.d/init.d/crond
179
180 %triggerpostun -- vixie-cron
181 # Restore what triggerun removed
182 chmod 754 /etc/rc.d/init.d/crond
183 /sbin/chkconfig --add crond
184
185 %files
186 %defattr(644,root,root,755)
187 %doc AUTHORS ChangeLog README
188 %attr(750,root,crontab) %dir %{_sysconfdir}/cron*
189 %attr(640,root,crontab) %config(noreplace,missingok) /etc/cron.d/crontab
190 %attr(640,root,crontab) %config(noreplace,missingok) %verify(not md5 mtime size) %{_sysconfdir}/cron/cron.allow
191 %attr(640,root,crontab) %config(noreplace,missingok) %verify(not md5 mtime size) %{_sysconfdir}/cron/cron.deny
192 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/cron
193 %config(noreplace) %verify(not md5 mtime size) /etc/pam.d/crond
194 %attr(754,root,root) /etc/rc.d/init.d/crond
195 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/logrotate.d/cron
196 %attr(755,root,root) %{_sbindir}/crond
197 %attr(2755,root,crontab) %{_bindir}/crontab
198
199 %{_mandir}/man8/crond.8*
200 %{_mandir}/man8/cron.8*
201 %{_mandir}/man5/crontab.5*
202 %{_mandir}/man1/crontab.1*
203
204 %attr(1730,root,crontab) /var/spool/cron
205 %attr(660,root,crontab) %ghost /var/log/cron
206
207 %files anacron
208 %defattr(644,root,root,755)
209 %attr(755,root,root) %{_sbindir}/anacron
210 %attr(755,root,root) %{_sysconfdir}/cron.hourly/0anacron
211 %{_mandir}/man5/anacrontab.5*
212 %{_mandir}/man8/anacron.8*
213
214 %attr(1730,root,crontab) /var/spool/anacron
This page took 0.08829 seconds and 4 git commands to generate.