Compare commits

..

25 commits

Author SHA1 Message Date
Ville Skyttä
bc1ce99562 Obsoleted by cronie-anacron as of F-12. 2009-12-29 19:36:48 +00:00
Bill Nottingham
89cb7c17c9 Fix typo that causes a failure to update the common directory. (releng
#2781)
2009-11-25 22:39:43 +00:00
Marcela Mašláňová
c684c1163e This package has been obsoleted by cronie. 2009-07-20 18:22:12 +00:00
Marcela Mašláňová
8a3fc308bb #507598 in case lock doesn't exist then the script spam user about non
existent file.
2009-06-30 13:14:34 +00:00
Marcela Mašláňová
8a736b2eb1 - and now upload new source 2009-05-15 12:24:10 +00:00
Marcela Mašláňová
483a8bad02 Enviroment values must be set for cronjob. 2009-05-15 11:58:51 +00:00
Marcela Mašláňová
b633ca9231 - 495333 fix ungrammatical job(s) in log 2009-04-14 14:16:40 +00:00
Marcela Mašláňová
9871122470 - rewrite the range and random patches with checking log to one more lucid
with help of tmraz.
2009-03-27 09:43:13 +00:00
Marcela Mašláňová
1e6c8f2359 Fix typo in anacron again. 2009-03-06 08:14:58 +00:00
Jesse Keating
17ed917047 - Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild 2009-02-24 01:04:09 +00:00
Marcela Mašláňová
e76c227507 - incorrect logging of jobs - fixed number of executed jobs
- really planed jobs are mentioned
- 252254 fix typo in bash script 0anacron
2009-02-19 14:06:19 +00:00
Marcela Mašláňová
967a35b81e - apply fix of my previous range patch from tmraz
- fix man page
2009-02-10 09:58:12 +00:00
Marcela Mašláňová
3c1b0922d9 - add two new options:
- 481775 some people don't want to run daily jobs at all, if they didn't
    run in specific time f.e. 4-7 hours.
- 470168 random delay was removed from crontabs and added into anacron,
    where could be better set.
- cron.d/0hourly will every hour run cron.hourly/0anacron which check
    whether the jobs should be running or not
2009-02-06 14:08:07 +00:00
Marcela Mašláňová
0a0d307a39 - 482782 output in init script redirected 2009-01-28 12:34:43 +00:00
Marcela Mašláňová
2fbe527339 Thr Jan 28 2009 Marcela Mašláňová <mmaslano@redhat.com> 2.3-67
- 482782 output in init script redirected
2009-01-28 09:46:38 +00:00
Marcela Mašláňová
026329cd1f - cron.{daily,weekly,hourly,monthly} should be owned by crontabs, because
some don't have installed anacron and other cron like programmes could
    be dependent
- 0anacron is now trying run all cron.{daily,weekly,...} every hour. This
    should fix problem with jobs running twice, with not running jobs after
    hibernation and so on.
- the random delay is in default switch off
2009-01-26 09:25:53 +00:00
Marcela Mašláňová
4e2effc666 - rewrite init script - using fedora guidelines SysVInitScript 2008-10-24 13:02:50 +00:00
Marcela Mašláňová
776f818eb0 - fix fuzz
- fix previous patch, thanks to mbroz
2008-09-23 08:27:10 +00:00
Marcela Mašláňová
cee41ed7e1 Fix fuzz problem, remove unused patches. 2008-09-23 08:23:14 +00:00
Marcela Mašláňová
5c8d131bb7 Fix fuzz. 2008-09-23 06:47:39 +00:00
Marcela Mašláňová
f18e3e8e83 - fix previous patch, thanks to mbroz 2008-09-22 16:12:15 +00:00
Marcela Mašláňová
e7fd054254 - 441576 really stop anacron daemon 2008-09-22 16:07:05 +00:00
Marcela Mašláňová
7d3cf7fb69 - 441576 really stop anacron daemon 2008-07-30 14:09:55 +00:00
Marcela Mašláňová
f770fe7452 - cleaning lots of scripts in anacron & crontabs 2008-05-30 12:45:31 +00:00
Marcela Mašláňová
7156cbaee2 - cleaning lots of scripts in anacron & crontabs should lead to functional
cron jobs (even with often shut down, hibernation)
- change log output (too many starting anacron messages)
2008-05-28 14:06:40 +00:00
15 changed files with 1 additions and 2576 deletions

5
.gitignore vendored
View file

@ -1,5 +0,0 @@
anacron_2.3.orig.tar.gz
anacron.init
runanacron
anacrontab
anacron.cron

View file

@ -1,107 +0,0 @@
diff -up anacron-2.3/global.h.fdclose anacron-2.3/global.h
--- anacron-2.3/global.h.fdclose 2008-09-23 10:06:04.000000000 +0200
+++ anacron-2.3/global.h 2008-09-23 10:06:04.000000000 +0200
@@ -63,6 +63,7 @@ struct job_rec1 {
int tab_line;
int arg_num;
int timestamp_fd;
+ int input_fd;
int output_fd;
int mail_header_size;
pid_t job_pid;
diff -up anacron-2.3/runjob.c.fdclose anacron-2.3/runjob.c
--- anacron-2.3/runjob.c.fdclose 2008-09-23 10:06:04.000000000 +0200
+++ anacron-2.3/runjob.c 2008-09-23 10:06:04.000000000 +0200
@@ -38,12 +38,12 @@
#include <langinfo.h>
static int
-temp_file()
+temp_file(job_rec *jr)
/* Open a temporary file and return its file descriptor */
{
const int max_retries = 50;
char *name;
- int fd, i;
+ int fdin, fdout, i;
i = 0;
name = NULL;
@@ -53,16 +53,24 @@ temp_file()
free(name);
name = tempnam(NULL, NULL);
if (name == NULL) die("Can't find a unique temporary filename");
- fd = open(name, O_RDWR | O_CREAT | O_EXCL | O_APPEND,
- S_IRUSR | S_IWUSR);
+ fdout = open(name, O_WRONLY | O_CREAT | O_EXCL | O_APPEND,
+ S_IRUSR | S_IWUSR);
+ if ( fdout != -1 )
+ fdin = open(name, O_RDONLY, S_IRUSR | S_IWUSR);
/* I'm not sure we actually need to be so persistent here */
- } while (fd == -1 && errno == EEXIST && i < max_retries);
+ } while (fdout == -1 && errno == EEXIST && i < max_retries);
- if (fd == -1) die_e("Can't open temporary file");
+ if (fdout == -1) die_e("Can't open temporary file for writing");
+ if (fdin == -1) die_e("Can't open temporary file for reading");
if (unlink(name)) die_e("Can't unlink temporary file");
free(name);
- fcntl(fd, F_SETFD, 1); /* set close-on-exec flag */
- return fd;
+ fcntl(fdout, F_SETFD, 1); /* set close-on-exec flag */
+ fcntl(fdin, F_SETFD, 1); /* set close-on-exec flag */
+
+ jr->input_fd = fdin;
+ jr->output_fd = fdout;
+
+ return fdout;
}
static off_t
@@ -167,17 +175,28 @@ launch_mailer(job_rec *jr)
pid = xfork();
if (pid == 0)
{
+ long fdflags;
+
/* child */
in_background = 1;
/* set stdin to the job's output */
xclose(0);
- if (dup2(jr->output_fd, 0) != 0) die_e("Can't dup2()");
+ if (dup2(jr->input_fd, 0) != 0) die_e("Can't dup2()");
if (lseek(0, 0, SEEK_SET) != 0) die_e("Can't lseek()");
umask(old_umask);
if (sigprocmask(SIG_SETMASK, &old_sigmask, NULL))
die_e("sigprocmask error");
xcloselog();
+ /* Ensure stdout/stderr are sane before exec-ing sendmail */
+ xclose(1); xopen(1, "/dev/null", O_WRONLY);
+ xclose(2); xopen(2, "/dev/null", O_WRONLY);
+ xclose(jr->output_fd);
+
+ /* Ensure stdin is not appendable ... ? */
+ /* fdflags = fcntl(0, F_GETFL); fdflags &= ~O_APPEND; */
+ /* fcntl(0, F_SETFL, fdflags ); */
+
/* Here, I basically mirrored the way /usr/sbin/sendmail is called
* by cron on a Debian system, except for the "-oem" and "-or0s"
* options, which don't seem to be appropriate here.
@@ -236,7 +255,7 @@ launch_job(job_rec *jr)
jr->mailto = username ();
/* create temporary file for stdout and stderr of the job */
- fd = jr->output_fd = temp_file();
+ temp_file(jr); fd = jr->output_fd;
/* write mail header */
xwrite(fd, "From: ");
xwrite(fd, "Anacron <");
@@ -302,6 +321,7 @@ tend_job(job_rec *jr, int status)
running_jobs--;
if (mail_output) launch_mailer(jr);
xclose(jr->output_fd);
+ xclose(jr->input_fd);
}
void

