[packages] logrotate: update to v3.7.8

git-svn-id: svn://svn.openwrt.org/openwrt/packages@17879 3c298f89-4303-0410-b956-a3cf2f4a3e73
This commit is contained in:
nico
2009-10-05 13:28:31 +00:00
parent c9906a4400
commit fd7667f619
7 changed files with 42 additions and 546 deletions

View 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)) >