]>
Commit | Line | Data |
---|---|---|
5f59e5da | 1 | Summary: A periodical command scheduler which aims at replacing Vixie Cron |
5e12e637 | 2 | Summary(pl.UTF-8): Serwer okresowego uruchamiania poleceń zastępujący Vixie Crona |
5f59e5da | 3 | Name: fcron |
908cb19c | 4 | Version: 3.0.6 |
c10c84f6 | 5 | Release: 1 |
eee9be33 | 6 | License: GPL v2+ |
5f59e5da | 7 | Group: Daemons |
ef65b337 | 8 | Source0: http://fcron.free.fr/archives/%{name}-%{version}.src.tar.gz |
908cb19c | 9 | # Source0-md5: 69ebcb41921e2a282f41ebecb3a27053 |
5f59e5da AM |
10 | Source1: %{name}.init |
11 | Source2: cron.logrotate | |
12 | Source3: cron.sysconfig | |
13 | Source4: %{name}.crontab | |
14 | Source5: %{name}.pam | |
a6d0b5fe | 15 | Source6: %{name}.conf |
542b0197 | 16 | Source7: %{name}tab.pam |
a58c6059 | 17 | Source8: %{name}.systab |
4bf8e5a7 JB |
18 | Patch0: %{name}-configure.patch |
19 | Patch1: %{name}-Makefile.patch | |
67a86a7f | 20 | Patch2: %{name}-accept_readable_fcron.conf.patch |
4db6ff6c | 21 | URL: http://fcron.free.fr/ |
2665b9b3 | 22 | # configure tests -x (check can be removed, just like sendmail) |
5864f846 | 23 | BuildRequires: /bin/vi |
6e82b599 | 24 | BuildRequires: autoconf |
7703e5de | 25 | BuildRequires: automake |
c5e6f976 | 26 | BuildRequires: libselinux-devel |
4db6ff6c | 27 | BuildRequires: pam-devel |
7703e5de | 28 | BuildRequires: rpmbuild(macros) >= 1.268 |
542b0197 ER |
29 | Requires(post): fileutils |
30 | Requires(post,preun): /sbin/chkconfig | |
31 | Requires(postun): /usr/sbin/groupdel | |
23e300cd | 32 | Requires(pre): /bin/id |
542b0197 | 33 | Requires(pre): /usr/bin/getgid |
5f59e5da | 34 | Requires(pre): /usr/sbin/groupadd |
23e300cd | 35 | Requires(pre): /usr/sbin/useradd |
5f59e5da AM |
36 | Requires: /bin/run-parts |
37 | Requires: psmisc >= 20.1 | |
7c49a617 | 38 | Requires: rc-scripts |
5f59e5da | 39 | Provides: crondaemon |
8849571a | 40 | Provides: crontabs = 1.7 |
1ea95bdf | 41 | Provides: group(crontab) |
8849571a | 42 | Obsoletes: crondaemon |
5f59e5da | 43 | Obsoletes: crontabs |
5f59e5da AM |
44 | BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) |
45 | ||
46 | %description | |
47 | Fcron is a periodical command scheduler which aims at replacing Vixie | |
48 | Cron, so it implements most of its functionalities. But fcron does not | |
a436a152 | 49 | assume that your system is running neither all the time nor regularly: |
50 | you can, for instance, tell fcron to execute tasks every x hours y | |
5f59e5da AM |
51 | minutes of system up time or to do a job only once in a specified |
52 | interval of time. You can also set a nice value to a job, run it | |
53 | depending on the system load average and much more ! | |
54 | ||
23cad010 JR |
55 | %description -l pl.UTF-8 |
56 | Fcron jest serwerem okresowego uruchamiania poleceń mającym za cel | |
57 | zastąpienie Vixie Crona, posiadającym zaimplementowane większość | |
58 | spośród jego funkcji. Jednakże fcron nie zakłada, że system działa | |
59 | cały czas, ani że jest uruchamiany regularnie: można, na przykład, | |
60 | kazać fcronowi uruchamiać zadanie co każde x godzin y minut od | |
61 | uruchomienia systemu lub wykonywać zadanie dokładnie raz w podanym | |
62 | okresie czasu. Umożliwia również ustawianie wartości nice dla zadania, | |
63 | uruchamianie go w zależności od obciążenia systemu i dużo więcej. | |
a436a152 | 64 | |
5f59e5da AM |
65 | %prep |
66 | %setup -q | |
4bf8e5a7 | 67 | %patch0 -p1 |
6e82b599 | 68 | %patch1 -p1 |
67a86a7f | 69 | %patch2 -p0 |
5f59e5da AM |
70 | |
71 | %build | |
6e82b599 AM |
72 | %{__aclocal} |
73 | %{__autoconf} | |
5f59e5da | 74 | %configure \ |
feca1bdd | 75 | --with-sendmail=/usr/sbin/sendmail \ |
65b9ac1d | 76 | --with-sysfcrontab=systab \ |
5f59e5da AM |
77 | --with-spooldir=%{_var}/spool/cron \ |
78 | --with-run-non-privileged=no \ | |
79 | --with-boot-install=no \ | |
80 | --with-fcrondyn=yes \ | |
6aa33d9c | 81 | --with-username=crontab \ |
5f59e5da AM |
82 | --with-groupname=crontab \ |
83 | --with-pam=yes \ | |
c5e6f976 | 84 | --with-selinux=yes \ |
0ebe5c1d | 85 | --with-boot-install=no \ |
5864f846 | 86 | --with-editor=/bin/vi |
4db6ff6c | 87 | |
2665b9b3 JB |
88 | %{__make} \ |
89 | OPTION="%{rpmcflags}" | |
5f59e5da | 90 | |
ef65b337 AM |
91 | echo "#!/bin/sh" > script/user-group |
92 | ||
5f59e5da AM |
93 | %install |
94 | rm -rf $RPM_BUILD_ROOT | |
95 | install -d $RPM_BUILD_ROOT{/var/{log,spool/cron},%{_mandir}} \ | |
96 | $RPM_BUILD_ROOT/etc/{rc.d/init.d,logrotate.d,sysconfig} \ | |
97 | $RPM_BUILD_ROOT%{_sysconfdir}/{cron,cron.{d,hourly,daily,weekly,monthly},pam.d} | |
98 | ||
3ad21387 | 99 | %{__make} install-staged \ |
5f59e5da | 100 | DESTDIR=$RPM_BUILD_ROOT \ |
ef65b337 AM |
101 | ROOTNAME=$(id -u) \ |
102 | ROOTGROUP=$(id -g) \ | |
103 | USERNAME=$(id -u) \ | |
104 | GROUPNAME=$(id -g) | |
5f59e5da | 105 | |
a6d0b5fe | 106 | #fix premission for rpmbuild |
7703e5de | 107 | chmod +rw $RPM_BUILD_ROOT%{_prefix}/*bin/* |
a6d0b5fe | 108 | |
2702a7d7 | 109 | ln -sf %{_bindir}/fcrontab $RPM_BUILD_ROOT%{_bindir}/crontab |
110 | mv -f $RPM_BUILD_ROOT%{_sbindir}/fcron $RPM_BUILD_ROOT%{_sbindir}/crond | |
111 | ||
5f59e5da AM |
112 | install %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/crond |
113 | install %{SOURCE2} $RPM_BUILD_ROOT/etc/logrotate.d/cron | |
114 | install %{SOURCE3} $RPM_BUILD_ROOT/etc/sysconfig/cron | |
115 | install %{SOURCE4} $RPM_BUILD_ROOT/etc/cron.d/crontab | |
a6d0b5fe | 116 | install %{SOURCE5} $RPM_BUILD_ROOT/etc/pam.d/fcron |
542b0197 | 117 | install %{SOURCE6} $RPM_BUILD_ROOT%{_sysconfdir}/fcron.conf |
a6d0b5fe | 118 | install %{SOURCE7} $RPM_BUILD_ROOT/etc/pam.d/fcrontab |
c10c84f6 | 119 | install %{SOURCE8} $RPM_BUILD_ROOT/etc/cron.hourly/fcron.systab |
5f59e5da | 120 | |
5f59e5da AM |
121 | touch $RPM_BUILD_ROOT/var/log/cron |
122 | ||
8b3977c0 | 123 | cat > $RPM_BUILD_ROOT%{_sysconfdir}/cron/cron.allow << 'EOF' |
9600229d | 124 | # cron.allow This file describes the names of the users which are |
125 | # allowed to use the local cron daemon | |
5f59e5da AM |
126 | root |
127 | EOF | |
128 | ||
8b3977c0 | 129 | cat > $RPM_BUILD_ROOT%{_sysconfdir}/cron/cron.deny << 'EOF' |
9600229d | 130 | # cron.deny This file describes the names of the users which are |
131 | # NOT allowed to use the local cron daemon | |
8b3977c0 | 132 | EOF |
5f59e5da AM |
133 | |
134 | %clean | |
135 | rm -rf $RPM_BUILD_ROOT | |
136 | ||
137 | %pre | |
23e300cd ER |
138 | %groupadd -g 117 -r -f crontab |
139 | %useradd -u 134 -r -d /var/spool/cron -s /bin/false -c "crontab User" -g crontab crontab | |
f995433d | 140 | |
5f59e5da | 141 | %post |
6aa33d9c | 142 | if [ "$1" = "1" ]; then |
8f300fe8 | 143 | if [ -d /var/spool/cron ]; then |
c5e6f976 | 144 | FIND=`find /var/spool/cron -type f` |
145 | for FILE in $FIND; do | |
8f300fe8 | 146 | mv -f $FILE $FILE.orig |
f995433d | 147 | USER=`basename $FILE` |
6970373e | 148 | chown crontab:crontab $FILE.orig |
f995433d | 149 | chmod 640 $FILE.orig |
150 | (test ! -z "$USER" && fcrontab -u $USER -z) > /dev/null 2>&1 | |
8f300fe8 | 151 | done |
f995433d | 152 | if [ -f /var/spool/cron/root.orig ]; then |
153 | chmod 600 /var/spool/cron/root.orig | |
6970373e | 154 | chown root:root /var/spool/cron/root.orig |
f995433d | 155 | fi |
8f300fe8 | 156 | fi |
6aa33d9c | 157 | fi |
8f300fe8 | 158 | |
8f300fe8 | 159 | if [ "$1" = "2" ]; then |
c5e6f976 | 160 | FIND=`find /var/spool/cron -name \*.orig` |
161 | for FILE in $FIND; do | |
8f300fe8 | 162 | BASENAME=`basename $FILE` |
f995433d | 163 | USER=`echo "$BASENAME"| sed 's/.orig//'` |
6970373e | 164 | [ ! -z "$USER" ] && fcrontab -u $USER -z > /dev/null 2>&1 |
8f300fe8 | 165 | done |
6aa33d9c | 166 | fi |
a6d0b5fe | 167 | |
5f59e5da | 168 | /sbin/chkconfig --add crond |
8b3977c0 | 169 | %service crond restart "Cron Daemon" |
6aa33d9c | 170 | |
5f59e5da AM |
171 | umask 027 |
172 | touch /var/log/cron | |
173 | chgrp crontab /var/log/cron | |
174 | chmod 660 /var/log/cron | |
175 | ||
176 | %preun | |
177 | if [ "$1" = "0" ]; then | |
7703e5de | 178 | %service crond stop |
5f59e5da | 179 | /sbin/chkconfig --del crond |
5f59e5da | 180 | |
7703e5de | 181 | rm -f /var/spool/cron/systab* |
0334340a | 182 | |
7703e5de ER |
183 | FIND=`find /var/spool/cron -name '*.orig'` |
184 | for FILE in $FIND; do | |
185 | BASENAME=`basename $FILE` | |
186 | USER="${BASENAME%.orig}" | |
187 | mv -f $FILE /var/spool/cron/$USER >/dev/null 2>&1 | |
188 | chown $USER:crontab /var/spool/cron/$USER >/dev/null 2>&1 | |
189 | chmod 600 /var/spool/cron/$USER >/dev/null 2>&1 | |
190 | done | |
8b3977c0 | 191 | rm -f /var/spool/cron/rm.* |
7703e5de | 192 | rm -f /var/spool/cron/fcrontab.sig |
8b3977c0 | 193 | rm -f /var/spool/cron/new.* |
6aa33d9c | 194 | fi |
a6d0b5fe | 195 | |
5f59e5da AM |
196 | %postun |
197 | if [ "$1" = "0" ]; then | |
f995433d | 198 | %userremove crontab |
2702a7d7 | 199 | %groupremove crontab |
5f59e5da AM |
200 | fi |
201 | ||
277330e7 ER |
202 | %triggerpostun -- hc-cron |
203 | # reinstall crond init.d links, which could be different | |
5f59e5da AM |
204 | /sbin/chkconfig --del crond |
205 | /sbin/chkconfig --add crond | |
206 | ||
5f59e5da AM |
207 | %files |
208 | %defattr(644,root,root,755) | |
8b3977c0 | 209 | %doc doc/en/HTML doc/en/txt/{faq.txt,changes.txt,readme.txt,thanks.txt,todo.txt} |
542b0197 | 210 | %attr(750,root,crontab) %dir %{_sysconfdir}/cron* |
c10c84f6 | 211 | %attr(750,root,root) %{_sysconfdir}/cron.hourly/%{name}.systab |
542b0197 ER |
212 | %attr(640,root,crontab) %config(noreplace) /etc/cron.d/crontab |
213 | %attr(640,root,crontab) %config(noreplace,missingok) %verify(not md5 mtime size) %{_sysconfdir}/cron/cron.allow | |
214 | %attr(640,root,crontab) %config(noreplace,missingok) %verify(not md5 mtime size) %{_sysconfdir}/cron/cron.deny | |
215 | %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/cron | |
216 | %attr(644,root,crontab) %config(noreplace) %verify(not md5 mtime size) /etc/pam.d/fcron | |
217 | %attr(644,root,crontab) %config(noreplace) %verify(not md5 mtime size) /etc/pam.d/fcrontab | |
218 | %attr(754,root,root) /etc/rc.d/init.d/crond | |
219 | %config(noreplace) %verify(not md5 mtime size) %attr(640,root,root) /etc/logrotate.d/cron | |
3712a1f5 | 220 | %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/fcron.* |
542b0197 ER |
221 | %attr(640,root,crontab) %config(noreplace) %{_sysconfdir}/fcron.conf |
222 | %attr(755,root,root) %{_sbindir}/crond | |
6aa33d9c | 223 | %attr(6111,crontab,crontab) %{_bindir}/fcrontab |
f995433d | 224 | %attr(6111,crontab,crontab) %{_bindir}/crontab |
6aa33d9c | 225 | %attr(4711,root,root) %{_bindir}/fcronsighup |
226 | %attr(6111,crontab,crontab) %{_bindir}/fcrondyn | |
fef2f9d3 JB |
227 | %{_mandir}/man1/fcrondyn.1* |
228 | %{_mandir}/man1/fcrontab.1* | |
3712a1f5 | 229 | %{_mandir}/man3/bitstring.3* |
c5e6f976 | 230 | %{_mandir}/man5/fcron.conf.5* |
231 | %{_mandir}/man5/fcrontab.5* | |
232 | %{_mandir}/man8/fcron.8* | |
3712a1f5 | 233 | %lang(fr) %{_mandir}/fr/man1/fcrondyn.1* |
234 | %lang(fr) %{_mandir}/fr/man1/fcrontab.1* | |
235 | %lang(fr) %{_mandir}/fr/man3/bitstring.3* | |
236 | %lang(fr) %{_mandir}/fr/man5/fcron.conf.5* | |
237 | %lang(fr) %{_mandir}/fr/man5/fcrontab.5* | |
238 | %lang(fr) %{_mandir}/fr/man8/fcron.8* | |
5f59e5da | 239 | %attr(1730,root,crontab) /var/spool/cron |
542b0197 | 240 | %attr(660,root,crontab) %ghost /var/log/cron |