View file

@ -1,22 +0,0 @@
diff -up anacron-2.3/runjob.c.charset anacron-2.3/runjob.c
--- anacron-2.3/runjob.c.charset 2008-09-23 09:42:49.000000000 +0200
+++ anacron-2.3/runjob.c 2008-09-23 09:42:49.000000000 +0200
@@ -35,6 +35,8 @@
#include <string.h>
#include "global.h"
+#include <langinfo.h>
+
static int
temp_file()
/* Open a temporary file and return its file descriptor */
@@ -247,6 +249,9 @@ launch_job(job_rec *jr)
xwrite(fd, username());
}
xwrite(fd, "\n");
+ xwrite(fd, "Content-Type: text/plain; charset=\"");
+ xwrite(fd, nl_langinfo(CODESET));
+ xwrite(fd, "\"\n");
xwrite(fd, "Subject: Anacron job '");
xwrite(fd, jr->ident);
xwrite(fd, "' on ");

View file

@ -1,182 +0,0 @@
--- anacron-2.3/gregor.c.mem 2007-08-08 10:02:58.000000000 +0200
+++ anacron-2.3/gregor.c 2007-08-08 10:10:55.000000000 +0200
@@ -27,7 +27,7 @@
#include <time.h>
#include "gregor.h"
-const static int
+static const int
days_in_month[] = {
31, /* Jan */
28, /* Feb (non-leap) */
--- anacron-2.3/log.c.mem 2007-08-08 10:02:58.000000000 +0200
+++ anacron-2.3/log.c 2007-08-08 10:13:03.000000000 +0200
@@ -83,7 +83,7 @@
}
static void
-log(int priority, const char *fmt, va_list args)
+slog(int priority, const char *fmt, va_list args)
/* Log a message, described by "fmt" and "args", with the specified
* "priority". */
{
@@ -101,7 +101,7 @@
static void
log_e(int priority, const char *fmt, va_list args)
-/* Same as log(), but also appends an error description corresponding
+/* Same as slog(), but also appends an error description corresponding
* to "errno". */
{
int saved_errno;
@@ -127,7 +127,7 @@
va_list args;
va_start(args, fmt);
- log(EXPLAIN_LEVEL, fmt, args);
+ slog(EXPLAIN_LEVEL, fmt, args);
va_end(args);
}
@@ -149,7 +149,7 @@
va_list args;
va_start(args, fmt);
- log(COMPLAIN_LEVEL, fmt, args);
+ slog(COMPLAIN_LEVEL, fmt, args);
va_end(args);
complaints += 1;
@@ -175,7 +175,7 @@
va_list args;
va_start(args, fmt);
- log(COMPLAIN_LEVEL, fmt, args);
+ slog(COMPLAIN_LEVEL, fmt, args);
va_end(args);
if (getpid() == primary_pid) complain("Aborted");
@@ -207,7 +207,7 @@
va_list args;
va_start(args, fmt);
- log(DEBUG_LEVEL, fmt, args);
+ slog(DEBUG_LEVEL, fmt, args);
va_end(args);
}
--- anacron-2.3/global.h.mem 2007-08-08 10:02:58.000000000 +0200
+++ anacron-2.3/global.h 2007-08-08 10:10:21.000000000 +0200
@@ -105,18 +105,25 @@
/* main.c */
int xopen(int fd, const char *file_name, int flags);
void xclose(int fd);
-pid_t xfork();
+pid_t xfork(void);
+
+#ifdef __GNUC__
+#define PRINTF_FORMAT(n, m) \
+ __attribute__ ((format (printf, n, m)))
+#else
+#define PRINTF_FORMAT(n, m)
+#endif
/* log.c */
-void explain(const char *fmt, ...);
-void explain_e(const char *fmt, ...);
-void complain(const char *fmt, ...);
-void complain_e(const char *fmt, ...);
-void die(const char *fmt, ...);
-void die_e(const char *fmt, ...);
-void xdebug(const char *fmt, ...);
-void xdebug_e(const char *fmt, ...);
-void xcloselog();
+void explain(const char *fmt, ...)PRINTF_FORMAT(1,2);
+void explain_e(const char *fmt, ...)PRINTF_FORMAT(1,2);
+void complain(const char *fmt, ...)PRINTF_FORMAT(1,2);
+void complain_e(const char *fmt, ...)PRINTF_FORMAT(1,2);
+void die(const char *fmt, ...)PRINTF_FORMAT(1,2);
+void die_e(const char *fmt, ...)PRINTF_FORMAT(1,2);
+void xdebug(const char *fmt, ...)PRINTF_FORMAT(1,2);
+void xdebug_e(const char *fmt, ...)PRINTF_FORMAT(1,2);
+void xcloselog(void);
#ifdef DEBUG
#define Debug(args) xdebug args
@@ -128,7 +135,7 @@
/* readtab.c */
void read_tab(int cwd);
-void arrange_jobs();
+void arrange_jobs(void);
/* lock.c */
int consider_job(job_rec *jr);
--- anacron-2.3/runjob.c.mem 2007-08-08 10:02:58.000000000 +0200
+++ anacron-2.3/runjob.c 2007-08-08 10:17:44.000000000 +0200
@@ -64,8 +64,8 @@
if (fdin == -1) die_e("Can't open temporary file for reading");
if (unlink(name)) die_e("Can't unlink temporary file");
free(name);
- fcntl(fdout, F_SETFD, 1); /* set close-on-exec flag */
- fcntl(fdin, F_SETFD, 1); /* set close-on-exec flag */
+ fcntl(fdout, F_SETFD, FD_CLOEXEC); /* set close-on-exec flag */
+ fcntl(fdin, F_SETFD, FD_CLOEXEC); /* set close-on-exec flag */
jr->input_fd = fdin;
jr->output_fd = fdout;
@@ -175,8 +175,6 @@
pid = xfork();
if (pid == 0)
{
- long fdflags;
-
/* child */
in_background = 1;
/* set stdin to the job's output */
--- anacron-2.3/matchrx.c.mem 2000-06-21 01:12:18.000000000 +0200
+++ anacron-2.3/matchrx.c 2007-08-08 10:16:54.000000000 +0200
@@ -26,6 +26,7 @@
#include <regex.h>
#include <stdarg.h>
#include <stdlib.h>
+#include <string.h>
#include "matchrx.h"
int
@@ -49,11 +50,20 @@
sub_offsets = malloc(sizeof(regmatch_t) * (n_sub + 1));
memset(sub_offsets, 0, sizeof(regmatch_t) * (n_sub + 1));
- if (regcomp(&crx, rx, REG_EXTENDED)) return - 1;
+ if (regcomp(&crx, rx, REG_EXTENDED)) {
+ free(sub_offsets);
+ return - 1;
+ }
r = regexec(&crx, string, n_sub + 1, sub_offsets, 0);
- if (r != 0 && r != REG_NOMATCH) return - 1;
+ if (r != 0 && r != REG_NOMATCH) {
+ free(sub_offsets);
+ return - 1;
+ }
regfree(&crx);
- if (r == REG_NOMATCH) return 0;
+ if (r == REG_NOMATCH) {
+ free(sub_offsets);
+ return 0;
+ }
va_start(va, n_sub);
n = 1;
@@ -62,7 +72,10 @@
substring = va_arg(va, char**);
if (substring != NULL)
{
- if (sub_offsets[n].rm_so == -1) return - 1;
+ if (sub_offsets[n].rm_so == -1) {
+ free(sub_offsets);
+ return - 1;
+ }
*substring = string + sub_offsets[n].rm_so;
*(string + sub_offsets[n].rm_eo) = 0;
}

View file

@ -1,60 +0,0 @@
diff -up anacron-2.3/debian/0anacron.daily.old anacron-2.3/debian/0anacron.daily
--- anacron-2.3/debian/0anacron.daily.old 2007-11-30 13:35:58.000000000 +0100
+++ anacron-2.3/debian/0anacron.daily 2007-12-10 12:42:04.000000000 +0100
@@ -8,5 +8,16 @@
# The script is called "0anacron" to assure that it will be executed
# _before_ all other scripts.
+# on_ac_power doesn't exist, on_ac_power returns 0 (ac power being used)
+if test -x /usr/bin/on_ac_power
+ then
+ /usr/bin/on_ac_power > /dev/null
+ if test $? -eq 1
+ then
+ echo "deferred while on battery power."
+ exit 0
+ fi
+fi
+
test -x /usr/sbin/anacron || exit 0
anacron -u cron.daily
diff -up anacron-2.3/debian/0anacron.weekly.old anacron-2.3/debian/0anacron.weekly
--- anacron-2.3/debian/0anacron.weekly.old 2007-12-10 12:42:53.000000000 +0100
+++ anacron-2.3/debian/0anacron.weekly 2007-12-10 12:43:26.000000000 +0100
@@ -8,5 +8,16 @@
# The script is called "0anacron" to assure that it will be executed
# _before_ all other scripts.
+# on_ac_power doesn't exist, on_ac_power returns 0 (ac power being used)
+if test -x /usr/bin/on_ac_power
+ then
+ /usr/bin/on_ac_power > /dev/null
+ if test $? -eq 1
+ then
+ echo "deferred while on battery power."
+ exit 0
+ fi
+fi
+
test -x /usr/sbin/anacron || exit 0
anacron -u cron.weekly
diff -up anacron-2.3/debian/0anacron.monthly.old anacron-2.3/debian/0anacron.monthly
--- anacron-2.3/debian/0anacron.monthly.old 2007-12-10 12:42:42.000000000 +0100
+++ anacron-2.3/debian/0anacron.monthly 2007-12-10 12:43:12.000000000 +0100
@@ -8,5 +8,16 @@
# The script is called "0anacron" to assure that it will be executed
# _before_ all other scripts.
+# on_ac_power doesn't exist, on_ac_power returns 0 (ac power being used)
+if test -x /usr/bin/on_ac_power
+ then
+ /usr/bin/on_ac_power > /dev/null
+ if test $? -eq 1
+ then
+ echo "deferred while on battery power."
+ exit 0
+ fi
+fi
+
test -x /usr/sbin/anacron || exit 0
anacron -u cron.monthly

View file

@ -1,12 +0,0 @@
--- anacron-2.3/Makefile.piee 2006-10-17 12:39:39.000000000 +0200
+++ anacron-2.3/Makefile 2006-10-17 12:39:39.000000000 +0200
@@ -22,7 +22,8 @@
PREFIX =
BINDIR = $(PREFIX)/usr/sbin
MANDIR = $(PREFIX)/usr/man
-CFLAGS = -Wall -pedantic -O2
+LDFLAGS = -fpie -Wl,-z,relro
+CFLAGS = -Wall -pedantic -W -Wundef -fpie
#CFLAGS = -Wall -O2 -g -DDEBUG
# If you change these, please update the man-pages too

View file

@ -1,12 +0,0 @@
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 */

View file

@ -1,36 +0,0 @@
diff -up anacron-2.3/debian/0anacron.monthly.err anacron-2.3/debian/0anacron.monthly
--- anacron-2.3/debian/0anacron.monthly.err 2007-12-11 09:07:12.000000000 +0100
+++ anacron-2.3/debian/0anacron.monthly 2008-02-28 14:05:55.000000000 +0100
@@ -11,7 +11,7 @@
# on_ac_power doesn't exist, on_ac_power returns 0 (ac power being used)
if test -x /usr/bin/on_ac_power
then
- /usr/bin/on_ac_power > /dev/null
+ /usr/bin/on_ac_power &> /dev/null
if test $? -eq 1
then
echo "deferred while on battery power."
diff -up anacron-2.3/debian/0anacron.weekly.err anacron-2.3/debian/0anacron.weekly
--- anacron-2.3/debian/0anacron.weekly.err 2007-12-11 09:07:12.000000000 +0100
+++ anacron-2.3/debian/0anacron.weekly 2008-02-28 14:06:03.000000000 +0100
@@ -11,7 +11,7 @@
# on_ac_power doesn't exist, on_ac_power returns 0 (ac power being used)
if test -x /usr/bin/on_ac_power
then
- /usr/bin/on_ac_power > /dev/null
+ /usr/bin/on_ac_power &> /dev/null
if test $? -eq 1
then
echo "deferred while on battery power."
diff -up anacron-2.3/debian/0anacron.daily.err anacron-2.3/debian/0anacron.daily
--- anacron-2.3/debian/0anacron.daily.err 2007-12-11 09:07:12.000000000 +0100
+++ anacron-2.3/debian/0anacron.daily 2008-02-28 14:05:48.000000000 +0100
@@ -11,7 +11,7 @@
# on_ac_power doesn't exist, on_ac_power returns 0 (ac power being used)
if test -x /usr/bin/on_ac_power
then
- /usr/bin/on_ac_power > /dev/null
+ /usr/bin/on_ac_power &> /dev/null
if test $? -eq 1
then
echo "deferred while on battery power."

View file

@ -1,12 +0,0 @@
--- anacron-2.3/debian/0anacron.daily.script 2007-08-15 09:21:14.000000000 +0200
+++ anacron-2.3/debian/0anacron.daily 2007-08-15 09:30:15.000000000 +0200
@@ -9,4 +9,8 @@
# _before_ all other scripts.
test -x /usr/sbin/anacron || exit 0
-anacron -u cron.daily
+AUX1=`cat /var/spool/anacron/cron.daily`
+AUX2=`date +%Y%m%d`
+if [ "$AUX1" != $AUX2 ]; then
+ anacron -u cron.daily
+fi

View file

@ -1,99 +0,0 @@
#!/bin/sh
#
# anacron Run cron jobs that were left out due to downtime.
#
# chkconfig: 2345 99 05
# description: anacron exits after it has determined it has no more work to do. \
# Hence, its initscript cannot do normal lock file management. \
# The anacron binary now creates its own /var/run/anacron.pid pid file \
# and /var/lock/subsys lock files, and removes them automatically at exit, \
# so at least there will be no more "anacron is dead but subsys locked" \
# messages.
### BEGIN INIT INFO
# Provides: $anacron
# Required-Start: $local_fs $syslog
# Required-Stop: $local_fs $syslog
# Default-Start: 2345
# Default-Stop: 99
# Short-Description: run left over cron jobs
# Description: anacron exits after it has determined it has no more work to do.
# Hence, its initscript cannot do normal lock file management.
# The anacron binary now creates its own /var/run/anacron.pid pid file
# and /var/lock/subsys lock files, and removes them automatically at exit,
# so at least there will be no more "anacron is dead but subsys locked"
# messages.
### END INIT INFO
# Source function library.
. /etc/rc.d/init.d/functions
exec=/usr/sbin/anacron
prog=anacron
#config=doesn't have config file, some values are stored in /etc/anacrontab
lockfile=/var/lock/subsys/$prog
start() {
[ -x $exec ] || exit 5
echo -n $"Starting $prog: "
daemon +19 anacron -s
retval=$?
echo
[ $retval -eq 0 ]
## && touch $lockfile it creates lock in code
return $retval
}
stop() {
echo -n $"Stopping $prog: "
killproc $prog
retval=$?
echo
[ $retval -eq 0 ]
#usually anacron clean his lock after he stops himself.
#Just in case something goes wrong kill him.
[ -f $lockfile ] && rm -f $lockfile
return $retval
}
restart() {
stop
start
}
rh_status() {
# run checks to determine if the service is running or use generic status
status $prog
}
rh_status_q() {
rh_status >/dev/null 2>&1
}
case "$1" in
start)
rh_status_q && exit 0
$1
;;
stop)
rh_status_q || exit 0
$1
;;
restart)
$1
;;
status)
rh_status
;;
condrestart)
rh_status_q || exit 0
restart
;;
*)
echo $"Usage: $0 {start|stop|status|restart|condrestart}"
exit 2
esac
exit $?

