]> git.pld-linux.org Git - packages/fcron.git/blob - fcron.spec
- formatting
[packages/fcron.git] / fcron.spec
1 Summary:        A periodical command scheduler which aims at replacing Vixie Cron
2 Summary(pl):    Serwer okresowego uruchamiania poleceñ zastêpuj±cy Vixie Crona
3 Name:           fcron
4 Version:        3.0.0
5 Release:        3
6 License:        GPL
7 Group:          Daemons
8 Source0:        http://fcron.free.fr/archives/%{name}-%{version}.src.tar.gz
9 # Source0-md5:  55e92f8536c8b52c9b73b96a6a3e0fe3
10 Source1:        %{name}.init
11 Source2:        cron.logrotate
12 Source3:        cron.sysconfig
13 Source4:        %{name}.crontab
14 Source5:        %{name}.pam
15 Source6:        %{name}.conf
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
35 Requires:       rc-scripts
36 Provides:       crondaemon
37 Provides:       crontabs >= 1.7
38 Provides:       group(crontab)
39 Obsoletes:      crontabs
40 Obsoletes:      hc-cron
41 Obsoletes:      mcron
42 Obsoletes:      vixie-cron
43 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
44
45 %description
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 !
53
54 %description -l pl
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.
63
64 %prep
65 %setup -q
66 %patch0 -p1
67 %patch1 -p1
68
69 %build
70 %{__aclocal}
71 %{__autoconf}
72 %configure \
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 \
78         --with-fcrondyn=yes \
79         --with-username=crontab \
80         --with-groupname=crontab \
81         --with-pam=yes \
82         --with-selinux=yes \
83         --with-boot-install=no
84
85 %{__make} OPTION="%{rpmcflags}"
86
87 echo "#!/bin/sh" > script/user-group
88
89 %install
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}
94
95 %{__make} install \
96         DESTDIR=$RPM_BUILD_ROOT \
97         DESTSBIN=$RPM_BUILD_ROOT%{_sbindir} \
98         DESTBIN=$RPM_BUILD_ROOT%{_bindir} \
99         DESTMAN=$RPM_BUILD_ROOT%{_mandir} \
100         ROOTNAME=$(id -u) \
101         ROOTGROUP=$(id -g) \
102         USERNAME=$(id -u) \
103         GROUPNAME=$(id -g)
104
105 #fix premission for rpmbuild
106 chmod +rw $RPM_BUILD_ROOT%{_prefix}/*bin/*
107
108 ln -sf %{_bindir}/fcrontab $RPM_BUILD_ROOT%{_bindir}/crontab
109 mv -f $RPM_BUILD_ROOT%{_sbindir}/fcron $RPM_BUILD_ROOT%{_sbindir}/crond
110
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
119
120 touch $RPM_BUILD_ROOT/var/log/cron
121
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
125 root
126 EOF
127
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
131 EOF2
132
133 %clean
134 rm -rf $RPM_BUILD_ROOT
135
136 %pre
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
139
140 %post
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
148                         chmod 640 $FILE.orig
149                         (test ! -z "$USER" && fcrontab -u $USER -z) > /dev/null 2>&1
150                 done
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
154                 fi
155         fi
156 fi
157
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
164         done
165 fi
166
167 /sbin/chkconfig --add crond
168 %service crond restart "cron daemon"
169
170 umask 027
171 touch /var/log/cron
172 chgrp crontab /var/log/cron
173 chmod 660 /var/log/cron
174
175 %preun
176 if [ "$1" = "0" ]; then
177         %service crond stop
178         /sbin/chkconfig --del crond
179
180         rm -f /var/spool/cron/systab*
181
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
189         done
190         rm -f /var/spool/cron/rm\.*
191         rm -f /var/spool/cron/fcrontab.sig
192         rm -f /var/spool/cron/new\.*
193 fi
194
195 %postun
196 if [ "$1" = "0" ]; then
197         %userremove crontab
198         %groupremove crontab
199 fi
200
201 %triggerpostun -- vixie-cron <= 3.0.1-85
202 for i in `/bin/ls /var/spool/cron 2>/dev/null`
203 do
204         chown ${i} /var/spool/cron/${i} 2>/dev/null || :
205 done
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.*
210
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
214 fi
215 if [ -f /etc/cron.d/cron.allow ]; then
216         mv -f /etc/cron.d/cron.allow /etc/cron/cron.allow
217 fi
218 if [ -f /etc/cron.d/cron.deny.rpmsave ]; then
219         mv -f /etc/cron.d/cron.deny.rpmsave /etc/cron/cron.deny
220 fi
221 if [ -f /etc/cron.d/cron.deny ]; then
222         mv -f /etc/cron.d/cron.deny /etc/cron/cron.deny
223 fi
224
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
228 fi
229 if [ -f /etc/cron.deny ]; then
230         mv -f /etc/cron.deny /etc/cron/cron.deny
231 fi
232
233 %triggerpostun -- hc-cron
234 /sbin/chkconfig --del crond
235 /sbin/chkconfig --add crond
236
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 || :
240 done
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.*
245
246 %files
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
This page took 0.451364 seconds and 4 git commands to generate.