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