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