[packages] logrotate: update to v3.7.8
authorNicolas Thill <nico@openwrt.org>
Mon, 5 Oct 2009 13:28:31 +0000 (13:28 +0000)
committerNicolas Thill <nico@openwrt.org>
Mon, 5 Oct 2009 13:28:31 +0000 (13:28 +0000)
SVN-Revision: 17879

utils/logrotate/Makefile
utils/logrotate/patches/001-dateext_maxage.patch [deleted file]
utils/logrotate/patches/002-datehack.patch
utils/logrotate/patches/003-ignore_hidden.patch
utils/logrotate/patches/004-no_tmpdir.patch [deleted file]
utils/logrotate/patches/005-taboo_to_debug.patch [deleted file]
utils/logrotate/patches/006-weekly.patch

index 53ee720..8585c95 100644 (file)
@@ -8,7 +8,7 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=logrotate
-PKG_VERSION:=3.7.1
+PKG_VERSION:=3.7.8
 PKG_RELEASE:=1
 
 PKG_SOURCE:=$(PKG_NAME)_$(PKG_VERSION).orig.tar.gz
@@ -17,7 +17,7 @@ PKG_SOURCE_URL:= \
        http://ftp.debian.org/debian/pool/main/l/logrotate \
        http://ftp.fr.debian.org/debian/pool/main/l/logrotate \
        http://ftp.us.debian.org/debian/pool/main/l/logrotate
-PKG_MD5SUM:=552639142e163745f6bcd4f1f3816d8a
+PKG_MD5SUM:=b3589bea6d8d5afc8a84134fddaae973
 
 include $(INCLUDE_DIR)/package.mk
 
@@ -53,9 +53,9 @@ endef
 
 define Package/logrotate/install       
        $(INSTALL_DIR) $(1)/usr/sbin
-       $(CP) ${PKG_BUILD_DIR}/logrotate $(1)/usr/sbin/
+       $(INSTALL_BIN) ${PKG_BUILD_DIR}/logrotate $(1)/usr/sbin/
        $(INSTALL_DIR) $(1)/etc
-       $(CP) ./files/logrotate.conf $(1)/etc/
+       $(INSTALL_DATA) ./files/logrotate.conf $(1)/etc/
        $(INSTALL_DIR) $(1)/etc/logrotate.d
 endef
 
