diff options
Diffstat (limited to 'meta/recipes-extended/logrotate/logrotate/act-as-mv-when-rotate.patch')
-rw-r--r-- | meta/recipes-extended/logrotate/logrotate/act-as-mv-when-rotate.patch | 27 |
1 files changed, 13 insertions, 14 deletions
diff --git a/meta/recipes-extended/logrotate/logrotate/act-as-mv-when-rotate.patch b/meta/recipes-extended/logrotate/logrotate/act-as-mv-when-rotate.patch index 79805b5148..671fce4ac8 100644 --- a/meta/recipes-extended/logrotate/logrotate/act-as-mv-when-rotate.patch +++ b/meta/recipes-extended/logrotate/logrotate/act-as-mv-when-rotate.patch @@ -1,4 +1,4 @@ -From c637948ebab5aff5641700c5cf613321ca0a6e6b Mon Sep 17 00:00:00 2001 +From 17d57a2a923a4af53c8910a9999aebeab3f5d83a Mon Sep 17 00:00:00 2001 From: Robert Yang <liezhi.yang@windriver.com> Date: Tue, 17 Feb 2015 21:08:07 -0800 Subject: [PATCH] Act as the "mv" command when rotate log @@ -9,15 +9,16 @@ read and write. Upstream-Status: Pending Signed-off-by: Robert Yang <liezhi.yang@windriver.com> + --- logrotate.c | 71 ++++++++++++++++++++++++++++++++++++++++++++--------- 1 file changed, 59 insertions(+), 12 deletions(-) diff --git a/logrotate.c b/logrotate.c -index 54dac90..bf3ec23 100644 +index 45b3eb6..231371a 100644 --- a/logrotate.c +++ b/logrotate.c -@@ -1360,6 +1360,53 @@ static int findNeedRotating(struct logInfo *log, int logNum, int force) +@@ -1463,6 +1463,53 @@ static int findNeedRotating(const struct logInfo *log, unsigned logNum, int forc return 0; } @@ -71,7 +72,7 @@ index 54dac90..bf3ec23 100644 /* find the rotated file with the highest index */ static int findLastRotated(const struct logNames *rotNames, const char *fileext, const char *compext) -@@ -1800,15 +1847,15 @@ static int prerotateSingleLog(struct logInfo *log, int logNum, +@@ -1958,15 +2005,15 @@ static int prerotateSingleLog(const struct logInfo *log, unsigned logNum, } message(MESS_DEBUG, @@ -90,7 +91,7 @@ index 54dac90..bf3ec23 100644 oldName, newName, strerror(errno)); hasErrors = 1; } -@@ -1891,21 +1938,21 @@ static int rotateSingleLog(struct logInfo *log, int logNum, +@@ -2051,10 +2098,10 @@ static int rotateSingleLog(const struct logInfo *log, unsigned logNum, return 1; } @@ -104,7 +105,8 @@ index 54dac90..bf3ec23 100644 log->files[logNum], tmpFilename, strerror(errno)); hasErrors = 1; - } +@@ -2063,11 +2110,11 @@ static int rotateSingleLog(const struct logInfo *log, unsigned logNum, + free(tmpFilename); } else { - message(MESS_DEBUG, "renaming %s to %s\n", log->files[logNum], @@ -118,7 +120,7 @@ index 54dac90..bf3ec23 100644 log->files[logNum], rotNames->finalName, strerror(errno)); hasErrors = 1; -@@ -2297,7 +2344,7 @@ static int rotateLogSet(struct logInfo *log, int force) +@@ -2480,7 +2527,7 @@ static int rotateLogSet(const struct logInfo *log, int force) return hasErrors; } @@ -127,16 +129,16 @@ index 54dac90..bf3ec23 100644 { struct logState *p; FILE *f; -@@ -2460,7 +2507,7 @@ static int writeState(const char *stateFilename) +@@ -2659,7 +2706,7 @@ static int writeState(const char *stateFilename) fclose(f); if (error == 0) { - if (rename(tmpFilename, stateFilename)) { + if (mvFile(tmpFilename, stateFilename, log, prev_acl)) { + message(MESS_ERROR, "error renaming temp state file %s to %s: %s\n", + tmpFilename, stateFilename, strerror(errno)); unlink(tmpFilename); - error = 1; - message(MESS_ERROR, "error renaming temp state file %s\n", -@@ -2805,7 +2852,7 @@ int main(int argc, const char **argv) +@@ -3073,7 +3120,7 @@ int main(int argc, const char **argv) rc |= rotateLogSet(log, force); if (!debug) @@ -145,6 +147,3 @@ index 54dac90..bf3ec23 100644 return (rc != 0); } --- -2.18.1 - |