rpms/anacron/F-8 anacron-2.3-hourly.patch, NONE, 1.1 anacron-2.3-spooldir.patch, NONE, 1.1 anacron.spec, 1.43, 1.44
Marcela Mašláňová
mmaslano at fedoraproject.org
Thu Oct 30 13:49:33 UTC 2008
Author: mmaslano
Update of /cvs/pkgs/rpms/anacron/F-8
In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv11627
Modified Files:
anacron.spec
Added Files:
anacron-2.3-hourly.patch anacron-2.3-spooldir.patch
Log Message:
* Thu Oct 30 2008 Marcela MaÅ¡láÅová <mmaslano at redhat.com> 2.3-58
- same script for all cron.something should prevent double jobs
- correct spooldir is logged
anacron-2.3-hourly.patch:
--- NEW FILE anacron-2.3-hourly.patch ---
diff -urN anacron-2.3/fedora.mm/anacron.daily anacron-2.3/fedora/anacron.daily
--- anacron-2.3/fedora.mm/anacron.daily 1970-01-01 01:00:00.000000000 +0100
+++ anacron-2.3/fedora/anacron.daily 2008-10-30 12:44:27.000000000 +0100
@@ -0,0 +1,33 @@
+#!/bin/bash
+# wait for 3:02 when /etc/crontab runs cron.daily
+if [ `date +%H` -le 4 ]; then
+ exit 0;
+fi
+
+#delay - more computers on one line don't receive updates at the same time
+[ -f /etc/sysconfig/crontab ] && . /etc/sysconfig/crontab
+if [ ! -z "$DELAY" ]; then
+ if [ "$DELAY" != "0" ]; then
+ # Create md5sum of hostname (static over system lifetime)
+ md5sum="`echo ${HOSTNAME} | md5sum`"
+
+ # Extract the first 3 hexdigits (12 Bit: 0-4095)
+ hexvalue="${md5sum:0:3}"
+
+ # Create decimal value
+ decvalue="`printf "%d" "0x${hexvalue}"`"
+
+ # Divide delay by factor
+ T_DELAY=$[ ${decvalue} / ${DELAY} ]
+ sleep $T_DELAY
+ fi
+fi
+# in case anacron is already running,
+# there will be log (daemon won't be running twice).
+if test -x /usr/bin/on_ac_power; then
+ /usr/bin/on_ac_power &> /dev/null
+ if test $? -eq 1; then
+ exit 0
+ fi
+fi
+/usr/sbin/anacron -s
anacron-2.3-spooldir.patch:
--- NEW FILE anacron-2.3-spooldir.patch ---
diff -up anacron-2.3/readtab.c.spool anacron-2.3/readtab.c
--- anacron-2.3/readtab.c.spool 2008-04-09 11:04:21.000000000 +0200
+++ anacron-2.3/readtab.c 2008-04-09 11:23:09.000000000 +0200
@@ -305,7 +305,7 @@ read_tab(int cwd)
/* Open the anacrontab file */
fchdir (cwd);
tab = fopen(anacrontab, "r");
- if (chdir(spooldir)) die_e("Can't chdir to %s", SPOOLDIR);
+ if (chdir(spooldir)) die_e("Can't chdir to %s", spooldir);
if (tab == NULL) die_e("Error opening %s", anacrontab);
/* Initialize the obstacks */
Index: anacron.spec
===================================================================
RCS file: /cvs/pkgs/rpms/anacron/F-8/anacron.spec,v
retrieving revision 1.43
retrieving revision 1.44
diff -u -r1.43 -r1.44
--- anacron.spec 11 Dec 2007 08:25:36 -0000 1.43
+++ anacron.spec 30 Oct 2008 13:49:03 -0000 1.44
@@ -1,7 +1,8 @@
+%define _default_patch_fuzz 2
Summary: A cron-like program that can run jobs lost during downtime
Name: anacron
Version: 2.3
-Release: 57%{?dist}
+Release: 58%{?dist}
License: GPLv2+
Group: System Environment/Base
URL: http://packages.debian.org/stable/source/anacron
@@ -13,7 +14,8 @@
Patch2: anacron-2.3-fdclose.patch
Patch3: anacron-2.3-pic.patch
Patch4: anacron-2.3-memleaking.patch
-Patch5: anacron-2.3-onbattery.patch
+Patch5: anacron-2.3-spooldir.patch
+Patch6: anacron-2.3-hourly.patch
Requires: crontabs
Requires: initscripts
@@ -45,7 +47,8 @@
%patch2 -p1 -b .fdclose
%patch3 -p1 -b .pic
%patch4 -p1 -b .memleaking
-%patch5 -p1 -b .onbattery
+%patch5 -p1 -b .spool
+%patch6 -p1
%build
make CFLAGS="$RPM_OPT_FLAGS" %{?_smp_mflags}
@@ -55,7 +58,6 @@
mkdir -p $RPM_BUILD_ROOT/{etc/,usr/sbin/,%{_mandir}/man5,%{_mandir}/man8/}
mkdir -p $RPM_BUILD_ROOT/var/spool/anacron/
-#
cp anacron $RPM_BUILD_ROOT/usr/sbin
cp anacron.8 $RPM_BUILD_ROOT/%{_mandir}/man8/
cp anacrontab.5 $RPM_BUILD_ROOT/%{_mandir}/man5/
@@ -65,9 +67,12 @@
mkdir -p $RPM_BUILD_ROOT/etc/$i/
done
-cp debian/0anacron.daily $RPM_BUILD_ROOT/etc/cron.daily/0anacron
-cp debian/0anacron.monthly $RPM_BUILD_ROOT/etc/cron.monthly/0anacron
-cp debian/0anacron.weekly $RPM_BUILD_ROOT/etc/cron.weekly/0anacron
+#cp debian/0anacron.daily $RPM_BUILD_ROOT/etc/cron.daily/0anacron
+#cp debian/0anacron.monthly $RPM_BUILD_ROOT/etc/cron.monthly/0anacron
+#cp debian/0anacron.weekly $RPM_BUILD_ROOT/etc/cron.weekly/0anacron
+install -m755 fedora/anacron.daily $RPM_BUILD_ROOT/etc/cron.daily/0anacron
+ln -s ../cron.daily/0anacron $RPM_BUILD_ROOT/etc/cron.weekly/0anacron
+ln -s ../cron.daily/0anacron $RPM_BUILD_ROOT/etc/cron.monthly/0anacron
mkdir -p $RPM_BUILD_ROOT/etc/rc.d/init.d/
install -c -m755 %SOURCE2 $RPM_BUILD_ROOT/etc/rc.d/init.d/anacron
@@ -106,6 +111,10 @@
%attr(755,root,root) %dir /etc/cron.weekly/0anacron
%changelog
+* Thu Oct 30 2008 Marcela MaÅ¡láÅová <mmaslano at redhat.com> 2.3-58
+- same script for all cron.something should prevent double jobs
+- correct spooldir is logged
+
* Tue Dec 11 2007 Marcela Maslanova <mmaslano at redhat.com> 2.3-57
- 0anacron.{daily,weekly,monthly} check whether they are on battery
- rhbz#387301
More information about the scm-commits
mailing list