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: 9ead65bd13ea6a3278e167f88c572ddb
11 Source2: cron.logrotate
12 Source3: cron.sysconfig
13 Source4: %{name}.crontab
17 Source8: %{name}.systab
18 Patch0: %{name}-mail_output_only_if_there_is_output.patch
19 URL: http://fcron.free.fr/
20 BuildRequires: libselinux-devel
21 BuildRequires: pam-devel
22 BuildRequires: rpmbuild(macros) >= 1.202
24 Requires(pre): /usr/bin/getgid
25 Requires(pre): /bin/id
26 Requires(pre): /usr/sbin/groupadd
27 Requires(pre): /usr/sbin/useradd
28 Requires(post,preun): /sbin/chkconfig
29 Requires(post): fileutils
30 Requires(postun): /usr/sbin/groupdel
31 Requires: /bin/run-parts
32 Requires: psmisc >= 20.1
33 Provides: crontabs >= 1.7
35 Provides: group(crontab)
40 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
43 Fcron is a periodical command scheduler which aims at replacing Vixie
44 Cron, so it implements most of its functionalities. But fcron does not
45 assume that your system is running neither all the time nor regularly:
46 you can, for instance, tell fcron to execute tasks every x hours y
47 minutes of system up time or to do a job only once in a specified
48 interval of time. You can also set a nice value to a job, run it
49 depending on the system load average and much more !
52 Fcron jest serwerem okresowego uruchamiania poleceñ maj±cym za cel
53 zast±pienie Vixie Crona, posiadaj±cym zaimplementowane wiêkszo¶æ
54 spo¶ród jego funkcji. Jednak¿e fcron nie zak³ada, ¿e system dzia³a
55 ca³y czas, ani ¿e jest uruchamiany regularnie: mo¿na, na przyk³ad,
56 kazaæ fcronowi uruchamiaæ zadanie co ka¿de x godzin y minut od
57 uruchomienia systemu lub wykonywaæ zadanie dok³adnie raz w podanym
58 okresie czasu. Umo¿liwia równie¿ ustawianie warto¶ci nice dla zadania,
59 uruchamianie go w zale¿no¶ci od obci±¿enia systemu i du¿o wiêcej.
67 --with-sysfcrontab=systab \
68 --with-spooldir=%{_var}/spool/cron \
69 --with-run-non-privileged=no \
70 --with-boot-install=no \
72 --with-username=crontab \
73 --with-groupname=crontab \
76 --with-boot-install=no
78 %{__make} OPTION="%{rpmcflags}"
80 echo "#!/bin/sh" > script/user-group
83 rm -rf $RPM_BUILD_ROOT
84 install -d $RPM_BUILD_ROOT{/var/{log,spool/cron},%{_mandir}} \
85 $RPM_BUILD_ROOT/etc/{rc.d/init.d,logrotate.d,sysconfig} \
86 $RPM_BUILD_ROOT%{_sysconfdir}/{cron,cron.{d,hourly,daily,weekly,monthly},pam.d}
89 DESTDIR=$RPM_BUILD_ROOT \
90 DESTSBIN=$RPM_BUILD_ROOT%{_sbindir} \
91 DESTBIN=$RPM_BUILD_ROOT%{_bindir} \
92 DESTMAN=$RPM_BUILD_ROOT%{_mandir} \
98 #fix premission for rpmbuild
99 chmod +rw $RPM_BUILD_ROOT/usr/*bin/*
101 ln -sf %{_bindir}/fcrontab $RPM_BUILD_ROOT%{_bindir}/crontab
102 mv -f $RPM_BUILD_ROOT%{_sbindir}/fcron $RPM_BUILD_ROOT%{_sbindir}/crond
104 install %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/crond
105 install %{SOURCE2} $RPM_BUILD_ROOT/etc/logrotate.d/cron
106 install %{SOURCE3} $RPM_BUILD_ROOT/etc/sysconfig/cron
107 install %{SOURCE4} $RPM_BUILD_ROOT/etc/cron.d/crontab
108 install %{SOURCE5} $RPM_BUILD_ROOT/etc/pam.d/fcron
109 install %{SOURCE6} $RPM_BUILD_ROOT/etc/fcron.conf
110 install %{SOURCE7} $RPM_BUILD_ROOT/etc/pam.d/fcrontab
111 install %{SOURCE8} $RPM_BUILD_ROOT/etc/cron.hourly/fcron.systab
113 touch $RPM_BUILD_ROOT/var/log/cron
115 cat > $RPM_BUILD_ROOT%{_sysconfdir}/cron/cron.allow << EOF
116 # cron.allow This file describes the names of the users which are
117 # allowed to use the local cron daemon
121 cat > $RPM_BUILD_ROOT%{_sysconfdir}/cron/cron.deny << EOF2
122 # cron.deny This file describes the names of the users which are
123 # NOT allowed to use the local cron daemon
127 rm -rf $RPM_BUILD_ROOT
130 %groupadd -g 117 -r -f crontab
131 %useradd -u 134 -r -d /var/spool/cron -s /bin/false -c "crontab User" -g crontab crontab
134 if [ "$1" = "1" ]; then
135 if [ -d /var/spool/cron ]; then
136 FIND=`find /var/spool/cron -type f`
137 for FILE in $FIND; do
138 mv -f $FILE $FILE.orig
139 USER=`basename $FILE`
140 chown crontab:crontab $FILE.orig
142 (test ! -z "$USER" && fcrontab -u $USER -z) > /dev/null 2>&1
144 if [ -f /var/spool/cron/root.orig ]; then
145 chmod 600 /var/spool/cron/root.orig
146 chown root:root /var/spool/cron/root.orig
151 if [ "$1" = "2" ]; then
152 FIND=`find /var/spool/cron -name \*.orig`
153 for FILE in $FIND; do
154 BASENAME=`basename $FILE`
155 USER=`echo "$BASENAME"| sed 's/.orig//'`
156 [ ! -z "$USER" ] && fcrontab -u $USER -z > /dev/null 2>&1
160 /sbin/chkconfig --add crond
161 if [ -f /var/lock/subsys/crond ]; then
162 /etc/rc.d/init.d/crond restart >&2
164 echo "Run \"/etc/rc.d/init.d/crond start\" to start cron daemon."
169 chgrp crontab /var/log/cron
170 chmod 660 /var/log/cron
173 if [ "$1" = "0" ]; then
174 if [ -f /var/lock/subsys/crond ]; then
175 /etc/rc.d/init.d/crond stop >&2
177 /sbin/chkconfig --del crond
179 rm -f /var/spool/cron/systab*
181 FIND=`find /var/spool/cron -name \*.orig`
182 for FILE in $FIND; do
183 BASENAME=`basename $FILE`
184 USER="`echo "$BASENAME"| sed 's/.orig//'`"
185 mv -f $FILE /var/spool/cron/$USER >/dev/null 2>&1
186 chown $USER:crontab /var/spool/cron/$USER >/dev/null 2>&1
187 chmod 600 /var/spool/cron/$USER >/dev/null 2>&1
189 rm -f /var/spool/cron/rm\.*
190 rm -f /var/spool/cron/fcrontab.sig
191 rm -f /var/spool/cron/new\.*
195 if [ "$1" = "0" ]; then
200 %triggerpostun -- vixie-cron <= 3.0.1-85
201 for i in `/bin/ls /var/spool/cron 2>/dev/null`
203 chown ${i} /var/spool/cron/${i} 2>/dev/null || :
205 /bin/chmod 660 /var/log/cron
206 /bin/chgrp crontab /var/log/cron
207 /bin/chmod 640 /etc/cron/cron.*
208 /bin/chgrp crontab /etc/cron/cron.*
210 %triggerpostun -- vixie-cron <= 3.0.1-73
211 if [ -f /etc/cron.d/cron.allow.rpmsave ]; then
212 mv -f /etc/cron.d/cron.allow.rpmsave /etc/cron/cron.allow
214 if [ -f /etc/cron.d/cron.allow ]; then
215 mv -f /etc/cron.d/cron.allow /etc/cron/cron.allow
217 if [ -f /etc/cron.d/cron.deny.rpmsave ]; then
218 mv -f /etc/cron.d/cron.deny.rpmsave /etc/cron/cron.deny
220 if [ -f /etc/cron.d/cron.deny ]; then
221 mv -f /etc/cron.d/cron.deny /etc/cron/cron.deny
224 %triggerpostun -- vixie-cron <= 3.0.1-70
225 if [ -f /etc/cron.allow ]; then
226 mv -f /etc/cron.allow /etc/cron/cron.allow
228 if [ -f /etc/cron.deny ]; then
229 mv -f /etc/cron.deny /etc/cron/cron.deny
232 %triggerpostun -- hc-cron
233 /sbin/chkconfig --del crond
234 /sbin/chkconfig --add crond
236 %triggerpostun -- hc-cron <= 0.14-12
237 for i in `/bin/ls /var/spool/cron 2>/dev/null`
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(0750,root,crontab) %dir %{_sysconfdir}/cron*
250 %attr(0750,root,root) %{_sysconfdir}/cron.hourly/%{name}.systab
251 %attr(0640,root,crontab) %config(noreplace) /etc/cron.d/crontab
252 %attr(0640,root,crontab) %config(noreplace,missingok) %verify(not md5 mtime size) %{_sysconfdir}/cron/cron.allow
253 %attr(0640,root,crontab) %config(noreplace,missingok) %verify(not md5 mtime size) %{_sysconfdir}/cron/cron.deny
254 %attr(0640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/cron
255 %attr(0644,root,crontab) %config(noreplace) %verify(not md5 size mtime) /etc/pam.d/fcron
256 %attr(0644,root,crontab) %config(noreplace) %verify(not md5 size mtime) /etc/pam.d/fcrontab
257 %attr(0754,root,root) /etc/rc.d/init.d/crond
258 %config(noreplace) %verify(not md5 size mtime) %attr(640,root,root) /etc/logrotate.d/cron
259 %attr(0640,root,crontab) %config(noreplace) /etc/fcron.conf
260 %attr(0755,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(0660,root,crontab) %ghost /var/log/cron