diff --git a/.cvsignore b/.cvsignore deleted file mode 100644 index 04204c7..0000000 --- a/.cvsignore +++ /dev/null @@ -1 +0,0 @@ -config diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..9ead238 --- /dev/null +++ b/.gitignore @@ -0,0 +1,4 @@ +config +crontab +run-parts +crontabs.4 diff --git a/Makefile b/Makefile deleted file mode 100644 index 10e4626..0000000 --- a/Makefile +++ /dev/null @@ -1,21 +0,0 @@ -# Makefile for source rpm: crontabs -# $Id: Makefile,v 1.1 2004/09/09 03:58:16 cvsdist Exp $ -NAME := crontabs -SPECFILE = $(firstword $(wildcard *.spec)) - -define find-makefile-common -for d in common ../common ../../common ; do if [ -f $$d/Makefile.common ] ; then if [ -f $$d/CVS/Root -a -w $$/Makefile.common ] ; then cd $$d ; cvs -Q update ; fi ; echo "$$d/Makefile.common" ; break ; fi ; done -endef - -MAKEFILE_COMMON := $(shell $(find-makefile-common)) - -ifeq ($(MAKEFILE_COMMON),) -# attempt a checkout -define checkout-makefile-common -test -f CVS/Root && { cvs -Q -d $$(cat CVS/Root) checkout common && echo "common/Makefile.common" ; } || { echo "ERROR: I can't figure out how to checkout the 'common' module." ; exit -1 ; } >&2 -endef - -MAKEFILE_COMMON := $(shell $(checkout-makefile-common)) -endif - -include $(MAKEFILE_COMMON) diff --git a/crontab b/crontab index ecab3da..417e369 100644 --- a/crontab +++ b/crontab @@ -2,12 +2,15 @@ SHELL=/bin/bash PATH=/sbin:/bin:/usr/sbin:/usr/bin MAILTO=root HOME=/ -# .---------------- minute (0 - 59) + +# For details see man 4 crontabs + +# Example of job definition: +# .---------------- minute (0 - 59) # | .------------- hour (0 - 23) # | | .---------- day of month (1 - 31) -# | | | .------- month (1 - 12) OR jan,feb,mar,apr ... -# | | | | .---- day of week (0 - 6) (Sunday=0 or 7) OR -#sun,mon,tue,wed,thu,fri,sat +# | | | .------- month (1 - 12) OR jan,feb,mar,apr ... +# | | | | .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat # | | | | | # * * * * * command to be executed diff --git a/crontabs.spec b/crontabs.spec index cbfb7d8..c1f5455 100644 --- a/crontabs.spec +++ b/crontabs.spec @@ -1,12 +1,12 @@ Summary: Root crontab files used to schedule the execution of programs Name: crontabs Version: 1.10 -Release: 29%{?dist} +Release: 30%{?dist} License: Public Domain and GPLv2 Group: System Environment/Base Source0: crontab Source1: run-parts -Source2: config +Source2: crontabs.4 BuildArch: noarch Requires: /etc/cron.d BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) @@ -25,10 +25,10 @@ your system. rm -rf $RPM_BUILD_ROOT mkdir -p $RPM_BUILD_ROOT/etc/cron.{hourly,daily,weekly,monthly} mkdir -p $RPM_BUILD_ROOT/usr/bin -mkdir -p $RPM_BUILD_ROOT/etc/sysconfig -cp -p %{SOURCE2} $RPM_BUILD_ROOT/etc/sysconfig/crontab +mkdir -p $RPM_BUILD_ROOT/%{_mandir}/man4/ install -m644 $RPM_SOURCE_DIR/crontab $RPM_BUILD_ROOT/etc/crontab install -m755 $RPM_SOURCE_DIR/run-parts $RPM_BUILD_ROOT/usr/bin/run-parts +install -m644 $RPM_SOURCE_DIR/crontabs.4 $RPM_BUILD_ROOT/%{_mandir}/man4/ %clean rm -rf $RPM_BUILD_ROOT @@ -36,14 +36,18 @@ rm -rf $RPM_BUILD_ROOT %files %defattr(-,root,root,-) %{_bindir}/run-parts -%config(noreplace) /etc/sysconfig/crontab %config(noreplace) /etc/crontab +%{_mandir}/man4/* %dir /etc/cron.hourly %dir /etc/cron.daily %dir /etc/cron.weekly %dir /etc/cron.monthly %changelog +* Thu Jun 18 2009 Marcela Mašláňová 1.10-30 +- 491793 thanks Andrew Hecox for patch which allows set allow/deny jobs +- comment change "empty crontab" + * Tue Feb 24 2009 Fedora Release Engineering - 1.10-29 - Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild diff --git a/run-parts b/run-parts index 96c56a5..6ab6f11 100755 --- a/run-parts +++ b/run-parts @@ -25,7 +25,20 @@ for i in $(LC_ALL=C; echo $1/*[^~,]) ; do [ "${i%.swp}" != "${i}" ] && continue [ "${i%,v}" != "${i}" ] && continue + # jobs.deny prevents specific files from being executed + # jobs.allow prohibits all non-named jobs from being run. + # can be used in conjunction but there's no reason to do so. + if [ -r $1/jobs.deny ]; then + grep -q "^$(basename $i)$" $1/jobs.deny && continue + fi + if [ -r $1/jobs.allow ]; then + grep -q "^$(basename $i)$" $1/jobs.allow || continue + fi + if [ -x $i ]; then + if [ -r $1/whitelist ]; then + grep -q "^$(basename $i)$" $1/whitelist && continue + fi logger -p cron.notice -t "run-parts($1)[$$]" "starting $(basename $i)" $i 2>&1 | awk -v "progname=$i" \ 'progname { diff --git a/sources b/sources index ba72251..ba22cac 100644 --- a/sources +++ b/sources @@ -1 +1,3 @@ -ba1e7d606a110d281c16d9d49c6f335d config +714d6ada56f1e41e614693f50a8034ef crontab +3a9b01f4bf9205b5c62cb16782a13d48 run-parts +e1f6e832d90ea9a4ff8f23232b8252a6 crontabs.4