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