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