diff --git a/utils/logrotate/patches/001-dateext_maxage.patch b/utils/logrotate/patches/001-dateext_maxage.patch
deleted file mode 100644 (file)
index 1623b4b..0000000
+++ /dev/null
@@ -1,433 +0,0 @@
-diff -u -ruN logrotate-3.7.1.orig/config.c logrotate-3.7.1/config.c
---- logrotate-3.7.1.orig/config.c      2003-08-07 07:13:14.000000000 -0400
-+++ logrotate-3.7.1/config.c   2005-05-24 12:21:09.000000000 -0400
-@@ -511,6 +511,14 @@
-               newlog->flags &= ~LOG_FLAG_IFEMPTY;
-               *endtag = oldchar, start = endtag;
-+          } else if (!strcmp(start, "dateext")) {
-+              newlog->flags |= LOG_FLAG_DATEEXT;
-+
-+              *endtag = oldchar, start = endtag;
-+          } else if (!strcmp(start, "nodateext")) {
-+              newlog->flags &= ~LOG_FLAG_DATEEXT;
-+
-+              *endtag = oldchar, start = endtag;
-           } else if (!strcmp(start, "noolddir")) {
-               newlog->oldDir = NULL;
-@@ -670,6 +678,21 @@
-                   }
-                   *endtag = oldchar, start = endtag;
-               }
-+          } else if (!strcmp(start, "maxage")) {
-+              *endtag = oldchar, start = endtag;
-+
-+              if (!isolateValue(configFile, lineNum, "maxage count", &start,
-+                                &endtag)) {
-+                  oldchar = *endtag, *endtag = '\0';
-+
-+                  newlog->rotateAge = strtoul(start, &chptr, 0);
-+                  if (*chptr || newlog->rotateAge < 0) {
-+                      message(MESS_ERROR, "%s:%d bad maximum age '%s'\n",
-+                              configFile, lineNum, start);
-+                      return 1;
-+                  }
-+                  *endtag = oldchar, start = endtag;
-+              }
-           } else if (!strcmp(start, "errors")) {
-               message(MESS_DEBUG, "%s: %d: the errors directive is deprecated and no longer used.\n",
-                       configFile, lineNum);
-diff -u -ruN logrotate-3.7.1.orig/logrotate.8 logrotate-3.7.1/logrotate.8
---- logrotate-3.7.1.orig/logrotate.8   2003-08-07 07:13:14.000000000 -0400
-+++ logrotate-3.7.1/logrotate.8        2005-05-24 12:21:09.000000000 -0400
-@@ -200,6 +200,11 @@
- Log files are rotated every day.
- .TP
-+\fBdateext\fR
-+Archive old versions of log files adding a daily extension like YYYYMMDD
-+instead of simply adding a number.
-+
-+.TP
- \fBdelaycompress\fR
- Postpone compression of the previous log file to the next rotation cycle.
- This has only effect when used in combination with \fBcompress\fR.
-@@ -246,6 +251,12 @@
- instead of the just-rotated file (this is the default).
- .TP
-+\fBmaxage\fR \fIcount\fR
-+Remove rotated logs older than <count> days. The age is only checked
-+if the logfile is to be rotated. The files are mailed to the
-+configured address if \fBmaillast\fR and \fBmail\fR are configured.
-+
-+.TP
- \fBmissingok\fR
- If the log file is missing, go on to the next one without issuing an error
- message. See also \fBnomissingok\fR.
-diff -u -ruN logrotate-3.7.1.orig/logrotate.c logrotate-3.7.1/logrotate.c
---- logrotate-3.7.1.orig/logrotate.c   2004-10-19 17:41:24.000000000 -0400
-+++ logrotate-3.7.1/logrotate.c        2005-05-24 12:21:09.000000000 -0400
-@@ -11,6 +11,7 @@
- #include <sys/wait.h>
- #include <time.h>
- #include <unistd.h>
-+#include <glob.h>
- #ifdef WITH_SELINUX
- #include <selinux/selinux.h>
-@@ -22,6 +23,10 @@
- #include "log.h"
- #include "logrotate.h"
-+#if !defined(GLOB_ABORTED) && defined(GLOB_ABEND)
-+#define GLOB_ABORTED GLOB_ABEND
-+#endif
-+
- typedef struct {
-     char * fn;
-     struct tm lastRotated;    /* only tm.mon, tm_mday, tm_year are good! */
-@@ -42,6 +47,14 @@
- char * mailCommand = DEFAULT_MAIL_COMMAND;
- time_t nowSecs = 0;
-+static int globerr(const char * pathname, int theerr) {
-+    message(MESS_ERROR, "error accessing %s: %s\n", pathname,
-+      strerror(theerr));
-+
-+    /* We want the glob operation to continue, so return 0 */
-+    return 1;
-+}
-+
- static logState * findState(const char * fn, struct stateSet * sip) {
-     int i;
-     logState * states = sip->states;
-@@ -49,9 +62,11 @@
-     struct tm now = *localtime(&nowSecs);
-     time_t lr_time;
-+    /* find the filename fn in the statesPtr list */
-     for (i = 0; i < numStates; i++) 
-       if (!strcmp(fn, states[i].fn)) break;
-+    /* not in statesPtr list, so add new entry */
-     if (i == numStates) {
-       i = numStates++;
-       states = realloc(states, sizeof(*states) * numStates);
-@@ -121,6 +136,17 @@
-     return rc;
- }
-+static int removeLogFile(char * name) {
-+    message(MESS_DEBUG, "removing old log %s\n", name);
-+
-+    if (!debug && unlink(name)) {
-+      message(MESS_ERROR, "Failed to remove old log %s: %s\n",
-+              name, strerror(errno));
-+      return 1;
-+    }
-+    return 0;
-+}
-+
- static int compressLogFile(char * name, logInfo * log, struct stat *sb) {
-     char * compressedName;
-     const char ** fullCommand;
-@@ -265,6 +291,25 @@
-     return rc;
- }
-+static int mailLogWrapper (char * mailFilename, char * mailCommand, int logNum, logInfo * log) {
-+    /* if the log is compressed (and we're not mailing a
-+     * file whose compression has been delayed), we need
-+     * to uncompress it */
-+    if ((log->flags & LOG_FLAG_COMPRESS) &&
-+      !((log->flags & LOG_FLAG_DELAYCOMPRESS) &&
-+          (log->flags & LOG_FLAG_MAILFIRST))) {
-+      if (mailLog(mailFilename, mailCommand,
-+                  log->uncompress_prog, log->logAddress,
-+                  log->files[logNum]))
-+          return 1;
-+    } else {
-+      if (mailLog(mailFilename, mailCommand, NULL,
-+                  log->logAddress, mailFilename))
-+          return 1;
-+    }
-+    return 0;
-+}
-+
- static int copyTruncate(char * currLog, char * saveLog, struct stat * sb, int flags) {
-     char buf[BUFSIZ];
-     int fdcurr = -1, fdsave = -1;
-@@ -479,6 +524,9 @@
-     char * baseName;
-     char * dirName;
-     char * firstRotated;
-+    char * glob_pattern;
-+    glob_t globResult;
-+    int rc;
-     size_t alloc_size;
-     int rotateCount = log->rotateCount ? log->rotateCount : 1;
-     int logStart = (log->logStart == -1) ? 1 : log->logStart;
-@@ -509,7 +557,7 @@
-     alloc_size = strlen(dirName) + strlen(baseName) + 
-                  strlen(log->files[logNum]) + strlen(fileext) +
--                 strlen(compext) + 10;
-+                 strlen(compext) + 18;
-     
-     oldName = alloca(alloc_size);
-     newName = alloca(alloc_size);
-@@ -531,16 +579,116 @@
-     /* First compress the previous log when necessary */
-     if (log->flags & LOG_FLAG_COMPRESS &&
-         log->flags & LOG_FLAG_DELAYCOMPRESS) {
--        struct stat sbprev;
--      
--        sprintf(oldName, "%s/%s.%d%s", dirName, baseName, logStart, fileext);
--        if (stat(oldName, &sbprev)) {
--            message(MESS_DEBUG, "previous log %s does not exist\n",
--                  oldName);
--        } else {
--          hasErrors = compressLogFile(oldName, log, &sbprev);
-+      if (log->flags & LOG_FLAG_DATEEXT) {
-+                     /* glob for uncompressed files with our pattern */
-+          glob_pattern = malloc(strlen(dirName) + strlen(baseName)
-+                                + strlen(fileext) + 44 );
-+          sprintf(glob_pattern,
-+                  "%s/%s-[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]%s",
-+                  dirName, baseName, fileext);
-+          rc = glob(glob_pattern, 0, globerr, &globResult);
-+          if (!rc && globResult.gl_pathc > 0) {
-+              for (i = 0; i < globResult.gl_pathc && !hasErrors; i++) {
-+                  struct stat sbprev;
-+                  sprintf(oldName,"%s",(globResult.gl_pathv)[i]);
-+                  if (stat(oldName, &sbprev)) {
-+                      message(MESS_DEBUG, "previous log %s does not exist\n", oldName);
-+                  } else {
-+                      hasErrors = compressLogFile(oldName, log, &sbprev);
-+                  }
-+              }
-+          } else {
-+              message (MESS_DEBUG, "glob finding logs to compress failed\n");
-+              /* fallback to old behaviour */
-+              sprintf(oldName, "%s/%s.%d%s", dirName, baseName, logStart, fileext);
-+          }
-+          globfree(&globResult);
-+          free(glob_pattern);
-+      } else {
-+          struct stat sbprev;
-+
-+          sprintf(oldName, "%s/%s.%d%s", dirName, baseName, logStart, fileext);
-+          if (stat(oldName, &sbprev)) {
-+              message(MESS_DEBUG, "previous log %s does not exist\n",
-+                      oldName);
-+          } else {
-+              hasErrors = compressLogFile(oldName, log, &sbprev);
-+          }
-       }
-     }
-+
-+    firstRotated = alloca(strlen(dirName) + strlen(baseName) +
-+                        strlen(fileext) + strlen(compext) + 30);
-+
-+    if(log->flags & LOG_FLAG_DATEEXT) {
-+      /* glob for compressed files with our pattern
-+       * and compress ext */
-+      glob_pattern = malloc(strlen(dirName)+strlen(baseName)
-+                            +strlen(fileext)+strlen(compext)+44);
-+      sprintf(glob_pattern,
-+              "%s/%s-[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]%s%s",
-+              dirName, baseName, fileext, compext);
-+      rc = glob(glob_pattern, 0, globerr, &globResult);
-+      if (!rc) {
-+          /* search for files to drop, if we find one remember it,
-+           * if we find another one mail and remove the first and
-+           * remember the second and so on */
-+          struct stat fst_buf;
-+          int mail_out = -1;
-+          /* remove the first (n - rotateCount) matches
-+           * no real rotation needed, since the files have
-+           * the date in their name */
-+          for (i = 0; i < globResult.gl_pathc; i++) {
-+              if( !stat((globResult.gl_pathv)[i],&fst_buf) ) {
-+                  if ((i <= ((int)globResult.gl_pathc - rotateCount)) 
-+                      || ((log->rotateAge > 0)
-+                          && (((nowSecs - fst_buf.st_mtime)/60/60/24)
-+                              > log->rotateAge))) {
-+                      if ( mail_out != -1 ) {
-+                          if (!hasErrors && log->logAddress) {
-+                              char * mailFilename = (globResult.gl_pathv)[mail_out];
-+                              hasErrors = mailLogWrapper(mailFilename, mailCommand, logNum, log);
-+                              if (!hasErrors)
-+                                  hasErrors = removeLogFile(mailFilename);
-+                          }
-+                      }
-+                      mail_out = i;
-+                  }
-+              }
-+          }
-+          if ( mail_out != -1 ) {
-+              /* oldName is oldest Backup found (for unlink later) */
-+              sprintf(oldName, "%s", (globResult.gl_pathv)[mail_out]);
-+              strcpy(disposeName, oldName);
-+          } else
-+              disposeName = NULL;
-+      } else {
-+          message (MESS_DEBUG, "glob finding old rotated logs failed\n");
-+          disposeName = NULL;
-+      }
-+      /* firstRotated is most recently created/compressed rotated log */
-+      sprintf(firstRotated, "%s/%s-%04d%02d%02d%s%s",
-+              dirName, baseName, now.tm_year+1900,
-+              now.tm_mon+1, now.tm_mday, fileext, compext);
-+      globfree(&globResult);
-+      free(glob_pattern);
-+    } else {
-+      if ( log->rotateAge ) {
-+          struct stat fst_buf;
-+          for (i=1; i <= rotateCount; i++) {
-+              sprintf(oldName, "%s/%s.%d%s%s", dirName, baseName,
-+                      rotateCount + 1, fileext, compext);
-+              if(!stat(oldName,&fst_buf)
-+                  && (((nowSecs - fst_buf.st_mtime)/60/60/24)
-+                      > log->rotateAge)) {
-+                  char * mailFilename = (globResult.gl_pathv)[i];
-+                  if (!hasErrors && log->logAddress)
-+                      hasErrors = mailLogWrapper(mailFilename, mailCommand, logNum, log);
-+                  if (!hasErrors)
-+                      hasErrors = removeLogFile(mailFilename);
-+              }
-+          }
-+      }
-     
-     sprintf(oldName, "%s/%s.%d%s%s", dirName, baseName,
-             logStart + rotateCount, fileext, compext);
-@@ -548,8 +696,6 @@
-     
-     strcpy(disposeName, oldName);
-     
--    firstRotated = alloca(strlen(dirName) + strlen(baseName) +
--                          strlen(fileext) + strlen(compext) + 30);
-     sprintf(firstRotated, "%s/%s.%d%s%s", dirName, baseName,
-             logStart, fileext, 
-           (log->flags & LOG_FLAG_DELAYCOMPRESS) ? "" : compext);
-@@ -600,12 +746,27 @@
-           }
-       }
-     }
--    
-+    } /* !LOG_FLAG_DATEEXT */
-+ 
-     finalName = oldName;
--    
--    /* note: the gzip extension is *not* used here! */
--    sprintf(finalName, "%s/%s.%d%s", dirName, baseName, logStart, fileext);
--    
-+
-+    if(log->flags & LOG_FLAG_DATEEXT) {
-+      char * destFile = alloca(strlen(dirName) + strlen(baseName) +
-+                               strlen(fileext) + strlen(compext) + 30);
-+      struct stat fst_buf;
-+      sprintf(finalName, "%s/%s-%04d%02d%02d%s",
-+              dirName, baseName, now.tm_year+1900,
-+              now.tm_mon+1, now.tm_mday, fileext);
-+      sprintf(destFile, "%s%s", finalName, compext);
-+      if(!stat(destFile,&fst_buf)) {
-+          message (MESS_DEBUG, "destination %s already exists, skipping rotation\n", firstRotated);
-+          hasErrors = 1;
-+      }
-+    } else {
-+      /* note: the gzip extension is *not* used here! */
-+      sprintf(finalName, "%s/%s.%d%s", dirName, baseName, logStart, fileext);
-+    }
-+ 
-     /* if the last rotation doesn't exist, that's okay */
-     if (!debug && access(disposeName, F_OK)) {
-         message(MESS_DEBUG, "log %s doesn't exist -- won't try to "
-@@ -613,9 +774,6 @@
-         disposeName = NULL;
-     } 
-     
--    free(dirName);
--    free(baseName);
--    
-     if (!hasErrors) {
-         if (log->pre && !(log->flags & LOG_FLAG_SHAREDSCRIPTS)) {
-             message(MESS_DEBUG, "running prerotate script\n");
-@@ -722,33 +880,12 @@
-             else
-                 mailFilename = disposeName;
--            if (mailFilename) {
--              /* if the log is compressed (and we're not mailing a
--                 file whose compression has been delayed), we need
--                 to uncompress it */
--                if ((log->flags & LOG_FLAG_COMPRESS) &&
--                  !((log->flags & LOG_FLAG_DELAYCOMPRESS) &&
--                    (log->flags & LOG_FLAG_MAILFIRST))) {
--                  if (mailLog(mailFilename, mailCommand, 
--                              log->uncompress_prog, log->logAddress, 
--                              log->files[logNum])) 
--                      hasErrors = 1;
--              } else {
--                  if (mailLog(mailFilename, mailCommand, NULL, 
--                              log->logAddress, mailFilename))
--                      hasErrors = 1;
--              }
--          }
-+            if (mailFilename)
-+              hasErrors = mailLogWrapper(mailFilename, mailCommand, logNum, log);
-         }
-       
-         if (!hasErrors && disposeName) {
--            message(MESS_DEBUG, "removing old log %s\n", disposeName);
--          
--            if (!debug && unlink(disposeName)) {
--                message(MESS_ERROR, "Failed to remove old log %s: %s\n",
--                      disposeName, strerror(errno));
--                hasErrors = 1;
--          }
-+          hasErrors = removeLogFile(disposeName);
-       }
-     }
-     
-@@ -761,6 +898,8 @@
-         }
-       }
- #endif
-+    free(dirName);
-+    free(baseName);
-     return hasErrors;
- }
-@@ -1047,7 +1186,9 @@
- int main(int argc, const char ** argv) {
-     logInfo defConfig = { NULL, NULL, 0, NULL, ROT_SIZE, 
--                        /* threshHold */ 1024 * 1024, 0,
-+                        /* threshHold */ 1024 * 1024,
-+                        /* rotateCount */ 0,
-+                        /* rotateAge */ 0,
-                         /* log start */ -1,
-                         /* pre, post */ NULL, NULL,
-                         /* first, last */ NULL, NULL,
-diff -u -ruN logrotate-3.7.1.orig/logrotate.h logrotate-3.7.1/logrotate.h
---- logrotate-3.7.1.orig/logrotate.h   2003-08-07 07:13:14.000000000 -0400
-+++ logrotate-3.7.1/logrotate.h        2005-05-24 12:21:09.000000000 -0400
-@@ -15,6 +15,7 @@
- #define LOG_FLAG_MAILFIRST    (1 << 6)
- #define LOG_FLAG_SHAREDSCRIPTS        (1 << 7)
- #define LOG_FLAG_COPY         (1 << 8)
-+#define LOG_FLAG_DATEEXT      (1 << 9)
- #define NO_FORCE_ROTATE 0
- #define FORCE_ROTATE    1
-@@ -34,6 +35,7 @@
-     enum { ROT_DAYS, ROT_WEEKLY, ROT_MONTHLY, ROT_SIZE, ROT_FORCE } criterium;
-     unsigned int threshhold;
-     int rotateCount;
-+    int rotateAge;
-     int logStart;
-     char * pre, * post, * first, * last;
-     char * logAddress;
index 69121aa..ffb6c8d 100644 (file)
@@ -1,12 +1,11 @@
-diff -u -ruN logrotate-3.7.1.orig/logrotate.c logrotate-3.7.1/logrotate.c
---- logrotate-3.7.1.orig/logrotate.c   2004-10-19 17:41:24.000000000 -0400
-+++ logrotate-3.7.1/logrotate.c        2005-05-24 12:12:26.000000000 -0400
-@@ -1002,7 +1002,7 @@
+--- a/logrotate.c
++++ b/logrotate.c
+@@ -1505,7 +1505,7 @@ static int readState(char *stateFilename
        }
-       
        /* Hack to hide earlier bug */
 -      if ((year != 1900) && (year < 1996 || year > 2100)) {
 +      if ((year != 1900) && (year < 1970 || year > 2100)) {
-           message(MESS_ERROR, "bad year %d for file %s in state file %s\n",
-                   year, argv[0], stateFilename);
-           fclose(f);
+           message(MESS_ERROR,
+                   "bad year %d for file %s in state file %s\n", year,
+                   argv[0], stateFilename);
index 390de75..7ca5392 100644 (file)
@@ -1,14 +1,14 @@
---- logrotate-3.7/config.c.orig        2005-04-26 22:57:53.000000000 -0400
-+++ logrotate-3.7/config.c     2005-04-26 22:59:36.000000000 -0400
-@@ -142,6 +142,11 @@
-       (!fname[1] || (fname[1] == '.' && !fname[2])))
-       return 0;
+--- a/config.c
++++ b/config.c
+@@ -160,8 +160,9 @@ static int checkFile(const char *fname)
+       int i;
+       char pattern[PATH_MAX];
  
-+    /* Don't include 'hidden' files either; this breaks Gentoo 
-+       portage config file management http://bugs.gentoo.org/87683 */
-+    if (fname[0] == '.')
-+      return 0;
-+
-     /* Check if fname is ending in a taboo-extension; if so, return
-        false */
-     for (i = 0; i < tabooCount; i++) {
+-      /* Check if fname is '.' or '..'; if so, return false */
+-      if (fname[0] == '.' && (!fname[1] || (fname[1] == '.' && !fname[2])))
++      /* Don't include 'hidden' files either; this breaks Gentoo 
++         portage config file management http://bugs.gentoo.org/87683 */
++      if (fname[0] == '.')
+               return 0;
+       /* Check if fname is ending in a taboo-extension; if so, return false */
diff --git a/utils/logrotate/patches/004-no_tmpdir.patch b/utils/logrotate/patches/004-no_tmpdir.patch
deleted file mode 100644 (file)
index fb95f1e..0000000
+++ /dev/null
@@ -1,54 +0,0 @@
-diff -u -ruN logrotate-3.7.1-cur/logrotate.c logrotate-3.7.1/logrotate.c
---- logrotate-3.7.1-cur/logrotate.c    2005-05-25 18:20:41.000000000 -0400
-+++ logrotate-3.7.1/logrotate.c        2005-05-25 18:21:10.000000000 -0400
-@@ -90,10 +90,7 @@
- }
- static int runScript(char * logfn, char * script) {
--    int fd;
--    char *filespec;
-     int rc;
--    char buf[256];
-     if (debug) {
-       message(MESS_DEBUG, "running script with arg %s: \"%s\"\n", 
-@@ -101,38 +98,12 @@
-       return 0;
-     }
--    filespec = buf;
--    snprintf(buf, sizeof(buf), "%s/logrotate.XXXXXX", getenv("TMPDIR") ?: "/tmp");
--    fd = -1;
--    if (!filespec || (fd = mkstemp(filespec)) < 0 || fchmod(fd, 0700)) {
--      message(MESS_DEBUG, "error creating %s: %s\n", filespec,
--              strerror(errno));
--      if (fd >= 0) {
--          close(fd);
--          unlink(filespec);
--      }
--      return -1;
--    }
--
--    if (write(fd, "#!/bin/sh\n\n", 11) != 11 ||
--      write(fd, script, strlen(script)) != strlen(script)) {
--      message(MESS_DEBUG, "error writing %s\n", filespec);
--      close(fd);
--      unlink(filespec);
--      return -1;
--    }
--
--    close(fd);
--
-     if (!fork()) {
--      execlp(filespec, filespec, logfn, NULL);
-+      execl("/bin/sh", "sh", "-c", script, NULL);
-       exit(1);
-     }
-     wait(&rc);
--
--    unlink(filespec);
--
-     return rc;
- }
diff --git a/utils/logrotate/patches/005-taboo_to_debug.patch b/utils/logrotate/patches/005-taboo_to_debug.patch
deleted file mode 100644 (file)
index 2e07188..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -u -ruN logrotate-3.7.1.orig/config.c logrotate-3.7.1/config.c
---- logrotate-3.7.1.orig/config.c      2003-08-07 07:13:14.000000000 -0400
-+++ logrotate-3.7.1/config.c   2005-05-24 12:13:41.000000000 -0400
-@@ -147,7 +147,7 @@
-     for (i = 0; i < tabooCount; i++) {
-       if (!strcmp(fname + strlen(fname) - strlen(tabooExts[i]),
-           tabooExts[i])) {
--          message(MESS_ERROR, "Ignoring %s, because of %s "
-+          message(MESS_DEBUG, "Ignoring %s, because of %s "
-                   "ending\n", fname, tabooExts[i]);
-           return 0;
index 8a371e8..a861604 100644 (file)
@@ -1,22 +1,18 @@
---- logrotate-3.7.1-old/logrotate.c    2004-10-19 23:41:24.000000000 +0200
-+++ logrotate-3.7.1-new/logrotate.c    2005-10-02 17:29:22.380767321 +0200
-@@ -424,12 +424,15 @@ int findNeedRotating(logInfo * log, int 
-         switch (log->criterium) {
-           case ROT_WEEKLY:
-             /* rotate if:
--                  1) the current weekday is before the weekday of the
--                     last rotation
-+                  1) the day of the week is the same as the day of the week of
-+                     the previous rotation but not the same day of the year
-+                     this will rotate it on the same day every week, but not
-+                     twice a day.
-                   2) more then a week has passed since the last
-                      rotation */
--            state->doRotate = ((now.tm_wday < state->lastRotated.tm_wday) ||
--                             ((mktime(&now) - mktime(&state->lastRotated)) >
-+            state->doRotate = ((now.tm_wday == state->lastRotated.tm_wday &&
-+                              now.tm_yday != state->lastRotated.tm_yday) ||
-+                              ((mktime(&now) - mktime(&state->lastRotated)) >
-                               (7 * 24 * 3600)));
-             break;
-           case ROT_MONTHLY:
+--- a/logrotate.c
++++ b/logrotate.c
+@@ -567,9 +567,14 @@ int findNeedRotating(struct logInfo *log
+           /* rotate if:
+              1) the current weekday is before the weekday of the
+              last rotation
++             1) the day of the week is the same as the day of the week of
++             the previous rotation but not the same day of the year
++             this will rotate it on the same day every week, but not
++             twice a day.
+              2) more then a week has passed since the last
+              rotation */
+-          state->doRotate = ((now.tm_wday < state->lastRotated.tm_wday)
++          state->doRotate = ((now.tm_wday == state->lastRotated.tm_wday
++                                   && now.tm_yday != state->lastRotated.tm_yday)
+                              ||
+                              ((mktime(&now) -
+                                mktime(&state->lastRotated)) >