diff options
author | Daniel Gryniewicz <dang@gentoo.org> | 2011-04-17 15:01:06 +0000 |
---|---|---|
committer | Daniel Gryniewicz <dang@gentoo.org> | 2011-04-17 15:01:06 +0000 |
commit | 537a4e4175978d39154c3d0370c8e585d016d0d2 (patch) | |
tree | eff2f5094d7b14a52e4036430605ff054eae6a77 /app-admin/logrotate | |
parent | x86 stable per bug 359143 (diff) | |
download | gentoo-2-537a4e4175978d39154c3d0370c8e585d016d0d2.tar.gz gentoo-2-537a4e4175978d39154c3d0370c8e585d016d0d2.tar.bz2 gentoo-2-537a4e4175978d39154c3d0370c8e585d016d0d2.zip |
Bump to logrotate-3.7.9-r2
- Fix bug #363705
- Fix bug #195787
Remove old versions
(Portage version: 2.2.0_alpha29/cvs/Linux x86_64)
Diffstat (limited to 'app-admin/logrotate')
-rw-r--r-- | app-admin/logrotate/ChangeLog | 20 | ||||
-rw-r--r-- | app-admin/logrotate/files/logrotate-3.7.1-dateext-maxage.patch | 433 | ||||
-rw-r--r-- | app-admin/logrotate/files/logrotate-3.7.1-datehack.patch | 12 | ||||
-rw-r--r-- | app-admin/logrotate/files/logrotate-3.7.1-ignore-hidden.patch | 14 | ||||
-rw-r--r-- | app-admin/logrotate/files/logrotate-3.7.1-manpage-fixes.patch | 392 | ||||
-rw-r--r-- | app-admin/logrotate/files/logrotate-3.7.1-no-tmpdir.patch | 54 | ||||
-rw-r--r-- | app-admin/logrotate/files/logrotate-3.7.1-taboo-to-debug.patch | 12 | ||||
-rw-r--r-- | app-admin/logrotate/files/logrotate-3.7.1-weekly.patch | 22 | ||||
-rw-r--r-- | app-admin/logrotate/files/logrotate-3.7.9-skip-empty-files.patch | 19 | ||||
-rw-r--r-- | app-admin/logrotate/logrotate-3.7.1-r2.ebuild | 71 | ||||
-rw-r--r-- | app-admin/logrotate/logrotate-3.7.2.ebuild | 66 | ||||
-rw-r--r-- | app-admin/logrotate/logrotate-3.7.9-r2.ebuild (renamed from app-admin/logrotate/logrotate-3.7.7.ebuild) | 40 |
12 files changed, 60 insertions, 1095 deletions
diff --git a/app-admin/logrotate/ChangeLog b/app-admin/logrotate/ChangeLog index 2d08466fbf3e..dbb783723220 100644 --- a/app-admin/logrotate/ChangeLog +++ b/app-admin/logrotate/ChangeLog @@ -1,6 +1,24 @@ # ChangeLog for app-admin/logrotate # Copyright 1999-2011 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/app-admin/logrotate/ChangeLog,v 1.97 2011/04/16 15:52:45 armin76 Exp $ +# $Header: /var/cvsroot/gentoo-x86/app-admin/logrotate/ChangeLog,v 1.98 2011/04/17 15:01:06 dang Exp $ + +*logrotate-3.7.9-r2 (17 Apr 2011) + + 17 Apr 2011; Daniel Gryniewicz <dang@gentoo.org> -logrotate-3.7.1-r2.ebuild, + -files/logrotate-3.7.1-dateext-maxage.patch, + -files/logrotate-3.7.1-datehack.patch, + -files/logrotate-3.7.1-ignore-hidden.patch, + -files/logrotate-3.7.1-manpage-fixes.patch, + -files/logrotate-3.7.1-no-tmpdir.patch, + -files/logrotate-3.7.1-taboo-to-debug.patch, + -files/logrotate-3.7.1-weekly.patch, -logrotate-3.7.2.ebuild, + -logrotate-3.7.7.ebuild, +logrotate-3.7.9-r2.ebuild, + +files/logrotate-3.7.9-skip-empty-files.patch: + Bump to logrotate-3.7.9-r2 + - Fix bug #363705 + - Fix bug #195787 + Remove old versions + 16 Apr 2011; Raúl Porcel <armin76@gentoo.org> logrotate-3.7.9-r1.ebuild: alpha/arm/s390/sh/sparc stable wrt #356811 diff --git a/app-admin/logrotate/files/logrotate-3.7.1-dateext-maxage.patch b/app-admin/logrotate/files/logrotate-3.7.1-dateext-maxage.patch deleted file mode 100644 index 1623b4bf1281..000000000000 --- a/app-admin/logrotate/files/logrotate-3.7.1-dateext-maxage.patch +++ /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; diff --git a/app-admin/logrotate/files/logrotate-3.7.1-datehack.patch b/app-admin/logrotate/files/logrotate-3.7.1-datehack.patch deleted file mode 100644 index 69121aafa9a0..000000000000 --- a/app-admin/logrotate/files/logrotate-3.7.1-datehack.patch +++ /dev/null @@ -1,12 +0,0 @@ -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 @@ - } - - /* 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); diff --git a/app-admin/logrotate/files/logrotate-3.7.1-ignore-hidden.patch b/app-admin/logrotate/files/logrotate-3.7.1-ignore-hidden.patch deleted file mode 100644 index 390de7537c67..000000000000 --- a/app-admin/logrotate/files/logrotate-3.7.1-ignore-hidden.patch +++ /dev/null @@ -1,14 +0,0 @@ ---- 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; - -+ /* 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++) { diff --git a/app-admin/logrotate/files/logrotate-3.7.1-manpage-fixes.patch b/app-admin/logrotate/files/logrotate-3.7.1-manpage-fixes.patch deleted file mode 100644 index 6c267f799679..000000000000 --- a/app-admin/logrotate/files/logrotate-3.7.1-manpage-fixes.patch +++ /dev/null @@ -1,392 +0,0 @@ -diff --exclude-from=/home/dang/.diffrc -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-09-14 15:00:46.000000000 -0400 -@@ -3,7 +3,8 @@ - .SH NAME - logrotate \- rotates, compresses, and mails system logs - .SH SYNOPSIS --\fBlogrotate\fR [-dv] [-f|--force] [-s|--state \fIfile\fR] \fIconfig_file\fR+ -+\fBlogrotate\fR [\fB\-dv\fR] [\fB\-f\fR|\fB\-\-force\fR] -+[\fB\-s\fR|\fB-\-state\ \fIstatefile\fR] \fIconfig_file\fR .. - .SH DESCRIPTION - \fBlogrotate\fR is designed to ease administration of systems that generate - large numbers of log files. It allows automatic rotation, compression, -@@ -11,16 +12,16 @@ - weekly, monthly, or when it grows too large. - .P - Normally, \fBlogrotate\fR is run as a daily cron job. It will not modify --a log multiple times in one day unless the criterium for that log is --based on the log's size and \fBlogrotate\fR is being run multiple times --each day, or unless the \fB-f\fR or \fB-force\fR option is used. -+a log more than once in one day unless the criterion for that log is -+based on the log's size and \fBlogrotate\fR is being run more than once -+each day, or unless the \fB-f\fR or \fB-\-force\fR option is used. - .P - Any number of config files may be given on the command line. Later config - files may override the options given in earlier files, so the order --in which the \fBlogrotate\fR config files are listed in is important. -+in which the \fBlogrotate\fR config files are listed is important. - Normally, a single config file which includes any other config files - which are needed should be used. See below for more information on how --to use the \fIinclude\fR directive to accomplish this. If a directory -+to use the \fBinclude\fR directive to accomplish this. If a directory - is given on the command line, every file in that directory is used as - a config file. - .P -@@ -36,14 +37,15 @@ - be made to the logs or to the \fBlogrotate\fR state file. - - .TP --\fB-f, -\-force\fR -+\fB-f\fR, \fB-\-force\fR - Tells \fBlogrotate\fR to force the rotation, even if it doesn't think - this is necessary. Sometimes this is useful after adding new entries to --\fBlogrotate\fR, or if old log files have been removed by hand, as the --new files will be created, and logging will continue correctly. -+a \fBlogrotate\fR config file, or if old log files have been removed -+by hand, as the new files will be created, and logging will continue -+correctly. - - .TP --\fB-m, -\-mail <command>\fR -+\fB-m\R, \B-\-mail <command>\fR - Tells \fBlogrotate\fR which command to use when mailing logs. This - command should accept two arguments: 1) the subject of the message, and - 2) the recipient. The command must then read a message on standard input -@@ -51,22 +53,26 @@ - -s\fR. - - .TP --\fB-s, -\-state <statefile>\fR -+\fB-s\fR, \fB-\-state <statefile>\fR - Tells \fBlogrotate\fR to use an alternate state file. This is useful --if logrotate is being run as a different user for various sets of --log files. The default state file is \fI/var/lib/logrotate/status\fR. -+if \fBlogrotate\fR is being run as a different user for various sets of -+log files. The default state file is \fI/var/lib/logrotate.status\fR. - - .TP - \fB-\-usage\fR - Prints a short usage message. - -+.TP -+\fB-v\fR, \fB--verbose\fR -+Display messages during rotation. -+ - .SH CONFIGURATION FILE - - \fBlogrotate\fR reads everything about the log files it should be handling - from the series of configuration files specified on the command line. Each - configuration file can set global options (local definitions override - global ones, and later definitions override earlier ones) and specify --a logfile to rotate. A simple configuration file looks like this: -+some logfiles to rotate. A simple configuration file looks like this: - - .nf - .ta +3i -@@ -77,17 +83,17 @@ - rotate 5 - weekly - postrotate -- /sbin/killall -HUP syslogd -+ /bin/killall -HUP syslogd - endscript - } - - "/var/log/httpd/access.log" /var/log/httpd/error.log { - rotate 5 - mail www@my.org -- size=100k -+ size 100k - sharedscripts - postrotate -- /sbin/killall -HUP httpd -+ /bin/killall -HUP httpd - endscript - } - -@@ -97,7 +103,7 @@ - olddir /var/log/news/old - missingok - postrotate -- kill -HUP `cat /var/run/inn.pid` -+ kill -HUP `cat /var/run/inn.pid` - endscript - nocompress - } -@@ -107,23 +113,23 @@ - The first few lines set global options; in the example, logs are - compressed after they are rotated. Note that comments may appear - anywhere in the config file as long as the first non-whitespace --character on the line is a #. -+character on the line is a \fB#\fR. - --The next section of the config files defined how to handle the log file -+The next section of the config file defines how to handle the log file - \fI/var/log/messages\fR. The log will go through five weekly rotations before - being removed. After the log file has been rotated (but before the old - version of the log has been compressed), the command --\fI/sbin/killall -HUP syslogd\fR will be executed. -+\fI/bin/killall -HUP syslogd\fR will be executed. - - The next section defines the parameters for both - \fI/var/log/httpd/access.log\fR and \fI/var/log/httpd/error.log\fR. --They are rotated whenever is grows over 100k is size, and the old logs -+Each is rotated whenever it grows over 100k is size, and the old log - files are mailed (uncompressed) to www@my.org after going through 5 - rotations, rather then being removed. The \fBsharedscripts\fR means that - the \fBpostrotate\fR script will only be run once, not once for each --log which is rotated. Note that the double quotes around the first filename --at the beginning of this section allows logrotate to rotate logs with --spaces in the name. Normal shell quoting rules apply, with ', ", and \\ -+log which is rotated. Note that log file names may be enclosed in -+quotes (and that quotes are required if the name contains spaces). -+Normal shell quoting rules apply, with \fB'\fR, \fB"\fR, and \fB\\\fR - characters supported. - - The last section defines the parameters for all of the files in -@@ -135,29 +141,33 @@ - rotate all files, including previously rotated ones. A way around this - is to use the \fBolddir\fR directive or a more exact wildcard (such as *.log). - -+If the directory \fI/var/log/news\fR does not exist, this will cause -+\fBlogrotate\fR to report an error. This error cannot be stopped with -+the \fBmissingok\fR directive. -+ - Here is more information on the directives which may be included in - a \fBlogrotate\fR configuration file: - - .TP - \fBcompress\fR --Old versions of log files are compressed with \fBgzip\fR by default. See also --\fBnocompress\fR. -+Old versions of log files are compressed with \fBgzip\fR(1) by default. -+See also \fBnocompress\fR. - - .TP - \fBcompresscmd\fR - Specifies which command to use to compress log files. The default is --\fBgzip\fR. See also \fBcompress\fR. -+\fBgzip\fR(1). See also \fBcompress\fR. - - .TP - \fBuncompresscmd\fR - Specifies which command to use to uncompress log files. The default is --\fBgunzip\fR. -+\fBgunzip\fR(1). - - .TP - \fBcompressext\fR - Specifies which extension to use on compressed logfiles, if compression --is enabled. The default follows that of the configured compression --command. -+is enabled. The default follows that of the default compression -+command (.gz). - - .TP - \fBcompressoptions\fR -@@ -174,9 +184,9 @@ - - .TP - \fBcopytruncate\fR --Truncate the original log file in place after creating a copy, --instead of moving the old log file and optionally creating a new one, --It can be used when some program can not be told to close its logfile -+Truncate the original log file to zero size in place after creating a copy, -+instead of moving the old log file and optionally creating a new one. -+It can be used when some program cannot be told to close its logfile - and thus might continue writing (appending) to the previous log file forever. - Note that there is a very small time slice between copying the file and - truncating it, so some logging data might be lost. -@@ -188,7 +198,7 @@ - Immediately after rotation (before the \fBpostrotate\fR script is run) - the log file is created (with the same name as the log file just rotated). - \fImode\fR specifies the mode for the log file in octal (the same --as \fBchmod(2)\fR), \fIowner\fR specifies the user name who will own the -+as \fBchmod\fR)(2), \fIowner\fR specifies the user name who will own the - log file, and \fIgroup\fR specifies the group the log file will belong - to. Any of the log file attributes may be omitted, in which case those - attributes for the new file will use the same values as the original log -@@ -202,20 +212,20 @@ - .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. --It can be used when some program can not be told to close its logfile -+This only has effect when used in combination with \fBcompress\fR. -+It can be used when some program cannot be told to close its logfile - and thus might continue writing to the previous log file for some time. - - .TP - \fBextension \fIext\fR - Log files are given the final extension \fIext\fR after rotation. If --compression is used, the compression extension (normally \fB.gz\fR) -+compression is used, the compression extension (normally \fI.gz\fR) - appears after \fIext\fR. - - .TP - \fBifempty\fR --Rotate the log file even if it is empty, overiding the \fBnotifempty\fR --option (ifempty is the default). -+Rotate the log file even if it is empty, overriding the \fBnotifempty\fR -+option (\fBifempty\fR is the default). - - .TP - \fBinclude \fIfile_or_directory\fR -@@ -226,12 +236,12 @@ - which are ignored are files which are not regular files (such as - directories and named pipes) and files whose names end with one of - the taboo extensions, as specified by the \fBtabooext\fR directive. --The \fBinclude\fR directive may not appear inside of a log file -+The \fBinclude\fR directive may not appear inside a log file - definition. - - .TP - \fBmail \fIaddress\fR --When a log is rotated out-of-existence, it is mailed to \fIaddress\fR. If -+When a log is rotated out of existence, it is mailed to \fIaddress\fR. If - no mail should be generated by a particular log, the \fBnomail\fR directive - may be used. - -@@ -257,8 +267,7 @@ - - .TP - \fBnocompress\fR --Old versions of log files are not compressed with \fBgzip\fR. See also --\fBcompress\fR. -+Old versions of log files are not compressed. See also \fBcompress\fR. - - .TP - \fBnocopy\fR -@@ -281,7 +290,7 @@ - - .TP - \fBnomail\fR --Don't mail old log files to any address. -+Do not mail old log files to any address. - - .TP - \fBnomissingok\fR -@@ -289,12 +298,12 @@ - - .TP - \fBnoolddir\fR --Logs are rotated in the same directory the log normally resides in (this -+Logs are rotated in the directory they normally reside in (this - overrides the \fBolddir\fR option). - - .TP - \fBnosharedscripts\fR --Run \fBprerotate\fR and \fBpostrotate\fR scripts for every script which -+Run \fBprerotate\fR and \fBpostrotate\fR scripts for every log which - is rotated (this is the default, and overrides the \fBsharedscripts\fR - option). - -@@ -315,16 +324,15 @@ - \fBpostrotate\fR/\fBendscript\fR - The lines between \fBpostrotate\fR and \fBendscript\fR (both of which - must appear on lines by themselves) are executed after the log file is --rotated. These directives may only appear inside of a log file definition. --See \fBprerotate\fR as well. -+rotated. These directives may only appear inside a log file definition. -+See also \fBprerotate\fR. - - .TP - \fBprerotate\fR/\fBendscript\fR - The lines between \fBprerotate\fR and \fBendscript\fR (both of which - must appear on lines by themselves) are executed before the log file is - rotated and only if the log will actually be rotated. These directives --may only appear inside of a log file definition. See \fBpostrotate\fR --as well. -+may only appear inside a log file definition. See also \fBpostrotate\fR. - - .TP - \fBfirstaction\fR/\fBendscript\fR -@@ -340,30 +348,31 @@ - must appear on lines by themselves) are executed once after all log - files that match the wildcarded pattern are rotated, after postrotate script - is run and only if at least one log is rotated. These directives may only --appear inside of a log file definition. See \fBlastaction\fR as well. -+appear inside a log file definition. See also \fBfirstaction\fR. - - .TP - \fBrotate \fIcount\fR --Log files are rotated <count> times before being removed or mailed to the -+Log files are rotated \fIcount\fR times before being removed or mailed to the - address specified in a \fBmail\fR directive. If \fIcount\fR is 0, old versions - are removed rather then rotated. - - .TP --\fBsize \fIsize\fR -+\fBsize \fIsize\fR[\fBG\fR|\fBM\fR|\fBk\fR] - Log files are rotated when they grow bigger then \fIsize\fR bytes. If - \fIsize\fR is followed by \fIM\fR, the size if assumed to be in megabytes. --If the \fIk\fR is used, the size is in kilobytes. So \fBsize 100\fR, --\fIsize 100k\fR, and \fIsize 100M\fR are all valid. -+If the \fIG\fR suffix is used, the size is in gigabytes. -+If the \fIk\fR suffix is used, the size is in kilobytes. So \fBsize 100\fR, -+\fIsize 100k\fR, \fIsize 100M\fR and \fIsize 1G\fR are all valid. - - .TP - \fBsharedscripts\fR --Normally, \fBprescript\fR and \fBpostscript\fR scripts are run for each -+Normally, \fBprerotate\fR and \fBpostrotate\fR scripts are run for each - log which is rotated, meaning that a single script may be run multiple - times for log file entries which match multiple files (such as the --/var/log/news/* example). If \fBsharedscript\fR is specified, the scripts -+\fI/var/log/news/*\fR example). If \fBsharedscript\fR is specified, the scripts - are only run once, no matter how many logs match the wildcarded pattern. - However, if none of the logs in the pattern require rotating, the scripts --will not be run at all. This option overrides the \fbnosharedscripts\fR -+will not be run at all. This option overrides the \fBnosharedscripts\fR - option. - - .TP -@@ -377,34 +386,40 @@ - .TP - \fBtabooext\fR [+] \fIlist\fR - The current taboo extension list is changed (see the \fBinclude\fR directive --for information on the taboo extensions). If a + precedes the list of --extensions, the current taboo extension list is augmented, otherwise it -+for information on the taboo extensions). If a \fB+\fR precedes \fIlist\fR, -+the current taboo extension list is augmented by \fIlist\fR, otherwise it - is replaced. At startup, the taboo extension list --contains .rpmorig, .rpmsave, ,v, .swp, .rpmnew, and ~. -+contains .rpmorig, .rpmsave, ,v, .swp, .rpmnew, and ~. Note that all hidden -+files (files starting with .) are ignored. -+ - - .TP - \fBweekly\fR - Log files are rotated if the current weekday is less then the weekday - of the last rotation or if more then a week has passed since the last - rotation. This is normally the same as rotating logs on the first day --of the week, but it works better if \fIlogrotate\fR is not run every --night. -+of the week, but if \fBlogrotate\fR is not being run every night a log -+rotation will happen at the first valid opportunity. - - .SH FILES - .PD 0 - .TP 27 --\fI/var/lib/logrotate/status\fR -+\fI/var/lib/logrotate.status\fR - Default state file. - .TP 27 - \fI/etc/logrotate.conf\fR - Configuration options. - - .SH SEE ALSO --.IR gzip (1) -+.BR gzip (1) - - .SH AUTHORS - .nf - Erik Troan <ewt@redhat.com> - .nf - Preston Brown <pbrown@redhat.com> -+.nf -+Corrections and changes for Debian by Paul Martin <pm@debian.org> -+.nf -+Corrections and changes for Gentoo by Daniel Gryniewicz <dang@gentoo.org> - .fi diff --git a/app-admin/logrotate/files/logrotate-3.7.1-no-tmpdir.patch b/app-admin/logrotate/files/logrotate-3.7.1-no-tmpdir.patch deleted file mode 100644 index fb95f1ee3e8f..000000000000 --- a/app-admin/logrotate/files/logrotate-3.7.1-no-tmpdir.patch +++ /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/app-admin/logrotate/files/logrotate-3.7.1-taboo-to-debug.patch b/app-admin/logrotate/files/logrotate-3.7.1-taboo-to-debug.patch deleted file mode 100644 index 2e07188f5ad9..000000000000 --- a/app-admin/logrotate/files/logrotate-3.7.1-taboo-to-debug.patch +++ /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; diff --git a/app-admin/logrotate/files/logrotate-3.7.1-weekly.patch b/app-admin/logrotate/files/logrotate-3.7.1-weekly.patch deleted file mode 100644 index 8a371e8e003f..000000000000 --- a/app-admin/logrotate/files/logrotate-3.7.1-weekly.patch +++ /dev/null @@ -1,22 +0,0 @@ ---- 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: diff --git a/app-admin/logrotate/files/logrotate-3.7.9-skip-empty-files.patch b/app-admin/logrotate/files/logrotate-3.7.9-skip-empty-files.patch new file mode 100644 index 000000000000..d3855703de3f --- /dev/null +++ b/app-admin/logrotate/files/logrotate-3.7.9-skip-empty-files.patch @@ -0,0 +1,19 @@ +diff '--exclude-from=/home/dang/.scripts/diffrc' -up -ruN logrotate-3.7.9.orig/config.c logrotate-3.7.9/config.c +--- logrotate-3.7.9.orig/config.c 2010-06-28 04:04:56.000000000 -0400 ++++ logrotate-3.7.9/config.c 2011-04-17 10:51:13.697645782 -0400 +@@ -546,6 +546,15 @@ static int readConfigFile(const char *co + } + + length = sb.st_size; ++ /* We can't mmap empty file... */ ++ if (length == 0) { ++ message(MESS_DEBUG, ++ "Ignoring %s because it's empty.\n", ++ configFile); ++ close(fd); ++ return 0; ++ } ++ + buf = mmap(NULL, (size_t)(length + 2), PROT_READ | PROT_WRITE, + MAP_PRIVATE | MAP_POPULATE, fd, (off_t) 0); + if (buf == MAP_FAILED) { diff --git a/app-admin/logrotate/logrotate-3.7.1-r2.ebuild b/app-admin/logrotate/logrotate-3.7.1-r2.ebuild deleted file mode 100644 index 99cfd5c5358e..000000000000 --- a/app-admin/logrotate/logrotate-3.7.1-r2.ebuild +++ /dev/null @@ -1,71 +0,0 @@ -# Copyright 1999-2011 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/app-admin/logrotate/logrotate-3.7.1-r2.ebuild,v 1.16 2011/02/06 05:17:33 leio Exp $ - -inherit eutils - -DESCRIPTION="Rotates, compresses, and mails system logs" -HOMEPAGE="http://www.gentoo.org" -SRC_URI="mirror://gentoo/${P}.tar.bz2" - -LICENSE="GPL-2" -SLOT="0" -KEYWORDS="alpha amd64 arm hppa ia64 ~mips ppc ppc64 s390 sh sparc x86" -IUSE="selinux" - -RDEPEND=" - >=dev-libs/popt-1.5 - selinux? ( sys-libs/libselinux )" - -DEPEND="${RDEPEND} - >=sys-apps/sed-4 - selinux? ( sec-policy/selinux-logrotate )" - -src_unpack() { - unpack ${P}.tar.bz2 - - cd "${S}" - - sed -i \ - -e "s:CFLAGS += -g:CFLAGS += -g ${CFLAGS}:" \ - -e "/CVSROOT =/d" \ - Makefile || die "sed failed" - - epatch "${FILESDIR}"/${P}-dateext-maxage.patch - epatch "${FILESDIR}"/${P}-datehack.patch - epatch "${FILESDIR}"/${P}-ignore-hidden.patch - epatch "${FILESDIR}"/${P}-manpage-fixes.patch - epatch "${FILESDIR}"/${P}-taboo-to-debug.patch - epatch "${FILESDIR}"/${P}-no-tmpdir.patch - epatch "${FILESDIR}"/${P}-weekly.patch -} - -src_compile() { - local myconf - useq selinux && myconf='WITH_SELINUX=yes' - emake ${myconf} || die "emake failed" -} - -src_install() { - insinto /usr - dosbin logrotate - doman logrotate.8 - dodoc examples/logrotate* - - exeinto /etc/cron.daily - doexe "${FILESDIR}"/logrotate.cron - - insinto /etc - doins "${FILESDIR}"/logrotate.conf - - keepdir /etc/logrotate.d -} - -pkg_postinst() { - elog "If you wish to have logrotate e-mail you updates, please" - elog "emerge mail-client/mailx and configure logrotate in" - elog "/etc/logrotate.conf appropriately" - elog - elog "Additionally, /etc/logrotate.conf may need to be modified" - elog "for your particular needs. See man logrotate for details." -} diff --git a/app-admin/logrotate/logrotate-3.7.2.ebuild b/app-admin/logrotate/logrotate-3.7.2.ebuild deleted file mode 100644 index 7e68802a0010..000000000000 --- a/app-admin/logrotate/logrotate-3.7.2.ebuild +++ /dev/null @@ -1,66 +0,0 @@ -# Copyright 1999-2011 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/app-admin/logrotate/logrotate-3.7.2.ebuild,v 1.18 2011/02/06 05:17:33 leio Exp $ - -inherit eutils toolchain-funcs flag-o-matic - -DESCRIPTION="Rotates, compresses, and mails system logs" -HOMEPAGE="http://www.gentoo.org" -SRC_URI="mirror://gentoo/${P}.tar.bz2" - -LICENSE="GPL-2" -SLOT="0" -KEYWORDS="alpha amd64 arm hppa ia64 ~mips ppc ppc64 s390 sh sparc x86 ~x86-fbsd" -IUSE="selinux" - -RDEPEND=" - >=dev-libs/popt-1.5 - selinux? ( sys-libs/libselinux )" - -DEPEND="${RDEPEND} - >=sys-apps/sed-4 - selinux? ( sec-policy/selinux-logrotate )" - -src_unpack() { - unpack ${P}.tar.bz2 - - cd "${S}" - - strip-flags - - sed -i \ - -e "s:CFLAGS += -g:CFLAGS += -g ${CFLAGS}:" \ - -e "/CVSROOT =/d" \ - Makefile || die "sed failed" -} - -src_compile() { - local myconf - myconf="CC=$(tc-getCC)" - useq selinux && myconf="${myconf} WITH_SELINUX=yes" - emake ${myconf} || die "emake failed" -} - -src_install() { - insinto /usr - dosbin logrotate - doman logrotate.8 - dodoc examples/logrotate* - - exeinto /etc/cron.daily - doexe "${FILESDIR}"/logrotate.cron - - insinto /etc - doins "${FILESDIR}"/logrotate.conf - - keepdir /etc/logrotate.d -} - -pkg_postinst() { - elog "If you wish to have logrotate e-mail you updates, please" - elog "emerge virtual/mailx and configure logrotate in" - elog "/etc/logrotate.conf appropriately" - elog - elog "Additionally, /etc/logrotate.conf may need to be modified" - elog "for your particular needs. See man logrotate for details." -} diff --git a/app-admin/logrotate/logrotate-3.7.7.ebuild b/app-admin/logrotate/logrotate-3.7.9-r2.ebuild index b427aded26e2..2810782672e6 100644 --- a/app-admin/logrotate/logrotate-3.7.7.ebuild +++ b/app-admin/logrotate/logrotate-3.7.9-r2.ebuild @@ -1,11 +1,13 @@ -# Copyright 1999-2009 Gentoo Foundation +# Copyright 1999-2011 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/app-admin/logrotate/logrotate-3.7.7.ebuild,v 1.4 2009/10/11 23:33:10 halcy0n Exp $ +# $Header: /var/cvsroot/gentoo-x86/app-admin/logrotate/logrotate-3.7.9-r2.ebuild,v 1.1 2011/04/17 15:01:06 dang Exp $ + +EAPI="2" inherit eutils toolchain-funcs flag-o-matic DESCRIPTION="Rotates, compresses, and mails system logs" -HOMEPAGE="http://www.gentoo.org" +HOMEPAGE="https://fedorahosted.org/logrotate/" SRC_URI="https://fedorahosted.org/releases/l/o/logrotate/${P}.tar.gz" LICENSE="GPL-2" @@ -15,27 +17,29 @@ IUSE="selinux" RDEPEND=" >=dev-libs/popt-1.5 - selinux? ( sys-libs/libselinux )" + selinux? ( + sys-libs/libselinux + sec-policy/selinux-logrotate + )" DEPEND="${RDEPEND} - >=sys-apps/sed-4 - selinux? ( sec-policy/selinux-logrotate )" - -src_unpack() { - unpack ${P}.tar.gz - - cd "${S}" + >=sys-apps/sed-4" +src_prepare() { strip-flags - sed -i \ - -e "/CVSROOT =/d" \ - Makefile || die "sed failed" + epatch \ + "${FILESDIR}"/${PN}-3.7.7-datehack.patch \ + "${FILESDIR}"/${PN}-3.7.7-ignore-hidden.patch \ + "${FILESDIR}"/${PN}-3.7.7-fbsd.patch \ + "${FILESDIR}"/${PN}-3.7.9-atomic-create.patch \ + "${FILESDIR}"/${PN}-3.7.9-shred.patch \ + "${FILESDIR}"/${PN}-3.7.9-statefile.patch \ + "${FILESDIR}"/${PN}-3.7.9-skip-empty-files.patch +} - epatch "${FILESDIR}"/${P}-datehack.patch - epatch "${FILESDIR}"/${P}-ignore-hidden.patch - epatch "${FILESDIR}"/${P}-weekly.patch - epatch "${FILESDIR}"/${P}-fbsd.patch +src_configure() { + return } src_compile() { |