summaryrefslogtreecommitdiffstats
path: root/package/logrotate/patches/logrotate-3.7.1-weekly.patch
diff options
context:
space:
mode:
Diffstat (limited to 'package/logrotate/patches/logrotate-3.7.1-weekly.patch')
-rw-r--r--package/logrotate/patches/logrotate-3.7.1-weekly.patch22
1 files changed, 22 insertions, 0 deletions
diff --git a/package/logrotate/patches/logrotate-3.7.1-weekly.patch b/package/logrotate/patches/logrotate-3.7.1-weekly.patch
new file mode 100644
index 000000000..8a371e8e0
--- /dev/null
+++ b/package/logrotate/patches/logrotate-3.7.1-weekly.patch
@@ -0,0 +1,22 @@
+--- 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: