]> git.pld-linux.org Git - packages/fcron.git/blobdiff - fcron.spec
- option --with-sysfcrontab needs NAME of (virtual) user, use standart "systab"
[packages/fcron.git] / fcron.spec
index 04131271e65991c5d94a8c774c46e05aa04d584e..ccd32a5dec85f6be767fa4edaccb197e531f8ca6 100644 (file)
@@ -1,14 +1,12 @@
-# TODO:
-# - write missing files
 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
+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
@@ -17,7 +15,7 @@ Source5:      %{name}.pam
 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
@@ -32,7 +30,6 @@ Provides:     crontabs >= 1.7
 Provides:      crondaemon
 Provides:      group(crontab)
 Obsoletes:     crontabs
-Obsoletes:     crondaemon
 Obsoletes:     hc-cron
 Obsoletes:     mcron
 Obsoletes:     vixie-cron
@@ -62,14 +59,15 @@ uruchamianie go w zale
 
 %build
 %configure \
+       --with-sysfcrontab=systab \
        --with-spooldir=%{_var}/spool/cron \
        --with-run-non-privileged=no \
        --with-boot-install=no \
        --with-fcrondyn=yes \
-       --with-username=root \
+       --with-username=crontab \
        --with-groupname=crontab \
        --with-pam=yes \
-       --with-selinux=no \
+       --with-selinux=yes \
        --with-boot-install=no
 
 %{__make}
@@ -92,11 +90,12 @@ install -d $RPM_BUILD_ROOT{/var/{log,spool/cron},%{_mandir}} \
        USERNAME=$(id -u) \
        GROUPNAME=$(id -g)
 
-#ln -sf %{_bindir}/fcrontab $RPM_BUILD_ROOT%{_bindir}/crontab
-
 #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
@@ -105,22 +104,6 @@ install %{SOURCE5} $RPM_BUILD_ROOT/etc/pam.d/fcron
 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
@@ -148,13 +131,41 @@ else
        /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
+
 %post
-for FILE in /var/spool/cron/*; do
-                mv -f $FILE $FILE.orig
-                BASENAME=`basename $FILE`
-                FCRONTAB=`echo "$BASENAME"`
-                (test ! -z "$FCRONTAB" && fcrontab -u $FCRONTAB -z) > /dev/null 2>&1
-done
+if [ "$1" = "1" ]; then
+       if [ -d /var/spool/cron ]; then
+               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
+                       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
+               fi
+       fi
+fi
+
+if [ "$1" = "2" ]; then
+       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
+       done
+fi
 
 /sbin/chkconfig --add crond
 if [ -f /var/lock/subsys/crond ]; then
@@ -162,6 +173,7 @@ if [ -f /var/lock/subsys/crond ]; then
 else
        echo "Run \"/etc/rc.d/init.d/crond start\" to start cron daemon."
 fi
+
 umask 027
 touch /var/log/cron
 chgrp crontab /var/log/cron
@@ -173,15 +185,25 @@ if [ "$1" = "0" ]; then
                /etc/rc.d/init.d/crond stop >&2
        fi
        /sbin/chkconfig --del crond
-fi
 
-for FILE in /var/spool/cron/*.orig; do
-                BASENAME=`basename $FILE`
-                mv -f $FILE /var/spool/cron/`echo "$BASENAME"| sed 's/.orig//'` >/dev/null 2>&1
+rm -f /var/spool/cron/systab*
+
+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
+       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
+       %userremove crontab
        %groupremove crontab
 fi
 
@@ -233,29 +255,26 @@ done
 
 %files
 %defattr(644,root,root,755)
-#%%doc CHANGES CONVERSION FEATURES MAIL README THANKS
+%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
-%config(noreplace) %verify(not md5 size mtime) /etc/pam.d/fcron
-%config(noreplace) %verify(not md5 size mtime) /etc/pam.d/fcrontab
+%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
-%attr(0640,root,root) %config(noreplace) /etc/fcron.conf
-%attr(0755,root,root) %{_sbindir}/fcron
-%attr(4755,root,crontab) %{_bindir}/fcrontab
-%attr(0755,root,crontab) %{_bindir}/fcronsighup
-%attr(0755,root,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*/*
-
+%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}/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
This page took 0.085821 seconds and 4 git commands to generate.