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