View file

@ -1,383 +0,0 @@
Summary: A cron-like program that can run jobs lost during downtime
Name: anacron
Version: 2.3
Release: 63%{?dist}
License: GPLv2+
Group: System Environment/Base
URL: http://packages.debian.org/stable/source/anacron
Source: http://ftp.debian.org/debian/pool/main/a/anacron/%{name}_%{version}.orig.tar.gz
Source1: anacrontab
Source2: anacron.init
Source3: runanacron
Source4: anacron.cron
Patch0: anacron_2.3-13.patch
Patch1: anacron-2.3-mail-content-type-77108.patch
Patch2: anacron-2.3-fdclose.patch
Patch3: anacron-2.3-pic.patch
Patch4: anacron-2.3-memleaking.patch
#Patch5: anacron-2.3-onbattery.patch
#Patch6: anacron-2.3-sterr_null.patch
Patch7: anacron-2.3-spooldir.patch
Requires: crontabs
Requires: initscripts
Requires(post): /sbin/chkconfig
Requires(preun): /sbin/chkconfig
Requires(postun): /sbin/service
Requires(preun): /sbin/service
BuildRoot: %{_tmppath}/%{name}-%{version}-buildroot
%description
Anacron (like `anac(h)ronistic') is a periodic command scheduler.
It executes commands at intervals specified in days. Unlike cron, it
does not assume that the system is running continuously. It can
therefore be used to control the execution of daily, weekly and
monthly jobs (or anything with a period of n days), on systems that
don't run 24 hours a day. When installed and configured properly,
Anacron will make sure that the commands are run at the specified
intervals as closely as machine-uptime permits.
This package is pre-configured to execute the daily jobs of the Red
Hat Linux (or Fedora) system. You should install this program if your
system isn't powered on 24 hours a day to make sure the maintenance
jobs of other Red Hat Linux (or Fedora) packages are executed each day.
%prep
%setup -q
%patch0 -p1 -b .try
%patch1 -p1 -b .charset
%patch2 -p1 -b .fdclose
%patch3 -p1 -b .pic
%patch4 -p1 -b .memleaking
#%patch5 -p1 -b .onbattery
#%patch6 -p1 -b .sterr
%patch7 -p1 -b .spool
%build
make CFLAGS="$RPM_OPT_FLAGS" %{?_smp_mflags}
%install
rm -rf $RPM_BUILD_ROOT
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/
cp %SOURCE1 $RPM_BUILD_ROOT/etc
for i in cron.daily cron.weekly cron.monthly;do
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
mkdir -p $RPM_BUILD_ROOT/etc/rc.d/init.d/
install -c -m755 %SOURCE2 $RPM_BUILD_ROOT/etc/rc.d/init.d/anacron
install -c -m755 %SOURCE3 $RPM_BUILD_ROOT/usr/sbin/runanacron
mkdir -p $RPM_BUILD_ROOT/etc/cron.d
install -m644 %SOURCE4 $RPM_BUILD_ROOT/etc/cron.d/anacron
%clean
rm -rf $RPM_BUILD_ROOT
%post
/sbin/chkconfig --add anacron
if [ "$1" -ge 1 ]; then
/sbin/chkconfig --level 2345 anacron resetpriorities
fi
%preun
if [ "$1" = "0" ]; then
service anacron stop >/dev/null 2>&1 ||:
/sbin/chkconfig --del anacron
fi
%postun
if [ "$1" -ge "1" ]; then
service anacron condrestart >/dev/null 2>&1 ||:
fi
%files
%defattr(-,root,root,0755)
%doc COPYING README
%config(noreplace) /etc/anacrontab
%dir /var/spool/anacron/
%dir /etc/rc.d/init.d/*
/%{_mandir}/man5/*
/%{_mandir}/man8/*
/usr/sbin/anacron
/usr/sbin/runanacron
/etc/cron.d/anacron
%attr(755,root,root) %dir /etc/cron.daily/0anacron
%attr(755,root,root) %dir /etc/cron.monthly/0anacron
%attr(755,root,root) %dir /etc/cron.weekly/0anacron
%changelog
* Mon Feb 2 2009 Marcela Mašláňová <mmaslano@redhat.com> 2.3-63
- 477709 hack aroung problems with running jobs twice
- remove patches 6 a 7, they were obsoleted by this hack
* Thu Oct 23 2008 Marcela Mašláňová <mmaslano@redhat.com> 2.3-62
- rewrite init script - using fedora guidelines SysVInitScript
* Mon Sep 22 2008 Marcela Maslanova <mmaslano@redhat.com> 2.3-61
- correct init script - really kill anacron
* Wed Apr 9 2008 Marcela Maslanova <mmaslano@redhat.com> 2.3-60
- correct spooldir logged
* Thu Feb 28 2008 Marcela Maslanova <mmaslano@redhat.com> 2.3-59
- 0anacron.{daily,weekly,monthly} sterror's output also goes to
dev/null
- rhbz#435255
* Tue Feb 19 2008 Fedora Release Engineering <rel-eng@fedoraproject.org> - 2.3-58
- Autorebuild for GCC 4.3
* Mon Dec 10 2007 Marcela Maslanova <mmaslano@redhat.com> 2.3-57
- 0anacron.{daily,weekly,monthly} check whether they are on battery
- rhbz#387301
* Tue Sep 25 2007 Marcela Maslanova <mmaslano@redhat.com> 2.3-56
- cron.{hourly,daily} work correct -> remove checking whether
cron.daily has been run
- persist: run pc between midnight and 4:02 -> cron.daily run twice.
- rhbz#296741
* Fri Aug 31 2007 Marcela Maslanova <mmaslano@redhat.com> 2.3-55
- change chkconfig --add, because it wasn't running after
fresh install #267801
* Thu Aug 30 2007 Marcela Maslanova <mmaslano@redhat.com> 2.3-54
- change chkconfig levels in post part
* Wed Aug 17 2007 Marcela Maslanova <mmaslano@redhat.com> 2.3-53
- rebuild with changed post - starting value must be removed
- Resolves: 252166, 252255, 252254
* Tue Aug 14 2007 Marcela Maslanova <mmaslano@redhat.com> 2.3-51
- rebuild with correct init script
* Mon Aug 13 2007 Marcela Maslanova <mmaslano@redhat.com> 2.3-50
- rewrite typo in init script
- Resolves: rhbz#251757
* Wed Aug 08 2007 Marcela Maslanova <mmaslano@redhat.com> 2.3-49
- adopt some patches from upstream for better locking
- add own changes, which resolve problem with two or more run of
cron.daily per day.
- Resolves: #157448
* Wed Jul 11 2007 Marcela Maslanova <mmaslano@redhat.com> 2.3-48
- changes in init script (not build)
* Tue Feb 6 2007 Marcela Maslanova <mmaslano@redhat.com> 2.3-47
- thanks for review from Jef Spaleta
- rhbz#225247, rhbz#211309
* Mon Dec 04 2006 Marcela Maslanova <mmaslano@redhat.com> 2.3-45
- rebuilt with pie insted pic
* Tue Oct 10 2006 Marcela Maslanova <mmaslano@redhat.com> 2.3-44
- fix memory leaking (both #210020)
- PIE(PIC) executable
* Tue Oct 2 2006 Marcela Maslanova <mmaslano@redhat.com> 2.3-42
- hostname added to mail (#208914)
* Fri Sep 29 2006 Marcela Maslanova <mmaslano@redhat.com> 2.3-41
- change spec file - patch from Orion Poplawski (#191410)
* Mon Sep 11 2006 Dan Walsh <dwalsh@redhat.com> 2.3-40
- Grab the fdclose patch from FC4
- fix bug 185973: allow use of sendmail under selinux-policy-strict:
apply patch contributed by Ted Rule<ejtr@layer3.co.uk>
* Wed Aug 30 2006 Jitka Kudrnacova <jkudrnac@redhat.com> - 2.3-39
- modified PATH in /etc/anacrontab file to make the same as in /etc/crontab (#61891)
* Wed Jul 12 2006 Jesse Keating <jkeating@redhat.com> - 2.3-38.FC6.1
- rebuild
* Thu Apr 13 2006 Jason Vas Dias <jvdias@redhat.com> - 2.3-38.1
- fix bug 188403: anacron SysVinit locking:
Since anacron just exits when it has no more work to do, the
initscript cannot do normal /var/lock/subsys/anacron lock file
creation, else messages such as 'anacron dead but subsys locked'
will appear when changing init levels.
Now, the anacron process itself creates its own
/var/lock/subsys/anacron SysVinit lock file and
/var/run/anacron.pid pid file to co-operate more
gracefully with the initscript system.
* Fri Feb 10 2006 Jesse Keating <jkeating@redhat.com> - 2.3-36.1
- bump again for double-long bug on ppc(64)
* Tue Feb 07 2006 Jason Vas Dias <jvdias@redhat.com> - 2.3-36
- rebuild for new gcc, glibc, glibc-kernheaders
* Wed Jan 11 2006 Peter Jones <pjones@redhat.com> 2.3-35
- Fix initscript so changing runlevel shuts it down correctly
* Fri Dec 09 2005 Jesse Keating <jkeating@redhat.com>
- rebuilt
* Wed Mar 16 2005 Jason Vas Dias <jvdias@redhat.com> 2.3-34
- Rebuild with gcc4 in FC4.
* Mon Feb 21 2005 Jason Vas Dias <jvdias@redhat.com> 2.3-33
- Rebuild for FC4 .
* Tue Sep 28 2004 Rik van Riel <riel@redhat.com> 2.3-32
- add MAILTO option, like vixie cron has (bz#127924)
* Fri Jul 2 2004 Elliot Lee <sopwith@redhat.com>
- rebuilt
- Add noconst patch to fix invalid C
* Fri Feb 13 2004 Elliot Lee <sopwith@redhat.com>
- rebuilt
* Thu Jul 10 2003 Jens Petersen <petersen@redhat.com> - 2.3-29
- don't require vixie-cron (#21176) [reported by Gerald Teschl]
- in init script don't remove /var/lock/subsys/anacron when stopping (#58462)
- exit init script with actual exit status (#44600) [reported by Enrico Scholz]
* Thu Jul 10 2003 Jens Petersen <petersen@redhat.com> - 2.3-28
- add a Content-Type header to mails giving the charset encoding (#77108)
* Thu Jul 10 2003 Jens Petersen <petersen@redhat.com> - 2.3-27
- in init script do not touch /var/lock/subsys/anacron when starting (#58462)
- require crontabs (#21176)
- update source url
* Wed Jun 04 2003 Elliot Lee <sopwith@redhat.com>
- rebuilt
* Wed Jan 22 2003 Tim Powers <timp@redhat.com>
- rebuilt
* Wed Dec 11 2002 Tim Powers <timp@redhat.com> 2.3-24
- rebuild on all arches
* Fri Aug 23 2002 Jens Petersen <petersen@redhat.com> 2.3-23
- delay the start of anacron by 60min to make startup more pleasant (#68304)
- at startup run jobs serially and nice 19 to reduce load (#65870, #68304)
- spec file now in utf-8
- dont install non-existant NEWS file
- silence make include warnings
* Fri Jul 19 2002 Akira TAGOH <tagoh@redhat.com> 2.3-22
- fix the stripped binary issue.
* Mon Jul 08 2002 Bill Huang <bhuang@redhat.com>
- Update "Copyright" to "License" in spec file
* Fri Jun 21 2002 Tim Powers <timp@redhat.com>
- automated rebuild
* Thu May 23 2002 Tim Powers <timp@redhat.com>
- automated rebuild
* Wed Jan 09 2002 Tim Powers <timp@redhat.com>
- automated rebuild
* Sun Jun 24 2001 Elliot Lee <sopwith@redhat.com>
- Bump release + rebuild.
* Tue Apr 3 2001 Crutcher Dunnavant <crutcher@redhat.com>
- add dependancy to vixie-cron (for /usr/bin/run-parts)
* Tue Feb 13 2001 Tim Waugh <twaugh@redhat.com>
- killproc is a shell function and can't be passed as a parameter
(bug #27150).
* Mon Feb 5 2001 Bernhard Rosenkraenzer <bero@redhat.com>
- Fix i18n in initscript ("Stopping anacron" wasn't translated)
(#26076)
* Fri Feb 2 2001 Trond Eivind Glomsrød <teg@redhat.com>
- i18nize initscript
* Thu Dec 7 2000 Crutcher Dunnavant <crutcher@redhat.com>
- rebuild in rebuild cycle.
* Mon Oct 30 2000 Matt Wilson <msw@redhat.com>
- touch /var/lock/subsys/anacron to prevent excess startage during
init level change
* Wed Aug 30 2000 Bernhard Rosenkraenzer <bero@redhat.com>
- Shut down earlier to prevent NFS mounted /usr filesystems from causing
problems (Bug #16257)
* Fri Aug 4 2000 Bernhard Rosenkraenzer <bero@redhat.com>
- Start it later so services some cron scripts may depend on are running
(Bug #15335)
* Thu Aug 3 2000 Bernhard Rosenkraenzer <bero@redhat.com>
- Fix up initscript (Bug #15123 and an unreported bug)
* Sat Jul 15 2000 Bill Nottingham <notting@redhat.com>
- move initscript back
* Wed Jul 12 2000 Prospector <bugzilla@redhat.com>
- automatic rebuild
* Mon Jul 10 2000 Bernhard Rosenkraenzer <bero@redhat.com>
- Fix up initscripts (Bug #13625)
* Tue Jul 4 2000 Matt Wilson <msw@redhat.com>
- Prereq: /sbin/chkconfig
* Mon Jun 26 2000 Preston Brown <pbrown@redhat.com>
- move initscript to /etc/init.d, fix up post/preun/postun scripts.
* Sun Jun 26 2000 Bernhard Rosenkraenzer <bero@redhat.com>
- 2.3
* Sun Jun 18 2000 Matt Wilson <msw@redhat.com>
- use %%{_mandir}
* Fri Mar 03 2000 Tim Powers <timp@redhat.com>
- fixed startup script so that it doesn't put stuff in /var/lock/subsys.
Complains since anacronda turns itself off when it is run, and the file in
/var/lock/subsys isn't removed.
* Mon Feb 28 2000 Tim Powers <timp@redhat.com>
- fixed startup script, now it actually stops, gives status and restarts.
Fixes bug #9835
* Mon Feb 7 2000 Bill Nottingham <notting@redhat.com>
- handle compressed manpages
* Fri Feb 4 2000 Bernhard Rosenkraenzer <bero@redhat.com>
- rebuild to get compressed man pages
- mark /etc/cron.daily/... as config files
* Wed Feb 02 2000 Cristian Gafton <gafton@redhat.com>
- fix annoying defines
- rebuild to update description and group
* Thu Jan 6 2000 Bernhard Rosenkränzer <bero@redhat.com>
- initial Red Hat package
* Wed Dec 29 1999 Chmouel Boudjnah <chmouel@mandrakesoft.com>
- Remove cron.hourly check (unusefull).
* Wed Nov 10 1999 Chmouel Boudjnah <chmouel@mandrakesoft.com>
- 2.1 from debian.
- Fix typo in initscripts.
* Thu Jul 22 1999 Chmouel Boudjnah <chmouel@mandrakesoft.com>
- Fix wrong entries in anacrontab.
- Add a /etc/rc.sysinit/ script
* Tue Apr 27 1999 Chmouel Boudjnah <chmouel@mandrakesoft.com>
- Fix bug with /var/spool/anacron/
* Sat Apr 10 1999 Chmouel Boudjnah <chmouel@mandrakesoft.com>
- First version mainly inspired from the Debian package.

File diff suppressed because it is too large Load diff

View file

@ -1,11 +0,0 @@
# /etc/anacrontab: configuration file for anacron
# See anacron(8) and anacrontab(5) for details.
SHELL=/bin/sh
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
1 65 cron.daily nice run-parts /etc/cron.daily
7 70 cron.weekly nice run-parts /etc/cron.weekly
@monthly 75 cron.monthly nice run-parts /etc/cron.monthly

1
dead.package Normal file
View file

@ -0,0 +1 @@
Obsoleted by cronie-anacron as of F-12.

View file

@ -1,5 +0,0 @@
9fdfc50f5741643332722a9145146278 anacron_2.3.orig.tar.gz
094af5e05723d2c4924d60f73d738509 anacron.init
1e65b1fcb49c7929645a1bd0baffd7ef runanacron
e4368e8f686c710f63027af0f213cfe5 anacrontab
312b5eed93765e26e9d21f23bccc72c9 anacron.cron