X-Git-Url: http://git.pld-linux.org/?a=blobdiff_plain;f=fcron.spec;h=021e498c6ac270b7b6c9e821343a49d855e960cb;hb=06c7174073db0f9f692e3a9b631a941b9bc2491b;hp=b0c7ee978dc5072874f7f10623fdad3c57f071fb;hpb=2702a7d7087d2cf6d476bad55f6d14ef87d35b84;p=packages%2Ffcron.git diff --git a/fcron.spec b/fcron.spec index b0c7ee9..021e498 100644 --- a/fcron.spec +++ b/fcron.spec @@ -1,39 +1,45 @@ -# TODO: -# - added support for selinux -# - rewrite and correct %post, %pre Summary: A periodical command scheduler which aims at replacing Vixie Cron -Summary(pl): Serwer okresowego uruchamiania poleceñ zastepuj±cy Vixie Crona +Summary(pl.UTF-8): Serwer okresowego uruchamiania poleceń zastępujący Vixie Crona Name: fcron -Version: 2.9.5 -Release: 0.3 +Version: 3.0.3 +Release: 1 License: GPL Group: Daemons Source0: http://fcron.free.fr/archives/%{name}-%{version}.src.tar.gz -# Source0-md5: 73042f2666dff27444789d542bbcd607 +# Source0-md5: c85e6eecd0564f37658ae250a491fd31 Source1: %{name}.init Source2: cron.logrotate Source3: cron.sysconfig Source4: %{name}.crontab Source5: %{name}.pam Source6: %{name}.conf -Source7: fcrontab.pam +Source7: %{name}tab.pam +Source8: %{name}.systab +Patch0: %{name}-mail_output_only_if_there_is_output.patch +Patch1: %{name}-configure.patch +Patch2: %{name}-Makefile.patch URL: http://fcron.free.fr/ -#BuildRequires: libselinux-devel +# configure tests -x (check can be removed, just like sendmail) +BuildRequires: /bin/vi +BuildRequires: autoconf +BuildRequires: automake +BuildRequires: libselinux-devel BuildRequires: pam-devel -BuildRequires: rpmbuild(macros) >= 1.159 -PreReq: rc-scripts -Requires(pre): /usr/bin/getgid -Requires(pre): /usr/sbin/groupadd -Requires(post,preun): /sbin/chkconfig +BuildRequires: rpmbuild(macros) >= 1.268 Requires(post): fileutils +Requires(post,preun): /sbin/chkconfig Requires(postun): /usr/sbin/groupdel +Requires(pre): /bin/id +Requires(pre): /usr/bin/getgid +Requires(pre): /usr/sbin/groupadd +Requires(pre): /usr/sbin/useradd Requires: /bin/run-parts Requires: psmisc >= 20.1 -Provides: crontabs >= 1.7 +Requires: rc-scripts Provides: crondaemon +Provides: crontabs >= 1.7 Provides: group(crontab) Obsoletes: crontabs -Obsoletes: crondaemon Obsoletes: hc-cron Obsoletes: mcron Obsoletes: vixie-cron @@ -48,21 +54,28 @@ minutes of system up time or to do a job only once in a specified interval of time. You can also set a nice value to a job, run it depending on the system load average and much more ! -%description -l pl -Fcron jest serwerem okresowego uruchamiania poleceñ maj±cym za cel -zast±pienie Vixie Crona, posiadaj±cym zaimplementowane wiêkszo¶æ -spo¶ród jego funkcji. Jednak¿e fcron nie zak³ada, ¿e system dzia³a -ca³y czas, ani ¿e jest uruchamiany regularnie: mo¿na, na przyk³ad, -kazaæ fcronowi uruchamiaæ zadanie co ka¿de x godzin y minut od -uruchomienia systemu lub wykonywaæ zadanie dok³adnie raz w podanym -okresie czasu. Umo¿liwia równie¿ ustawianie warto¶ci nice dla zadania, -uruchamianie go w zale¿no¶ci od obci±¿enia systemu i du¿o wiêcej. +%description -l pl.UTF-8 +Fcron jest serwerem okresowego uruchamiania poleceń mającym za cel +zastąpienie Vixie Crona, posiadającym zaimplementowane większość +spośród jego funkcji. Jednakże fcron nie zakłada, że system działa +cały czas, ani że jest uruchamiany regularnie: można, na przykład, +kazać fcronowi uruchamiać zadanie co każde x godzin y minut od +uruchomienia systemu lub wykonywać zadanie dokładnie raz w podanym +okresie czasu. Umożliwia również ustawianie wartości nice dla zadania, +uruchamianie go w zależności od obciążenia systemu i dużo więcej. %prep %setup -q +%patch0 -p1 +%patch1 -p1 +%patch2 -p1 %build +%{__aclocal} +%{__autoconf} %configure \ + --with-sendmail=/usr/sbin/sendmail \ + --with-sysfcrontab=systab \ --with-spooldir=%{_var}/spool/cron \ --with-run-non-privileged=no \ --with-boot-install=no \ @@ -70,10 +83,12 @@ uruchamianie go w zale --with-username=crontab \ --with-groupname=crontab \ --with-pam=yes \ - --with-selinux=no \ - --with-boot-install=no + --with-selinux=yes \ + --with-boot-install=no \ + --with-editor=/bin/vi -%{__make} +%{__make} \ + OPTION="%{rpmcflags}" echo "#!/bin/sh" > script/user-group @@ -85,16 +100,13 @@ install -d $RPM_BUILD_ROOT{/var/{log,spool/cron},%{_mandir}} \ %{__make} install \ DESTDIR=$RPM_BUILD_ROOT \ - DESTSBIN=$RPM_BUILD_ROOT%{_sbindir} \ - DESTBIN=$RPM_BUILD_ROOT%{_bindir} \ - DESTMAN=$RPM_BUILD_ROOT%{_mandir} \ ROOTNAME=$(id -u) \ ROOTGROUP=$(id -g) \ USERNAME=$(id -u) \ GROUPNAME=$(id -g) #fix premission for rpmbuild -chmod +rw $RPM_BUILD_ROOT/usr/*bin/* +chmod +rw $RPM_BUILD_ROOT%{_prefix}/*bin/* ln -sf %{_bindir}/fcrontab $RPM_BUILD_ROOT%{_bindir}/crontab mv -f $RPM_BUILD_ROOT%{_sbindir}/fcron $RPM_BUILD_ROOT%{_sbindir}/crond @@ -104,65 +116,35 @@ install %{SOURCE2} $RPM_BUILD_ROOT/etc/logrotate.d/cron install %{SOURCE3} $RPM_BUILD_ROOT/etc/sysconfig/cron install %{SOURCE4} $RPM_BUILD_ROOT/etc/cron.d/crontab install %{SOURCE5} $RPM_BUILD_ROOT/etc/pam.d/fcron -install %{SOURCE6} $RPM_BUILD_ROOT/etc/fcron.conf +install %{SOURCE6} $RPM_BUILD_ROOT%{_sysconfdir}/fcron.conf install %{SOURCE7} $RPM_BUILD_ROOT/etc/pam.d/fcrontab - -#for a in fi fr id ja ko pl ; do -# if test -f $a/man1/crontab.1 ; then -# install -d $RPM_BUILD_ROOT%{_mandir}/$a/man1 -# install $a/man1/crontab.1 $RPM_BUILD_ROOT%{_mandir}/$a/man1 -# fi -# if test -f $a/man5/crontab.5 ; then -# install -d $RPM_BUILD_ROOT%{_mandir}/$a/man5 -# install $a/man5/crontab.5 $RPM_BUILD_ROOT%{_mandir}/$a/man5 -# fi -# if test -f $a/man8/cron.8 ; then -# install -d $RPM_BUILD_ROOT%{_mandir}/$a/man8 -# install $a/man8/cron.8 $RPM_BUILD_ROOT%{_mandir}/$a/man8 -# echo .so cron.8 > $RPM_BUILD_ROOT%{_mandir}/$a/man8/crond.8 -# fi -#done +install %{SOURCE8} $RPM_BUILD_ROOT/etc/cron.hourly/fcron.systab touch $RPM_BUILD_ROOT/var/log/cron cat > $RPM_BUILD_ROOT%{_sysconfdir}/cron/cron.allow << EOF -# cron.allow This file describes the names of the users which are -# allowed to use the local cron daemon +# cron.allow This file describes the names of the users which are +# allowed to use the local cron daemon root EOF cat > $RPM_BUILD_ROOT%{_sysconfdir}/cron/cron.deny << EOF2 -# cron.deny This file describes the names of the users which are -# NOT allowed to use the local cron daemon +# cron.deny This file describes the names of the users which are +# NOT allowed to use the local cron daemon EOF2 %clean rm -rf $RPM_BUILD_ROOT %pre -if [ -n "`/usr/bin/getgid crontab`" ]; then - if [ "`/usr/bin/getgid crontab`" != "117" ]; then - echo "Error: group crontab doesn't have gid=117. Correct this before installing cron." 1>&2 - exit 1 - fi -else - echo "Adding group crontab GID=117." - /usr/sbin/groupadd -g 117 -r -f crontab -fi - -if [ -n "`/bin/id -u crontab 2>/dev/null`" ]; then - if [ "`/bin/id -u crontab`" != "134" ]; then - echo "Error: user crontab doesn't have uid=134. Correct this before installing %{name}." 1>&2 - exit 1 - fi -else - /usr/sbin/useradd -u 134 -r -d /var/spool/cron -s /bin/false -c "crontab User" -g crontab crontab 1>&2 -fi +%groupadd -g 117 -r -f crontab +%useradd -u 134 -r -d /var/spool/cron -s /bin/false -c "crontab User" -g crontab crontab %post if [ "$1" = "1" ]; then if [ -d /var/spool/cron ]; then - for FILE in /var/spool/cron/*; do + FIND=`find /var/spool/cron -type f` + for FILE in $FIND; do mv -f $FILE $FILE.orig USER=`basename $FILE` chown crontab:crontab $FILE.orig @@ -177,7 +159,8 @@ if [ "$1" = "1" ]; then fi if [ "$1" = "2" ]; then - for FILE in /var/spool/cron/*.orig; do + FIND=`find /var/spool/cron -name \*.orig` + for FILE in $FIND; do BASENAME=`basename $FILE` USER=`echo "$BASENAME"| sed 's/.orig//'` [ ! -z "$USER" ] && fcrontab -u $USER -z > /dev/null 2>&1 @@ -185,11 +168,7 @@ if [ "$1" = "2" ]; then fi /sbin/chkconfig --add crond -if [ -f /var/lock/subsys/crond ]; then - /etc/rc.d/init.d/crond restart >&2 -else - echo "Run \"/etc/rc.d/init.d/crond start\" to start cron daemon." -fi +%service crond restart "cron daemon" umask 027 touch /var/log/cron @@ -198,19 +177,22 @@ chmod 660 /var/log/cron %preun if [ "$1" = "0" ]; then - if [ -f /var/lock/subsys/crond ]; then - /etc/rc.d/init.d/crond stop >&2 - fi + %service crond stop /sbin/chkconfig --del crond -rm -f /var/spool/cron/systab* -for FILE in /var/spool/cron/*.orig; do - BASENAME=`basename $FILE` - USER="`echo "$BASENAME"| sed 's/.orig//'`" - mv -f $FILE /var/spool/cron/$USER >/dev/null 2>&1 - chown $USER:crontab /var/spool/cron/$USER >/dev/null 2>&1 - chmod 600 /var/spool/cron/$USER >/dev/null 2>&1 -done + rm -f /var/spool/cron/systab* + + FIND=`find /var/spool/cron -name '*.orig'` + for FILE in $FIND; do + BASENAME=`basename $FILE` + USER="${BASENAME%.orig}" + mv -f $FILE /var/spool/cron/$USER >/dev/null 2>&1 + chown $USER:crontab /var/spool/cron/$USER >/dev/null 2>&1 + chmod 600 /var/spool/cron/$USER >/dev/null 2>&1 + done + rm -f /var/spool/cron/rm\.* + rm -f /var/spool/cron/fcrontab.sig + rm -f /var/spool/cron/new\.* fi %postun @@ -256,8 +238,7 @@ fi /sbin/chkconfig --add crond %triggerpostun -- hc-cron <= 0.14-12 -for i in `/bin/ls /var/spool/cron 2>/dev/null` -do +for i in `/bin/ls /var/spool/cron 2>/dev/null`; do chown ${i} /var/spool/cron/${i} 2>/dev/null || : done /bin/chmod 660 /var/log/cron @@ -267,30 +248,35 @@ done %files %defattr(644,root,root,755) -%doc doc/HTML doc/olddoc/{FAQ,CHANGES,README,THANKS,TODO} -%attr(0750,root,crontab) %dir %{_sysconfdir}/cron* -%attr(0644,root,crontab) %config(noreplace) /etc/cron.d/crontab -%attr(0640,root,crontab) %config(noreplace,missingok) %verify(not md5 mtime size) %{_sysconfdir}/cron/cron.allow -%attr(0640,root,crontab) %config(noreplace,missingok) %verify(not md5 mtime size) %{_sysconfdir}/cron/cron.deny -%attr(0640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/cron -%attr(0644,root,crontab) %config(noreplace) %verify(not md5 size mtime) /etc/pam.d/fcron -%attr(0644,root,crontab) %config(noreplace) %verify(not md5 size mtime) /etc/pam.d/fcrontab -%attr(0754,root,root) /etc/rc.d/init.d/crond -%config(noreplace) %verify(not md5 size mtime) %attr(640,root,root) /etc/logrotate.d/cron -%attr(0640,root,crontab) %config(noreplace) /etc/fcron.conf -%attr(0755,root,root) %{_sbindir}/crond +%doc doc/en/HTML doc/en/txt/{faq.txt,changes.txt,readme.txt,thanks.txt,todo.txt} +%attr(750,root,crontab) %dir %{_sysconfdir}/cron* +%attr(750,root,root) %{_sysconfdir}/cron.hourly/%{name}.systab +%attr(640,root,crontab) %config(noreplace) /etc/cron.d/crontab +%attr(640,root,crontab) %config(noreplace,missingok) %verify(not md5 mtime size) %{_sysconfdir}/cron/cron.allow +%attr(640,root,crontab) %config(noreplace,missingok) %verify(not md5 mtime size) %{_sysconfdir}/cron/cron.deny +%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/cron +%attr(644,root,crontab) %config(noreplace) %verify(not md5 mtime size) /etc/pam.d/fcron +%attr(644,root,crontab) %config(noreplace) %verify(not md5 mtime size) /etc/pam.d/fcrontab +%attr(754,root,root) /etc/rc.d/init.d/crond +%config(noreplace) %verify(not md5 mtime size) %attr(640,root,root) /etc/logrotate.d/cron +%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/fcron.* +%attr(640,root,crontab) %config(noreplace) %{_sysconfdir}/fcron.conf +%attr(755,root,root) %{_sbindir}/crond %attr(6111,crontab,crontab) %{_bindir}/fcrontab %attr(6111,crontab,crontab) %{_bindir}/crontab %attr(4711,root,root) %{_bindir}/fcronsighup %attr(6111,crontab,crontab) %{_bindir}/fcrondyn - -%{_mandir}/man*/* -#%%lang(fi) %{_mandir}/fi/man*/* -#%%lang(fr) %{_mandir}/fr/man*/* -#%%lang(id) %{_mandir}/id/man*/* -#%%lang(ja) %{_mandir}/ja/man*/* -#%%lang(ko) %{_mandir}/ko/man*/* -#%%lang(pl) %{_mandir}/pl/man*/* - +%{_mandir}/man1/fcrondyn.1* +%{_mandir}/man1/fcrontab.1* +%{_mandir}/man3/bitstring.3* +%{_mandir}/man5/fcron.conf.5* +%{_mandir}/man5/fcrontab.5* +%{_mandir}/man8/fcron.8* +%lang(fr) %{_mandir}/fr/man1/fcrondyn.1* +%lang(fr) %{_mandir}/fr/man1/fcrontab.1* +%lang(fr) %{_mandir}/fr/man3/bitstring.3* +%lang(fr) %{_mandir}/fr/man5/fcron.conf.5* +%lang(fr) %{_mandir}/fr/man5/fcrontab.5* +%lang(fr) %{_mandir}/fr/man8/fcron.8* %attr(1730,root,crontab) /var/spool/cron -%attr(0660,root,crontab) %ghost /var/log/cron +%attr(660,root,crontab) %ghost /var/log/cron