1 Summary: A periodical command scheduler which aims at replacing Vixie Cron
2 Summary(pl): Serwer okresowego uruchamiania poleceñ zastêpuj±cy Vixie Crona
8 Source0: http://fcron.free.fr/archives/%{name}-%{version}.src.tar.gz
9 # Source0-md5: 55e92f8536c8b52c9b73b96a6a3e0fe3
11 Source2: cron.logrotate
12 Source3: cron.sysconfig
13 Source4: %{name}.crontab
16 Source7: %{name}tab.pam
17 Source8: %{name}.systab
18 Patch0: %{name}-mail_output_only_if_there_is_output.patch
19 Patch1: %{name}-configure.patch
20 URL: http://fcron.free.fr/
21 BuildRequires: autoconf
22 BuildRequires: automake
23 BuildRequires: libselinux-devel
24 BuildRequires: pam-devel
25 BuildRequires: rpmbuild(macros) >= 1.268
26 Requires(post): fileutils
27 Requires(post,preun): /sbin/chkconfig
28 Requires(postun): /usr/sbin/groupdel
29 Requires(pre): /bin/id
30 Requires(pre): /usr/bin/getgid
31 Requires(pre): /usr/sbin/groupadd
32 Requires(pre): /usr/sbin/useradd
33 Requires: /bin/run-parts
34 Requires: psmisc >= 20.1
37 Provides: crontabs >= 1.7
38 Provides: group(crontab)
43 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
46 Fcron is a periodical command scheduler which aims at replacing Vixie
47 Cron, so it implements most of its functionalities. But fcron does not
48 assume that your system is running neither all the time nor regularly:
49 you can, for instance, tell fcron to execute tasks every x hours y
50 minutes of system up time or to do a job only once in a specified
51 interval of time. You can also set a nice value to a job, run it
52 depending on the system load average and much more !
55 Fcron jest serwerem okresowego uruchamiania poleceñ maj±cym za cel
56 zast±pienie Vixie Crona, posiadaj±cym zaimplementowane wiêkszo¶æ
57 spo¶ród jego funkcji. Jednak¿e fcron nie zak³ada, ¿e system dzia³a
58 ca³y czas, ani ¿e jest uruchamiany regularnie: mo¿na, na przyk³ad,
59 kazaæ fcronowi uruchamiaæ zadanie co ka¿de x godzin y minut od
60 uruchomienia systemu lub wykonywaæ zadanie dok³adnie raz w podanym
61 okresie czasu. Umo¿liwia równie¿ ustawianie warto¶ci nice dla zadania,
62 uruchamianie go w zale¿no¶ci od obci±¿enia systemu i du¿o wiêcej.
73 --with-sendmail=/usr/sbin/sendmail \
74 --with-sysfcrontab=systab \
75 --with-spooldir=%{_var}/spool/cron \
76 --with-run-non-privileged=no \
77 --with-boot-install=no \
79 --with-username=crontab \
80 --with-groupname=crontab \
83 --with-boot-install=no
85 %{__make} OPTION="%{rpmcflags}"
87 echo "#!/bin/sh" > script/user-group
90 rm -rf $RPM_BUILD_ROOT
91 install -d $RPM_BUILD_ROOT{/var/{log,spool/cron},%{_mandir}} \
92 $RPM_BUILD_ROOT/etc/{rc.d/init.d,logrotate.d,sysconfig} \
93 $RPM_BUILD_ROOT%{_sysconfdir}/{cron,cron.{d,hourly,daily,weekly,monthly},pam.d}
96 DESTDIR=$RPM_BUILD_ROOT \
97 DESTSBIN=$RPM_BUILD_ROOT%{_sbindir} \
98 DESTBIN=$RPM_BUILD_ROOT%{_bindir} \
99 DESTMAN=$RPM_BUILD_ROOT%{_mandir} \
105 #fix premission for rpmbuild
106 chmod +rw $RPM_BUILD_ROOT%{_prefix}/*bin/*
108 ln -sf %{_bindir}/fcrontab $RPM_BUILD_ROOT%{_bindir}/crontab
109 mv -f $RPM_BUILD_ROOT%{_sbindir}/fcron $RPM_BUILD_ROOT%{_sbindir}/crond
111 install %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/crond
112 install %{SOURCE2} $RPM_BUILD_ROOT/etc/logrotate.d/cron
113 install %{SOURCE3} $RPM_BUILD_ROOT/etc/sysconfig/cron
114 install %{SOURCE4} $RPM_BUILD_ROOT/etc/cron.d/crontab
115 install %{SOURCE5} $RPM_BUILD_ROOT/etc/pam.d/fcron
116 install %{SOURCE6} $RPM_BUILD_ROOT%{_sysconfdir}/fcron.conf
117 install %{SOURCE7} $RPM_BUILD_ROOT/etc/pam.d/fcrontab
118 install %{SOURCE8} $RPM_BUILD_ROOT/etc/cron.hourly/fcron.systab
120 touch $RPM_BUILD_ROOT/var/log/cron
122 cat > $RPM_BUILD_ROOT%{_sysconfdir}/cron/cron.allow << EOF
123 # cron.allow This file describes the names of the users which are
124 # allowed to use the local cron daemon
128 cat > $RPM_BUILD_ROOT%{_sysconfdir}/cron/cron.deny << EOF2
129 # cron.deny This file describes the names of the users which are
130 # NOT allowed to use the local cron daemon
134 rm -rf $RPM_BUILD_ROOT
137 %groupadd -g 117 -r -f crontab
138 %useradd -u 134 -r -d /var/spool/cron -s /bin/false -c "crontab User" -g crontab crontab
141 if [ "$1" = "1" ]; then
142 if [ -d /var/spool/cron ]; then
143 FIND=`find /var/spool/cron -type f`
144 for FILE in $FIND; do
145 mv -f $FILE $FILE.orig
146 USER=`basename $FILE`
147 chown crontab:crontab $FILE.orig
149 (test ! -z "$USER" && fcrontab -u $USER -z) > /dev/null 2>&1
151 if [ -f /var/spool/cron/root.orig ]; then
152 chmod 600 /var/spool/cron/root.orig
153 chown root:root /var/spool/cron/root.orig
158 if [ "$1" = "2" ]; then
159 FIND=`find /var/spool/cron -name \*.orig`
160 for FILE in $FIND; do
161 BASENAME=`basename $FILE`
162 USER=`echo "$BASENAME"| sed 's/.orig//'`
163 [ ! -z "$USER" ] && fcrontab -u $USER -z > /dev/null 2>&1
167 /sbin/chkconfig --add crond
168 %service crond restart "cron daemon"
172 chgrp crontab /var/log/cron
173 chmod 660 /var/log/cron
176 if [ "$1" = "0" ]; then
178 /sbin/chkconfig --del crond
180 rm -f /var/spool/cron/systab*
182 FIND=`find /var/spool/cron -name '*.orig'`
183 for FILE in $FIND; do
184 BASENAME=`basename $FILE`
185 USER="${BASENAME%.orig}"
186 mv -f $FILE /var/spool/cron/$USER >/dev/null 2>&1
187 chown $USER:crontab /var/spool/cron/$USER >/dev/null 2>&1
188 chmod 600 /var/spool/cron/$USER >/dev/null 2>&1
190 rm -f /var/spool/cron/rm\.*
191 rm -f /var/spool/cron/fcrontab.sig
192 rm -f /var/spool/cron/new\.*
196 if [ "$1" = "0" ]; then
201 %triggerpostun -- vixie-cron <= 3.0.1-85
202 for i in `/bin/ls /var/spool/cron 2>/dev/null`
204 chown ${i} /var/spool/cron/${i} 2>/dev/null || :
206 /bin/chmod 660 /var/log/cron
207 /bin/chgrp crontab /var/log/cron
208 /bin/chmod 640 /etc/cron/cron.*
209 /bin/chgrp crontab /etc/cron/cron.*
211 %triggerpostun -- vixie-cron <= 3.0.1-73
212 if [ -f /etc/cron.d/cron.allow.rpmsave ]; then
213 mv -f /etc/cron.d/cron.allow.rpmsave /etc/cron/cron.allow
215 if [ -f /etc/cron.d/cron.allow ]; then
216 mv -f /etc/cron.d/cron.allow /etc/cron/cron.allow
218 if [ -f /etc/cron.d/cron.deny.rpmsave ]; then
219 mv -f /etc/cron.d/cron.deny.rpmsave /etc/cron/cron.deny
221 if [ -f /etc/cron.d/cron.deny ]; then
222 mv -f /etc/cron.d/cron.deny /etc/cron/cron.deny
225 %triggerpostun -- vixie-cron <= 3.0.1-70
226 if [ -f /etc/cron.allow ]; then
227 mv -f /etc/cron.allow /etc/cron/cron.allow
229 if [ -f /etc/cron.deny ]; then
230 mv -f /etc/cron.deny /etc/cron/cron.deny
233 %triggerpostun -- hc-cron
234 /sbin/chkconfig --del crond
235 /sbin/chkconfig --add crond
237 %triggerpostun -- hc-cron <= 0.14-12
238 for i in `/bin/ls /var/spool/cron 2>/dev/null`; do
239 chown ${i} /var/spool/cron/${i} 2>/dev/null || :
241 /bin/chmod 660 /var/log/cron
242 /bin/chgrp crontab /var/log/cron
243 /bin/chmod 640 /etc/cron/cron.*
244 /bin/chgrp crontab /etc/cron/cron.*
247 %defattr(644,root,root,755)
248 %doc doc/HTML doc/olddoc/{FAQ,CHANGES,README,THANKS,TODO}
249 %attr(750,root,crontab) %dir %{_sysconfdir}/cron*
250 %attr(750,root,root) %{_sysconfdir}/cron.hourly/%{name}.systab
251 %attr(640,root,crontab) %config(noreplace) /etc/cron.d/crontab
252 %attr(640,root,crontab) %config(noreplace,missingok) %verify(not md5 mtime size) %{_sysconfdir}/cron/cron.allow
253 %attr(640,root,crontab) %config(noreplace,missingok) %verify(not md5 mtime size) %{_sysconfdir}/cron/cron.deny
254 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/cron
255 %attr(644,root,crontab) %config(noreplace) %verify(not md5 mtime size) /etc/pam.d/fcron
256 %attr(644,root,crontab) %config(noreplace) %verify(not md5 mtime size) /etc/pam.d/fcrontab
257 %attr(754,root,root) /etc/rc.d/init.d/crond
258 %config(noreplace) %verify(not md5 mtime size) %attr(640,root,root) /etc/logrotate.d/cron
259 %attr(640,root,crontab) %config(noreplace) %{_sysconfdir}/fcron.conf
260 %attr(755,root,root) %{_sbindir}/crond
261 %attr(6111,crontab,crontab) %{_bindir}/fcrontab
262 %attr(6111,crontab,crontab) %{_bindir}/crontab
263 %attr(4711,root,root) %{_bindir}/fcronsighup
264 %attr(6111,crontab,crontab) %{_bindir}/fcrondyn
265 %{_mandir}/man1/fcrondyn.1.*
266 %{_mandir}/man1/fcrontab.1.*
267 %{_mandir}/man5/fcron.conf.5*
268 %{_mandir}/man5/fcrontab.5*
269 %{_mandir}/man8/fcron.8*
270 %attr(1730,root,crontab) /var/spool/cron
271 %attr(660,root,crontab) %ghost /var/log/cron