]> git.pld-linux.org Git - packages/cronie.git/blob - cronie.spec
- syslog output broken
[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.4
20 Release:        3
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:  eb9834c5f87cca9efeed68e6fed3fe3d
25 Source1:        %{name}.init
26 Source2:        cron.logrotate
27 Source3:        cron.sysconfig
28 Source4:        %{name}.crontab
29 Source5:        %{name}.pam
30 Patch0:         inotify-nosys.patch
31 Patch1:         %{name}-nosyscrontab.patch
32 Patch2:         sendmail-path.patch
33 URL:            https://fedorahosted.org/cronie/
34 %{?with_audit:BuildRequires:    audit-libs-devel}
35 BuildRequires:  autoconf
36 BuildRequires:  automake
37 %{?with_selinux:BuildRequires:  libselinux-devel}
38 BuildRequires:  pam-devel
39 BuildRequires:  rpm >= 4.4.9-56
40 BuildRequires:  rpmbuild(macros) >= 1.268
41 Requires(post): fileutils
42 Requires(post,preun):   /sbin/chkconfig
43 Requires(postun):       /usr/sbin/groupdel
44 Requires(pre):  /usr/bin/getgid
45 Requires(pre):  /usr/sbin/groupadd
46 Requires:       /bin/run-parts
47 Requires:       /sbin/chkconfig
48 Requires:       psmisc >= 20.1
49 Requires:       rc-scripts >= 0.4.0.19
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.4
56 %endif
57 Obsoletes:      crondaemon
58 Obsoletes:      crontabs
59 %if "%{pld_release}" == "th"
60 Obsoletes:      vixie-cron <= 4:4.3
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 %prep
82 %setup -q
83 %patch0 -p1
84 %patch1 -p1
85 %patch2 -p1
86
87 %build
88 %{__aclocal}
89 %{__autoconf}
90 %{__autoheader}
91 %{__automake}
92 %configure \
93         SYSCRONTAB=/etc/crontab \
94         SYS_CROND_DIR=/etc/cron.d \
95         --sysconfdir=/etc/cron \
96         --with-pam \
97         --with%{!?with_selinux:out}-selinux \
98         --with%{!?with_audit:out}-audit \
99         --with%{!?with_inotify:out}-inotify \
100         --enable-anacron
101
102 %{__make}
103
104 %install
105 rm -rf $RPM_BUILD_ROOT
106 install -d $RPM_BUILD_ROOT{/var/{log,spool/{ana,}cron},%{_mandir}} \
107         $RPM_BUILD_ROOT/etc/{rc.d/init.d,logrotate.d,sysconfig} \
108         $RPM_BUILD_ROOT%{_sysconfdir}/{cron,cron.{d,hourly,daily,weekly,monthly},pam.d}
109
110 %{__make} install \
111         pamdir=/etc/pam.d \
112         DESTDIR=$RPM_BUILD_ROOT
113
114 install -p %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/crond
115 cp -a contrib/0anacron $RPM_BUILD_ROOT/etc/cron.hourly/0anacron
116 cp -a %{SOURCE2} $RPM_BUILD_ROOT/etc/logrotate.d/cron
117 cp -a %{SOURCE3} $RPM_BUILD_ROOT/etc/sysconfig/cron
118 cp -a %{SOURCE4} $RPM_BUILD_ROOT/etc/cron.d/crontab
119 cp -a %{SOURCE5} $RPM_BUILD_ROOT/etc/pam.d/crond
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 if [ ! -f /var/log/cron ]; then
142         umask 027
143         touch /var/log/cron
144         chgrp crontab /var/log/cron
145         chmod 660 /var/log/cron
146 fi
147 /sbin/chkconfig --add crond
148 %service crond restart "Cron Daemon"
149
150 %preun
151 if [ "$1" = "0" ]; then
152         %service crond stop
153         /sbin/chkconfig --del crond
154 fi
155
156 %postun
157 if [ "$1" = "0" ]; then
158         %groupremove crontab
159 fi
160
161 %triggerun -- hc-cron,fcron,vixie-cron
162 # Prevent preun from crond from working
163 chmod a-x /etc/rc.d/init.d/crond
164
165 %triggerpostun -- hc-cron,fcron,vixie-cron
166 # Restore what triggerun removed
167 chmod 754 /etc/rc.d/init.d/crond
168 # reinstall crond init.d links, which could be different
169 /sbin/chkconfig --del crond
170 /sbin/chkconfig --add crond
171
172 %files
173 %defattr(644,root,root,755)
174 %doc AUTHORS ChangeLog README
175 %attr(750,root,crontab) %dir %{_sysconfdir}/cron*
176 %attr(640,root,crontab) %config(noreplace,missingok) /etc/cron.d/crontab
177 %attr(640,root,crontab) %config(noreplace,missingok) %verify(not md5 mtime size) %{_sysconfdir}/cron/cron.allow
178 %attr(640,root,crontab) %config(noreplace,missingok) %verify(not md5 mtime size) %{_sysconfdir}/cron/cron.deny
179 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/cron
180 %config(noreplace) %verify(not md5 mtime size) /etc/pam.d/crond
181 %attr(754,root,root) /etc/rc.d/init.d/crond
182 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/logrotate.d/cron
183 %attr(755,root,root) %{_sbindir}/crond
184 %attr(2755,root,crontab) %{_bindir}/crontab
185
186 %{_mandir}/man8/crond.8*
187 %{_mandir}/man8/cron.8*
188 %{_mandir}/man5/crontab.5*
189 %{_mandir}/man1/crontab.1*
190
191 %attr(1730,root,crontab) /var/spool/cron
192 %attr(660,root,crontab) %ghost /var/log/cron
193
194 %files anacron
195 %defattr(644,root,root,755)
196 %attr(755,root,root) %{_sbindir}/anacron
197 %attr(755,root,root) %{_sysconfdir}/cron.hourly/0anacron
198 %{_mandir}/man5/anacrontab.5*
199 %{_mandir}/man8/anacron.8*
200
201 %attr(1730,root,crontab) /var/spool/anacron
This page took 0.062696 seconds and 4 git commands to generate.