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