-# TODO:
-# - added support for selinux
Summary: A periodical command scheduler which aims at replacing Vixie Cron
-Summary(pl): Serwer okresowego uruchamiania poleceñ zastepuj±cy Vixie Crona
+Summary(pl): Serwer okresowego uruchamiania poleceñ zastêpuj±cy Vixie Crona
Name: fcron
-Version: 2.9.5
-Release: 0.3
+Version: 2.9.5.1
+Release: 0.1
License: GPL
Group: Daemons
Source0: http://fcron.free.fr/archives/%{name}-%{version}.src.tar.gz
-# Source0-md5: 73042f2666dff27444789d542bbcd607
+# Source0-md5: bf39dcef6d0c452f167f5a31a1231e4e
Source1: %{name}.init
Source2: cron.logrotate
Source3: cron.sysconfig
Source6: %{name}.conf
Source7: fcrontab.pam
URL: http://fcron.free.fr/
-#BuildRequires: libselinux-devel
+BuildRequires: libselinux-devel
BuildRequires: pam-devel
BuildRequires: rpmbuild(macros) >= 1.159
PreReq: rc-scripts
Provides: crondaemon
Provides: group(crontab)
Obsoletes: crontabs
-Obsoletes: crondaemon
Obsoletes: hc-cron
Obsoletes: mcron
Obsoletes: vixie-cron
%build
%configure \
+ --with-sysfcrontab=systab \
--with-spooldir=%{_var}/spool/cron \
--with-run-non-privileged=no \
--with-boot-install=no \
--with-username=crontab \
--with-groupname=crontab \
--with-pam=yes \
- --with-selinux=no \
+ --with-selinux=yes \
--with-boot-install=no
%{__make}
USERNAME=$(id -u) \
GROUPNAME=$(id -g)
-ln -sf %{_bindir}/fcrontab $RPM_BUILD_ROOT%{_bindir}/crontab
-mv -f $RPM_BUILD_ROOT%{_sbindir}/fcron $RPM_BUILD_ROOT%{_sbindir}/crond
-
#fix premission for rpmbuild
chmod +rw $RPM_BUILD_ROOT/usr/*bin/*
+ln -sf %{_bindir}/fcrontab $RPM_BUILD_ROOT%{_bindir}/crontab
+mv -f $RPM_BUILD_ROOT%{_sbindir}/fcron $RPM_BUILD_ROOT%{_sbindir}/crond
+
install %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/crond
install %{SOURCE2} $RPM_BUILD_ROOT/etc/logrotate.d/cron
install %{SOURCE3} $RPM_BUILD_ROOT/etc/sysconfig/cron
install %{SOURCE6} $RPM_BUILD_ROOT/etc/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
-
touch $RPM_BUILD_ROOT/var/log/cron
cat > $RPM_BUILD_ROOT%{_sysconfdir}/cron/cron.allow << EOF
%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
+ chown crontab:crontab $FILE.orig
chmod 640 $FILE.orig
(test ! -z "$USER" && fcrontab -u $USER -z) > /dev/null 2>&1
done
if [ -f /var/spool/cron/root.orig ]; then
chmod 600 /var/spool/cron/root.orig
- chown root.root /var/spool/cron/root.orig
+ chown root:root /var/spool/cron/root.orig
fi
fi
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//'`
- (test ! -z "$USER" && fcrontab -u $USER -z) > /dev/null 2>&1
+ [ ! -z "$USER" ] && fcrontab -u $USER -z > /dev/null 2>&1
done
fi
/sbin/chkconfig --del crond
rm -f /var/spool/cron/systab*
-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//'`"
mv -f $FILE /var/spool/cron/$USER >/dev/null 2>&1
- chown $USER.crontab /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
if [ "$1" = "0" ]; then
- %groupremove crontab
%userremove crontab
+ %groupremove crontab
fi
%triggerpostun -- vixie-cron <= 3.0.1-85
%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) /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 /etc/logrotate.d/cron
+%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
%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}/man5/fcron.conf.5*
+%{_mandir}/man5/fcrontab.5*
+%{_mandir}/man8/fcron.8*
%attr(1730,root,crontab) /var/spool/cron
%attr(0660,root,crontab) %ghost /var/log/cron